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 comprend un disque de démarrage de 100 Go. Pour certains ensembles de données, vous aurez peut-être besoin de plus d'espace de stockage local 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.

Prérequis

Vous devez disposer d'un compte et d'un projet GCP avant d'utiliser les procédures ci-dessous. 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

Les étapes générales pour configurer un disque persistant avec une VM TPU sont les suivantes:

  1. Créer un disque persistant
  2. Lancer une VM TPU avec un disque persistant
  3. Se connecter en 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 persistant en Go.
    zone
    Zone dans laquelle créer le disque persistant. Il doit s'agir de la même zone que celle utilisée pour créer le TPU.
    type
    Type de disque à ajouter. Les types compatibles sont les suivants: "pd-standard", "pd-ssd" ou "pd-équilibré".
  2. Lancez une VM TPU associée au disque persistant:

    $ 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
    

    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 d'exécution de Cloud TPU.
    data-disk
    Nom et mode de lecture/écriture du disque persistant à associer à la VM TPU.
  3. Se connecter en SSH à la VM TPU

    $ gcloud alpha compute tpus tpu-vm ssh tpu-name --zone zone
    
  4. Depuis 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 d'interface système est modifiée pour inclure votre ID utilisateur suivi d'un nom d'instance de VM généré (par exemple). pjeanston@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
    Supprimez 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 utiliser la commande affichée dans Cleanup à tout moment 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. Reportez-vous à la section Disques persistants pour en savoir plus sur leur gestion.

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 alpha compute tpus tpu-vm delete tpu-name \
     --zone=zone
    
  3. Vérifiez que les ressources ont été supprimées en exécutant 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 alpha 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 en répertoriant tous les disques dans la zone où vous l'avez créé:

    $ 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