Adicionar um disco permanente a uma VM de TPU
Neste documento, descrevemos como configurar e anexar um disco permanente (DP, na sigla em inglês) a uma VM de TPU.
Visão geral
Uma VM de TPU inclui um disco de inicialização de 100 GB. Para alguns conjuntos de dados, talvez seja necessário aumentar o armazenamento local para treinamento ou pré-processamento. Para treinar esses modelos, adicione um disco permanente para expandir a capacidade do disco local.
É possível adicionar um disco permanente à VM da TPU ao criar a VM ou adicioná-lo após a criação da VM.
Prerequisites
É necessário ter uma conta do GCP e um projeto configurados antes de usar os procedimentos a seguir. Se você ainda não tiver um projeto do Cloud TPU configurado, siga o procedimento em Configurar uma conta e um projeto do Cloud TPU antes de continuar.
Etapas avançadas
As etapas avançadas para configurar um disco permanente com uma VM de TPU são:
- Crie um disco permanente
- Iniciar uma VM de TPU com um disco permanente ou adicionar um disco permanente a uma VM de TPU atual
- Conectar-se por SSH à VM de TPU
- Listar os discos anexados
- Formatar o disco permanente anexado
- Criar um diretório para ativar o disco permanente
- Ativar o disco permanente
- Definir as permissões para o disco permanente
- Limpar recursos de VM e de disco permanente da TPU
Como configurar uma VM de TPU e um disco permanente
Em um Cloud Shell, crie um disco permanente:
$ gcloud compute disks create disk-name \ --size disk-size \ --zone zone \ --type pd-balanced
Descrições de sinalizações de comando
disk-name
- Um nome de sua escolha para o disco permanente.
disk-size
- O tamanho do disco permanente em GB.
zone
- A zona na qual criar o disco permanente. É necessário que seja a mesma zona usada para criar a TPU.
type
- O tipo de disco a ser adicionado. Os tipos compatíveis são: 'pd-standard', 'pd-ssd' ou 'pd-balanced'.
Inicie uma VM de TPU com o disco permanente anexado ou adicione um disco permanente a uma VM de TPU atual.
$ 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
Descrições de sinalizações de comando
tpu-name
- O nome que você escolheu para os recursos da TPU.
project
- O ID do projeto.
zone
- A zona em que você planeja criar a Cloud TPU.
accelerator-type
- O tipo da Cloud TPU a ser criada.
version
- A versão do software do Cloud TPU para seu framework.
data-disk
- O nome e o modo de leitura/gravação do disco permanente a ser anexado à VM de TPU.
Use o comando a seguir para adicionar um disco permanente a uma VM de TPU atual. Consulte a documentação
gcloud
para ver mais detalhes e exemplos.$ gcloud compute tpus tpu-vm attach-disk tpu-name \ --zone=zone \ --disk=disk-name \ --mode=disk-mode
Descrições de sinalizações de comando
tpu-name
- O nome dos recursos da TPU.
zone
- A zona em que a Cloud TPU está localizada.
disk-name
- O nome do disco permanente que será anexado à VM da TPU.
mode
- O modo do disco. O modo precisa ser
read-only
ouread-write
.
Conectar-se por SSH à VM de TPU
$ gcloud compute tpus tpu-vm ssh tpu-name --zone zone
Na VM de TPU, liste os discos anexados à VM:
(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 é o disco de inicialização da VM. O nome do disco permanente anexado depende de quantos discos permanentes estão conectados à VM.
Formate o disco permanente anexado:
(vm)$ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
Crie um diretório para ativar o disco permanente:
(vm)$ sudo mkdir -p /mnt/disks/persist
Ative o disco permanente:
(vm)$ sudo mount -o discard,defaults /dev/sdb /mnt/disks/persist
Defina as permissões do disco permanente:
(vm)$ sudo chmod a+w /mnt/disks/persist
Se você quiser excluir o disco permanente quando excluir a VM de TPU, será necessário definir o estado de exclusão automática desse disco usando o comando a seguir:
$ gcloud alpha compute instances set-disk-auto-delete vm-instance \ --zone=zone \ --auto-delete \ --disk=disk-name
Descrições de sinalizações de comando
vm-instance
- Depois de se conectar por SSH à VM de TPU, o prompt do shell é alterado para incluir o ID do usuário seguido por um nome de instância de VM gerada (por exemplo, pjohnston@t1v-n-...$). Substitua vm-instance pelo nome da instância de VM gerada,
zone
- A zona em que o disco permanente está localizado.
auto-delete
- Exclua automaticamente o disco permanente quando os recursos da TPU forem excluídos.
disk-name
- Um nome de disco permanente.
Se você não quiser que o disco permanente seja excluído automaticamente, ignore este comando. A qualquer momento, é possível usar o comando mostrado em Limpeza para remover manualmente o disco permanente.
Se a VM for desligada por algum motivo, o disco permanente poderá ser desconectado. Consulte Configurar a ativação automática na reinicialização do sistema para fazer com que seu disco permanente seja ativado automaticamente na reinicialização da VM. Para mais informações, consulte Modificar um disco permanente.
Limpar
Desconecte-se da instância do Compute Engine, caso ainda não tenha feito isso:
(vm)$ exit
Agora, o prompt será
username@projectname
, mostrando que você está no Cloud Shell.Exclua os recursos do Cloud TPU e do Compute Engine.
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=zone
Execute
gcloud list
para verificar se os recursos foram excluídos. A exclusão pode levar vários minutos. A saída degcloud list
não pode exibir nenhum dos recursos de VM de TPU criados por este procedimento.VM de TPU
$ gcloud compute tpus tpu-vm list --zone=zone
Nó da TPU
$ gcloud compute tpus execution-groups list --zone zone
Verifique se o disco permanente foi excluído automaticamente quando a VM de TPU foi excluída, listando todos os discos na zona em que o disco permanente foi criado:
$ gcloud compute disks list --filter="zone:( us-central1-b )"
Se o disco permanente não tiver sido excluído quando a VM de TPU foi excluída, use os seguintes comandos para excluí-lo:
$ gcloud compute disks delete disk-name \ --zone zone