Ajouter un disque persistant à une VM TPU

Ce document explique comment configurer et associer un disque persistant à une VM TPU.

Présentation

Une VM TPU inclut un disque de démarrage de 100 Go. Pour certains ensembles de données, vous aurez peut-être besoin d'un espace de stockage local plus important pour l'entraînement ou le prétraitement. Pour entraîner ces modèles, vous pouvez ajouter un disque persistant afin d'augmenter la capacité de votre disque local.

Vous pouvez ajouter un disque persistant à votre VM TPU lors de la création de la VM TPU, ou vous pouvez en ajouter un après la création de la VM TPU.

Prerequisites

Vous devez disposer d'un compte et d'un projet GCP avant d'utiliser les procédures suivantes. Si vous n'avez pas encore configuré de projet Cloud TPU, suivez la procédure décrite dans la section Configurer un compte et un projet Cloud TPU avant de continuer.

Étapes majeures

Voici les principales étapes à suivre pour configurer un disque persistant avec une VM TPU :

  1. Créer un disque persistant
  2. Lancer une VM TPU avec un disque persistant ou ajouter un disque persistant à une VM TPU existante
  3. Connection SSH à la VM TPU
  4. Répertorier les disques associés
  5. Formater le disque persistant associé
  6. Créer un répertoire pour installer le disque persistant
  7. Installer le disque persistant
  8. Définir des autorisations pour le disque persistant
  9. Nettoyer la VM TPU et les ressources de disque persistant

Configurer une VM TPU et un disque persistant

  1. Dans Cloud Shell, créez un disque persistant :

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

    Description des options de commande

    disk-name
    Nom de votre choix pour le disque persistant.
    disk-size
    Taille du disque de démarrage en Go.
    zone
    Zone dans laquelle créer le disque persistant. Cette zone doit être la même que celle utilisée pour créer le TPU.
    type
    Type de disque à ajouter. Les types compatibles sont "pd-standard", "pd-ssd" ou "pd-balancing".
  2. Lancez une VM TPU avec le disque persistant associé ou ajoutez un disque persistant à une VM TPU existante.

    $ 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
    

    Description des options de commande

    tpu-name
    Nom que vous avez choisi pour les ressources TPU.
    project
    ID de votre projet.
    zone
    Zone dans laquelle vous prévoyez de créer votre Cloud TPU.
    accelerator-type
    Type du Cloud TPU à créer.
    version
    Version du logiciel Cloud TPU pour votre framework.
    data-disk
    Nom et mode lecture/écriture du disque persistant à associer à la VM TPU.
    1. Utilisez la commande suivante pour ajouter un disque persistant à une VM TPU existante. Pour en savoir plus et obtenir des exemples, consultez la documentation sur gcloud.

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

      Description des options de commande

      tpu-name
      Nom des ressources TPU.

      zone
      Zone où se trouve le Cloud TPU.

      disk-name
      Nom du disque persistant à associer à la VM TPU.

      mode
      Mode du disque. Le mode doit être l'un des suivants : read-only ou read-write.

  3. Connection SSH à la VM TPU

    $ gcloud compute tpus tpu-vm ssh tpu-name --zone zone
    
  4. À partir de la VM TPU, répertoriez les disques associés à la VM 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 est le disque de démarrage de la VM. Le nom du disque persistant associé dépend du nombre de disques persistants associés à la VM.

  5. Formatez le disque persistant associé :

    (vm)$ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
    
  6. Créez un répertoire pour installer le disque persistant :

    (vm)$ sudo mkdir -p /mnt/disks/persist
    
  7. Installez le disque persistant :

    (vm)$ sudo mount -o discard,defaults /dev/sdb /mnt/disks/persist
  8. Définissez les autorisations pour le disque persistant :

    (vm)$ sudo chmod a+w /mnt/disks/persist
    
  9. Si vous souhaitez supprimer le disque persistant lorsque vous supprimez la VM TPU, vous devez définir l'état de suppression automatique du disque persistant à l'aide de la commande suivante :

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

    Description des options de commande

    vm-instance
    Une fois que vous êtes connecté en SSH à la VM TPU, votre invite de Cloud Shell affiche votre ID utilisateur suivi d'un nom d'instance de VM généré (par exemple, pjohnston@t1v-n-...$). Remplacez vm-instance par le nom de l'instance de VM généré.
    zone
    Zone dans laquelle se trouve le disque persistant.
    auto-delete
    Supprime automatiquement le disque persistant lorsque les ressources TPU sont supprimées.
    disk-name
    Nom de votre disque persistant.

    Si vous ne souhaitez pas que le disque persistant soit supprimé automatiquement, ignorez cette commande. Vous pouvez à tout moment utiliser la commande affichée dans Cleanup (Nettoyage) pour supprimer manuellement le disque persistant.

Si votre VM s'arrête pour une raison quelconque, le disque persistant peut être déconnecté. Consultez la section Configurer l'installation automatique au redémarrage du système pour que votre disque persistant s'installe automatiquement au redémarrage de la VM. Pour en savoir plus, consultez la section Modifier un disque persistant.

Effectuer un nettoyage

  1. Déconnectez-vous de l'instance Compute Engine, si vous ne l'avez pas déjà fait :

    (vm)$ exit
    

    Votre invite devrait maintenant être username@projectname, indiquant que vous êtes dans Cloud Shell.

  2. Supprimez vos ressources Cloud TPU et Compute Engine.

    $ gcloud compute tpus tpu-vm delete tpu-name \
     --zone=zone
    
  3. Vérifiez que les ressources ont été supprimées en exécutant la commande gcloud list. La suppression peut prendre plusieurs minutes. Le résultat de gcloud list ne doit afficher aucune des ressources de VM TPU créées par cette procédure.

    VM TPU

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

    Nœud TPU

    $ gcloud compute tpus execution-groups list --zone zone
    
  4. Vérifiez que le disque persistant a été automatiquement supprimé lors de la suppression de la VM TPU. Pour ce faire, répertoriez tous les disques de la zone dans laquelle vous avez créé le disque persistant :

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

    Si le disque persistant n'a pas été supprimé lors de la suppression de la VM TPU, exécutez les commandes suivantes pour le supprimer :

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