Agrega un disco persistente a una VM de TPU

En este documento, se describe cómo configurar y conectar un disco persistente (PD) a una VM de TPU.

Descripción general

Una VM de TPU incluye un disco de arranque de 100 GB. Para algunos conjuntos de datos, es posible que necesites más almacenamiento local para el entrenamiento o el procesamiento previo. Para entrenar estos modelos, puedes agregar un disco persistente a fin de expandir la capacidad de tu disco local.

Puedes agregar un disco persistente a tu VM de TPU cuando crees la VM de TPU o puedes agregar uno después de crear la VM de TPU.

Requisitos previos

Debes tener una cuenta de GCP y un proyecto configurados antes de usar los siguientes procedimientos. Si aún no tienes configurado un proyecto de Cloud TPU, sigue el procedimiento que se describe en Configura una cuenta y un proyecto de Cloud TPU antes de continuar.

Pasos de alto nivel

Los pasos de alto nivel para configurar un disco persistente con una VM de TPU son los siguientes:

  1. Cree un disco persistente
  2. Inicia una VM de TPU con un disco persistente o agrega un disco persistente a una VM de TPU existente.
  3. Conéctese a la VM de TPU
  4. Enumera los discos conectados.
  5. Da formato al disco persistente conectado
  6. Crea un directorio para activar el disco persistente
  7. Activa el disco persistente
  8. Establece permisos para el disco persistente
  9. Limpia recursos de discos persistentes y VM de TPU

Configura una VM de TPU y un disco persistente

  1. En Cloud Shell, cree un disco persistente:

    $ gcloud compute disks create disk-name \
    --size disk-size  \
    --zone zone \
    --type pd-balanced
    

    Descripciones de las marcas de comandos

    disk-name
    Un nombre de tu elección para el disco persistente.
    disk-size
    El tamaño del disco de arranque en GB.
    zone
    Es la zona en la que se crea el disco persistente. Debe ser la misma zona que se usa para crear la TPU.
    type
    Es el tipo de disco que se agregará. Los tipos admitidos son: 'pd-standard' y &33;pd-ssd&o;
  2. Inicia una VM de TPU con el disco persistente conectado o agrega un disco persistente a una VM de TPU existente.

    $ gcloud compute tpus tpu-vm create tpu-name \
    --project project-id \
    --zone=zone \
    --accelerator-type=v3-8 \
    --version=Cloud TPU software version \
    --data-disk source=projects/project-id/zones/zone/disks/disk-name,mode=read-write
    

    Descripciones de las marcas de comandos

    tpu-name
    El nombre que elegiste para los recursos TPU.
    project
    El ID de tu proyecto.
    zone
    Es la zona en la que deseas crear la Cloud TPU.
    accelerator-type
    El tipo de Cloud TPU que se creará.
    version
    La versión de software de Cloud TPU de tu marco de trabajo.
    data-disk
    El nombre y el modo de lectura y escritura del disco persistente que se conectará a la VM de TPU.
    1. Usa el siguiente comando para agregar un disco persistente a una VM de TPU existente. Consulta la documentación de gcloud para obtener más detalles y ejemplos.

      $ gcloud compute tpus tpu-vm attach-disk tpu-name \
       --zone=zone \
       --disk=disk-name \
       --mode=disk-mode
      

      Descripciones de las marcas de comandos

      tpu-name
      El nombre de los recursos TPU.

      zone
      La zona en la que se encuentra el Cloud TPU.

      disk-name
      El nombre del disco persistente que se conectará a la VM de TPU.

      mode
      El modo del disco. El modo debe ser uno de los siguientes: read-only o read-write.

  3. Establece una conexión SSH a la VM de TPU

    $ gcloud compute tpus tpu-vm ssh tpu-name --zone zone
    
  4. En la VM de TPU, enumera los discos conectados a la VM de TPU:

    (vm)$ sudo lsblk
    
    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0     7:0    0  55.5M  1 loop /snap/core18/1997
    loop1     7:1    0  67.6M  1 loop /snap/lxd/20326
    loop2     7:2    0  32.3M  1 loop /snap/snapd/11588
    loop3     7:3    0  32.1M  1 loop /snap/snapd/11841
    loop4     7:4    0  55.4M  1 loop /snap/core18/2066
    sda       8:0    0   300G  0 disk
    ├─sda1    8:1    0 299.9G  0 part /
    ├─sda14   8:14   0     4M  0 part
    └─sda15   8:15   0   106M  0 part /boot/efi
    sdb       8:16   0    10G  0 disk    # persistent disk
    

    sda es el disco de arranque de la VM. El nombre del disco persistente conectado dependerá de la cantidad de discos persistentes conectados a la VM.

  5. Formatea el disco persistente conectado:

    (vm)$ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
    
  6. Crea un directorio para activar el disco persistente:

    (vm)$ sudo mkdir -p /mnt/disks/persist
    
  7. Activa el disco persistente:

    (vm)$ sudo mount -o discard,defaults /dev/sdb /mnt/disks/persist
  8. Configura los permisos del disco persistente:

    (vm)$ sudo chmod a+w /mnt/disks/persist
    
  9. Si quieres borrar el disco persistente cuando borras la VM de TPU, debes configurar el estado de eliminación automática del disco persistente con el siguiente comando:

    $ gcloud alpha compute instances set-disk-auto-delete vm-instance \
     --zone=zone \
     --auto-delete \
     --disk=disk-name
    

    Descripciones de las marcas de comandos

    vm-instance
    Después de establecer una conexión SSH a la VM de TPU, tu solicitud de shell cambia para incluir tu ID de usuario seguido de un nombre de instancia de VM generado (por ejemplo,. pjohnston@t1v-n-...$). Reemplaza vm-instance por el nombre de la instancia de VM generado.
    zone
    Es la zona en la que se encuentra el disco persistente.
    auto-delete
    Borra automáticamente el disco persistente cuando se borren los recursos TPU.
    disk-name
    Un nombre de tu disco persistente

    Si no quieres que el disco persistente se borre automáticamente, omite este comando. En cualquier momento, puedes usar el comando que se muestra en Limpiar para quitar de forma manual el disco persistente.

Si la VM se apaga por algún motivo, es posible que el disco persistente se desconecte. Consulta Cómo configurar la activación automática en el reinicio del sistema para que el disco persistente se active automáticamente cuando se reinicie la VM. Para obtener más información, consulta Modifica un disco persistente.

Realiza una limpieza

  1. Desconéctate de la instancia de Compute Engine, si aún no lo hiciste:

    (vm)$ exit
    

    El mensaje ahora debería mostrar username@projectname, que indica que estás en Cloud Shell.

  2. Borra tus recursos de Cloud TPU y Compute Engine.

    $ gcloud compute tpus tpu-vm delete tpu-name \
     --zone=zone
    
  3. Ejecuta gcloud list para verificar que los recursos se hayan borrado. La eliminación puede tardar varios minutos. En el resultado de gcloud list, no se debe mostrar ninguno de los recursos de VM de TPU que se crearon en este procedimiento.

    VM de TPU

    $ gcloud compute tpus tpu-vm list --zone=zone
    

    Nodo TPU

    $ gcloud compute tpus execution-groups list --zone zone
    
  4. Para verificar que el disco persistente se borró de forma automática cuando se borró la VM de TPU, enumere todos los discos en la zona en la que creó el disco persistente:

    $ gcloud compute disks list --filter="zone:( us-central1-b )"
    

    Si el disco persistente no se borró cuando se borró la VM de TPU, usa los siguientes comandos para borrarlo:

    $ gcloud compute disks delete disk-name \
    --zone zone