Adicionar um Persistent Disk a uma VM da TPU
Uma VM de TPU inclui um disco de inicialização de 100 GB. Em alguns cenários, a VM da TPU pode precisar armazenamento extra para treinamento ou pré-processamento. É possível adicionar um disco permanente para expandir a capacidade do disco local.
Visão geral
Um Persistent Disk anexado a uma TPU de dispositivo único (v2-8, v3-8, v4-8 etc.) pode ser
configurado como read-write
ou read-only
. Quando você anexa um Persistent Disk a um
VM de TPU que faz parte de um pod de TPU, o disco é anexado a cada VM de TPU
pod. evitar que duas ou mais VMs de TPU de um pod gravem em um Persistent Disk.
de uma só vez, é preciso configurar todos os discos permanentes anexados a uma VM de TPU em um pod
como read-only
. Os discos read-only
são úteis para armazenar um conjunto de dados para processamento
em um pod de TPU.
Depois de criar e anexar um Persistent Disk à VM da TPU, ative o Persistent Disk, especificando em que parte do sistema de arquivos podem ser acessados. Para mais informações, consulte Como montar um disco.
Pré-requisitos
Você precisa ter uma conta do Google Cloud e um projeto configurados antes de usar o procedimentos a seguir. Se você ainda não configurou um projeto do Cloud TPU, Siga o procedimento em Configurar o ambiente do Cloud TPU. antes de continuar.
Etapas avançadas
As etapas gerais para configurar um Persistent Disk:
- Criar um disco permanente
- Anexar um Persistent Disk a uma VM da TPU
- Montar o disco permanente
- Limpe recursos de VM da TPU e de Persistent Disk permanente
Como configurar uma VM de TPU e um Persistent Disk
É possível anexar um Persistent Disk a uma VM da TPU ao criar essa VM. Você pode anexar um Persistent Disk a uma VM de TPU atual.
Criar disco permanente
Use o seguinte comando para criar um Persistent Disk:
$ 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 Persistent Disk.
disk-size
- O tamanho do Persistent Disk em GB.
zone
- A zona em que o Persistent Disk será criado. Isso precisa a mesma zona usada para criar a TPU.
type
- O
de disco a ser adicionado. Os tipos com suporte são:
pd-standard
,pd-ssd
oupd-balanced
.
Anexar um Persistent Disk
É possível anexar um Persistent Disk à VM da TPU ao criar o VM da TPU ou adicione uma após a criação da VM da TPU.
Anexar um Persistent Disk ao criar uma VM da TPU
Use a sinalização --data-disk
para anexar um Persistent Disk ao criar uma VM de TPU.
Se você estiver criando um pod de TPU, especifique mode=read-only
. Se você for
criando um único dispositivo TPU, é possível especificar mode=read-only
ou mode=read-write
.
O comando a seguir cria uma única TPU e define o modo Persistent Disk como
read-write
:
$ gcloud compute tpus tpu-vm create tpu-name \
--project project-id \
--zone=zone \
--accelerator-type=v3-8 \
--version=tpu-vm-image \
--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 para criar o Cloud TPU.
accelerator-type
- O tipo de acelerador especifica a versão e o tamanho do Cloud TPU que você quer criar. Para mais informações sobre os tipos de aceleradores compatíveis com cada versão de TPU, consulte versões de TPU.
version
- O Imagem da VM da TPU para sua estrutura.
data-disk
- O nome e o modo de leitura/gravação do Persistent Disk a ser anexado VM da TPU.
Anexar um Persistent Disk a uma VM da TPU atual
Use o comando gcloud alpha compute tpus tpu-vm attach-disk
para anexar um
Persistent Disk a uma VM da TPU atual. Consulte o gcloud
para mais detalhes e exemplos.
$ gcloud alpha 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 de TPU.
zone
- A zona onde o Cloud TPU está localizado.
disk-name
- O nome do Persistent Disk a ser anexado à VM da TPU.
mode
- O modo do disco. O modo precisa ser
read-only
ouread-write
.
Se você quiser excluir o Persistent Disk ao excluir a VM da TPU, será preciso para definir o estado de exclusão automática do Persistent Disk usando o seguinte comando:
$ gcloud 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 estabelecer conexão SSH com a VM da TPU, o prompt do shell é alterado para incluir seu ID de usuário seguido por um nome de instância de VM gerado (por exemplo, pjohnston@t1v-n-...$). Substitua vm-instance pelo gerado pelo nome da instância de VM,
zone
- A zona na qual o Persistent Disk está localizado.
auto-delete
- Excluir automaticamente o Persistent Disk quando os recursos de TPU forem excluída.
disk-name
- Um nome do seu Persistent Disk.
Se a VM for encerrada por qualquer motivo, o Persistent Disk poderá estar desconectado. Consulte Configurar a montagem automática na reinicialização do sistema para que os Persistent Disk seja montado automaticamente na reinicialização da VM.
Para mais informações sobre a exclusão automática de um Persistent Disk, consulte Modificar um disco permanente.
Montar um Persistent Disk
Para acessar um Persistent Disk por uma VM da TPU, ative o disco. Especifica um local no sistema de arquivos da VM da TPU em que o Persistent Disk podem ser acessados.
Conecte-se à VM da TPU usando SSH:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone zone
Ao trabalhar com um pod de TPU, há uma VM de TPU para cada TPU no pod. O comando anterior vai funcionar para dispositivos de TPU e pods de TPU. Se você for usando pods de TPU, esse comando conectará você à primeira TPU no pod (também chamado worker 0).
Na VM de TPU, liste os discos anexados à VM:
(vm)$ sudo lsblk
A saída do comando
lsblk
será semelhante a esta: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
Neste exemplo,
sda
é o disco de inicialização esdb
é o nome da o Persistent Disk anexado. O nome do Persistent Disk anexado dependerá quantos discos permanentes estão anexados à VM.Ao usar um pod de TPU, será preciso montar o Persistent Disk em todas as TPUs no seu pod. O nome do Persistent Disk deve ser o mesmo VMs de TPU, mas isso não é garantido. Por exemplo, se você separar e depois anexar novamente o Persistent Disk, o nome do dispositivo será incrementado, alterando de
sdb
asdc
.Se o disco não tiver sido formatado, formate o Persistent Disk anexado agora:
(vm)$ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
Crie um diretório para montar o Persistent Disk:
Se você estiver usando um dispositivo TPU, execute o seguinte comando para criar um diretório para montar o Persistent Disk:
(vm)$ sudo mkdir -p /mnt/disks/persist
Se você estiver usando um pod de TPU, execute o comando a seguir fora da VM da TPU. Isso vai criar o diretório em todas as VMs de TPU no pod.
(vm)$ gcloud compute tpus tpu-vm ssh $TPU_NAME --worker=all --command="sudo mkdir -p /mnt/disks/persist"
Monte o Persistent Disk:
Se você estiver usando um dispositivo TPU, execute o seguinte comando para montar o Persistent Disk na VM da TPU.
(vm)$ sudo mount -o discard,defaults /dev/sdb /mnt/disks/persist
Se você estiver usando um pod de TPU, execute o comando a seguir fora do VM da TPU. Isso vai montar o Persistent Disk em todas as VMs de TPU no seu pod.
(vm)$ gcloud compute tpus tpu-vm ssh $TPU_NAME --worker=all --command="sudo mount -o discard,defaults /dev/sdb /mnt/disks/persist"
Limpar
Exclua os recursos de TPU quando terminar de usá-los.
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 da TPU criados por esse procedimento.$ gcloud compute tpus tpu-vm list --zone=zone
Verifique se o Persistent Disk foi excluído automaticamente quando o A VM da TPU foi excluída listando todos os discos na zona em que você criou o Persistent Disk:
$ gcloud compute disks list --filter="zone:( us-central1-b )"
Se o Persistent Disk não tiver sido excluído junto com a VM da TPU, use o seguintes comandos para excluí-lo:
$ gcloud compute disks delete disk-name \ --zone zone