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 :
- Créer un disque persistant
- Lancer une VM TPU avec un disque persistant ou ajouter un disque persistant à une VM TPU existante
- Connection SSH à la VM TPU
- Répertorier les disques associés
- Formater le disque persistant associé
- Créer un répertoire pour installer le disque persistant
- Installer le disque persistant
- Définir des autorisations pour le disque persistant
- Nettoyer la VM TPU et les ressources de disque persistant
Configurer une VM TPU et un disque persistant
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".
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.
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
ouread-write
.
Connection SSH à la VM TPU
$ gcloud compute tpus tpu-vm ssh tpu-name --zone zone
À 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.
Formatez le disque persistant associé :
(vm)$ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
Créez un répertoire pour installer le disque persistant :
(vm)$ sudo mkdir -p /mnt/disks/persist
Installez le disque persistant :
(vm)$ sudo mount -o discard,defaults /dev/sdb /mnt/disks/persist
Définissez les autorisations pour le disque persistant :
(vm)$ sudo chmod a+w /mnt/disks/persist
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
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.Supprimez vos ressources Cloud TPU et Compute Engine.
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=zone
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 degcloud 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
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