Agrega un disco persistente a una VM de TPU

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

Descripción general

Una VM de TPU incluye un disco de arranque de 100 GB. Es posible que, en algunos conjuntos de datos, 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 del disco local.

Requisitos previos

Debes tener una cuenta de GCP y un proyecto configurado antes de usar los siguientes procedimientos. Si aún no tienes configurado un proyecto de Cloud TPU, sigue el procedimiento que se indica 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. Crea un disco persistente
  2. Inicia una VM de TPU con un disco persistente
  3. Cómo conectarse a la VM de TPU mediante SSH
  4. Enumera los discos conectados
  5. Formatea el disco persistente conectado
  6. Cree un directorio para activar el disco persistente
  7. Activa el disco persistente
  8. Configura permisos para el disco persistente
  9. Limpia la VM de TPU y los recursos de disco persistente

Configura una VM de TPU y un disco persistente

  1. En Cloud Shell, crea 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 que elijas para el disco persistente.
    disk-size
    El tamaño del disco persistente en GB.
    zone
    La zona en la que se crea el disco persistente. Debe ser la misma zona que se usó para crear la TPU.
    type
    Es el tipo de disco que se agregará. Los tipos admitidos son “pd-standard”, “pd-ssd” o “pd-balanceado”.
  2. Inicia una VM de TPU con el disco persistente conectado:

    $ gcloud alpha compute tpus tpu-vm create tpu-name \
    --project project-id \
    --zone=zone \
    --accelerator-type=v3-8 \
    --version=v2-alpha \
    --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 de TPU.
    project
    El ID de tu proyecto.
    zone
    La zona en la que planeas crear tu Cloud TPU.
    accelerator-type
    El tipo de Cloud TPU que se creará.
    version
    La versión del entorno de ejecución de Cloud TPU.
    data-disk
    El nombre y el modo de lectura/escritura del disco persistente para conectar a la VM de TPU.
  3. Establece una conexión SSH a la VM de TPU

    $ gcloud alpha compute tpus tpu-vm ssh tpu-name --zone zone
    
  4. Desde 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 adjunto dependerá de la cantidad de discos persistentes conectados a la VM.

  5. Formatea el disco persistente adjunto:

    (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. Establece los permisos para el disco persistente:

    (vm)$ sudo chmod a+w /mnt/disks/persist
    
  9. Si deseas borrar el disco persistente cuando borras la VM de TPU, debes establecer el estado de eliminación automática del disco persistente mediante 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, la solicitud de shell cambia para incluir el ID de usuario seguido del nombre de la instancia de VM generada (por ejemplo). juanperez@t1v-n-...$). Reemplaza vm-instance por el nombre de instancia de VM generado,
    zone
    La zona en la que se encuentra el disco persistente.
    auto-delete
    Borra automáticamente el disco persistente cuando se borran los recursos TPU.
    disk-name
    Un nombre de disco persistente.

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

Si la VM se cierra por algún motivo, el disco persistente puede desconectarse. Consulta Configura la activación automática cuando se reinicia el sistema para que tu disco persistente se active de forma automática cuando se reinicie la VM. Consulta el documento del disco persistente para obtener detalles sobre cómo administrar discos persistentes.

Limpia

  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 los recursos de Cloud TPU y Compute Engine.

    $ gcloud alpha 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 tomar varios minutos. El resultado de gcloud list no debería mostrar ninguno de los recursos de VM de TPU creados por este procedimiento.

    VM de TPU

    $ gcloud alpha 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 la VM de TPU se borró, enumera todos los discos en la zona en la que creaste 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