Crie e anexe um disco que não seja de arranque à sua máquina virtual (VM) através das instruções nesta página.
Antes de começar
Para usar os comandos da gdcloud interface de linhas de comando (CLI), certifique-se de que transferiu, instalou e configurou a CLI gdcloud.
Todos os comandos para a nuvem distribuída usam a CLI gdcloud ou kubectl e requerem um ambiente de sistema operativo (SO).
Obtenha o caminho do ficheiro kubeconfig
Para executar comandos no servidor da API Management, certifique-se de que tem os seguintes recursos:
- Inicie sessão e gere o ficheiro kubeconfig para o servidor da API Management, se não tiver um. 
- Use o caminho para o ficheiro kubeconfig do servidor da API de gestão para substituir - MANAGEMENT_API_SERVERnestas instruções.
Peça autorizações e acesso
Para realizar as tarefas indicadas nesta página, tem de ter a função de administrador da máquina virtual do projeto. Siga os passos para
validar
 que tem a função de administrador de máquinas virtuais do projeto (project-vm-admin) no espaço de nomes
do projeto onde a VM reside.
Para operações de VM que usam a consola do GDC ou a CLI gdcloud,
peça ao administrador de IAM do projeto para lhe atribuir a função de administrador de máquinas virtuais do projeto e a função de visualizador do projeto (project-viewer).
Anexe um disco a uma VM
Crie e anexe discos que não sejam de arranque à sua VM. Cada disco adicional pode especificar uma imagem personalizada ou um disco em branco. Pode adicionar vários discos em simultâneo a uma VM.
Consola
- No menu de navegação, clique em Máquinas virtuais > Instâncias. 
- Na lista de VMs, clique no nome de uma VM para ver os respetivos detalhes. 
- Clique em Adicionar novo disco. 
- Na caixa de diálogo de confirmação, clique em Parar para parar a VM. 
- Aguarde alguns minutos até que a VM seja parada. 
- Clique em Atualizar. 
- Quando a VM estiver num estado parado, clique novamente em Adicionar novo disco. 
- Na caixa de diálogo Adicionar disco, escolha um disco novo ou um disco existente. - Para aprovisionar um novo disco, clique no separador Novo disco. - No campo Nome do disco, introduza um novo nome de disco exclusivo para o projeto.
- No campo Tamanho, introduza um tamanho do disco entre 10 e 65 536 GiB. Por exemplo, 10 GiB.
- Na secção Regra de eliminação, clique em Manter disco ou Eliminar disco.
 
- Para escolher um disco existente, clique no separador Disco existente. - Na lista Disco, selecione um disco.
- Na secção Regra de eliminação, clique em Manter disco ou Eliminar disco.
 
 
- Clique em Guardar. O disco aparece na lista de discos da VM. 
API
- Crie um - VirtualMachineDisk:- kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: NON_BOOT_BLANK_DISK spec: size: NON_BOOT_BLANK_DISK_SIZE EOF
- Adicione o - VirtualMachineDiskao- VirtualMachine- spec.disksexistente:- kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME- Edite o seguinte no editor de texto: - # … disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true - virtualMachineDiskRef: name: NON_BOOT_BLANK_DISK autoDelete: false # …- Substitua as variáveis com as seguintes definições. - Variável - Definição - MANAGEMENT_API_SERVER- O ficheiro kubeconfig do servidor da API Management. - PROJECT- O projeto do Google Distributed Cloud air-gapped (GDC) no qual criar a VM. - VM_NAME- O nome da nova VM. - VM_BOOT_DISK_NAME- O nome do disco de arranque da VM - NON_BOOT_BLANK_DISK- O nome do seu disco adicional. - NON_BOOT_BLANK_DISK_SIZE- O tamanho dos seus discos adicionais, como - 20G.
Formate e monte um disco não inicializável
Depois de anexar um disco à VM, execute os passos necessários seguintes para o tornar acessível na VM.
Estabeleça ligação à VM
Formate o disco
- Liste os discos associados à sua instância por número de série e localize o disco que quer formatar e montar. - ls -l /dev/disk/by-id/- Este exemplo de resultado mostra os nomes dos discos como números de série: - total 0 lrwxrwxrwx 1 root root 9 Sep 13 23:51 ata-QEMU_HARDDISK_agentSADisk -> ../../sdc lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-0ATA_QEMU_HARDDISK_agentSADisk -> ../../sdc lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-0QEMU_QEMU_HARDDISK_vm-disk-boot -> ../../sda lrwxrwxrwx 1 root root 10 Sep 13 23:51 scsi-0QEMU_QEMU_HARDDISK_vm-disk-boot-part1 -> ../../sda1 lrwxrwxrwx 1 root root 11 Sep 13 23:51 scsi-0QEMU_QEMU_HARDDISK_vm-disk-boot-part14 -> ../../sda14 lrwxrwxrwx 1 root root 11 Sep 13 23:51 scsi-0QEMU_QEMU_HARDDISK_vm-disk-boot-part15 -> ../../sda15 lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-0QEMU_QEMU_HARDDISK_vm-disk-data -> ../../sdb lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-1ATA_QEMU_HARDDISK_agentSADisk -> ../../sdc lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-SATA_QEMU_HARDDISK_agentSADisk -> ../../sdc lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-SQEMU_QEMU_HARDDISK_vm-disk-boot -> ../../sda lrwxrwxrwx 1 root root 10 Sep 13 23:51 scsi-SQEMU_QEMU_HARDDISK_vm-disk-boot-part1 -> ../../sda1 lrwxrwxrwx 1 root root 11 Sep 13 23:51 scsi-SQEMU_QEMU_HARDDISK_vm-disk-boot-part14 -> ../../sda14 lrwxrwxrwx 1 root root 11 Sep 13 23:51 scsi-SQEMU_QEMU_HARDDISK_vm-disk-boot-part15 -> ../../sda15 lrwxrwxrwx 1 root root 9 Sep 13 23:51 scsi-SQEMU_QEMU_HARDDISK_vm-disk-data -> ../../sdb- As informações que seguem a seta, - ->, em cada linha indicam o nome do dispositivo de disco. Por exemplo, em- scsi-SQEMU_QEMU_HARDDISK_vm-disk-data -> ../../sdb, o número de série é- scsi-SQEMU_QEMU_HARDDISK_vm-disk-datae o nome do dispositivo é- sdb.
- Identifique o número de série do disco nesta lista. - Comportamento importante das funcionalidades situacionais que pode afetar a lista de números de série: - Se o valor virtualMachineDiskRef.nametiver mais de 20 carateres, apenas os primeiros 20 carateres são usados como o número de série.
- Se existirem dois discos com os mesmos primeiros 20 carateres, apenas o primeiro disco tem um número de série.
 
- Se o valor 
- Formate o disco: 
   sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/disk/by-id/DISK_ID
- Substitua DISK_IDpelo número de série do disco que está a formatar.
- Para este exemplo, especifique scsi-SQEMU_QEMU_HARDDISK_vm-disk-datapara formatar todo o disco sem uma tabela de partições.
Para maximizar o desempenho do disco, use as opções de formatação recomendadas na flag -E. Como não precisa de reservar espaço para o volume raiz no disco secundário, especifique -m 0 para usar todo o espaço disponível no disco.
Monte o disco
- Crie um diretório que sirva como ponto de montagem para o novo disco. Pode usar qualquer diretório. O exemplo seguinte cria um diretório em - /mnt/disks/:- sudo mkdir -p /mnt/disks/MOUNT_DIR- Substitua - MOUNT_DIRpelo diretório onde quer montar o disco.
- Monte o disco na instância e ative a opção de rejeição: - sudo mount -o discard,defaults /dev/disk/by-id/DISK_ID /mnt/disks/MOUNT_DIR- Substitua o seguinte: - DISK_IDcom o número de série do disco a montar.
- MOUNT_DIRcom o diretório onde quer montar o disco.
 
- Opcional: configure as autorizações de leitura e escrita no disco. O comando seguinte concede acesso de escrita, - a+w, ao disco a todos os utilizadores.- sudo chmod a+w /mnt/disks/MOUNT_DIR
- Opcional: configure a montagem automática no reinício da VM: use o identificador único universal (UUID) ou o script de arranque. 
Configure a montagem automática no reinício da VM: UUID do disco
Adicione o disco ao ficheiro /etc/fstab para que o disco seja montado automaticamente novamente quando a VM for reiniciada. Num sistema operativo (SO), o nome do dispositivo
muda com cada reinício, mas o UUID do dispositivo aponta sempre para o mesmo volume,
mesmo quando move discos entre sistemas. Por conseguinte, use sempre o UUID do dispositivo para configurar a montagem automática no reinício da VM.
- Crie uma cópia de segurança do seu ficheiro - /etc/fstabatual:- sudo cp /etc/fstab /etc/fstab.backup
- Indique o UUID do disco: - sudo blkid /dev/DEVICE_NAME- O resultado de exemplo mostra o UUID de - accc19c5-d0d6-4157-9672-37d4e1d48eb5para o disco- /dev/sdb: UUID="accc19c5-d0d6-4157-9672-37d4e1d48eb5" TYPE="ext4"- DEVICE_NAMEé o nome do dispositivo do disco que quer montar automaticamente. Se criou uma tabela de partições no disco, especifique a partição que quer montar como um sufixo do nome do dispositivo. Por exemplo, se- sdbfor o nome do dispositivo de disco e quiser montar a partição 1,- DEVICE_NAMEtorna-se- sdb1.
- Abra o ficheiro - /etc/fstabnum editor de texto e crie uma entrada que inclua o UUID:- UUID=UUID_VALUE /mnt/disks/MOUNT_DIR ext4 discard,defaults,MOUNT_OPTION 0 2- Substitua o seguinte: - UUID_VALUEcom o disco- UUID, indicado como resultado do comando List the UUID.
- MOUNT_DIRcom o diretório onde montou o disco.
- MOUNT_OPTIONcom o valor- MOUNT_OPTIONpara o seu SO, que especifica o que o SO faz se não conseguir montar o disco no momento do arranque.
 
- Verifique se as entradas - /etc/fstabestão corretas:- cat /etc/fstab- Segue-se um exemplo de resultado: - LABEL=cloudimg-rootfs / ext4 defaults 0 1 LABEL=UEFI /boot/efi vfat umask=0077 0 1 UUID=UUID_VALUE /mnt/disks/MOUNT_DIR ext4 discard,defaults,MOUNT_OPTION 0 2
Se desanexar este disco ou criar um instantâneo a partir do disco de arranque desta VM,
edite o ficheiro /etc/fstab e remova a entrada para este disco. Mesmo que tenha
MOUNT_OPTION definido como nofail ou nobootwait, mantenha o ficheiro /etc/fstab
sincronizado com os dispositivos associados à sua MV. Remova estas entradas
antes de criar o instantâneo do disco de arranque ou desassociar o disco.
Configure a montagem automática no reinício da VM: script de arranque da VM
Também pode usar um script de arranque para montar o disco em cada reinício adicionando os comandos de Montar o disco a um script de arranque. Antes de adicionar o script para montar o disco, formate-o com os comandos de Formatar o disco.
- Crie o Secret do script de arranque. - cat <<EOF >>mount-disk-script #!/bin/bash mkdir -p /mnt/disks/MOUNT_DIR mount -o discard,defaults /dev/disk/by-id/DISK_ID /mnt/disks/MOUNT_DIR EOF- kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ create secret generic VM_NAME-mount-script \ --from-file=script=mount-disk-script- rm mount-disk-script
- Adicione o script de arranque à VM. - kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME- Edite o - spec.startupScriptspara incluir o nome secreto.- apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachine metadata: name: VM_NAME namespace: PROJECT spec: # … startupScripts: - name: mount-script scriptSecretRef: name: VM_NAME-mount-script
Para mais informações sobre a configuração de scripts de arranque, consulte.