Formate e monte um disco não de arranque numa VM do Linux


Se anexou um disco novo e vazio à sua VM, antes de o poder usar, tem de o formatar e montar. Se anexou um disco que já contém dados, tem de montar o disco antes de o poder usar.

Antes de começar

  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Estabeleça ligação à VM

  1. Aceda à página Instâncias de VM.

    Aceda à página de instâncias de VM

  2. Clique no botão SSH junto à instância que tem o novo disco anexado. O navegador abre uma ligação de terminal à VM.

Formate um disco não de arranque numa VM do Linux

  1. No terminal, use o symlink criado para o disco anexado para determinar que dispositivo formatar.

     ls -l /dev/disk/by-id/google-*
    

    Os discos não formatados não têm links simbólicos adicionais com -partN no nome.

     google-extra-scsi-disk -> ../../sdb
     google-instance-2 -> ../../sda
     google-instance-2-part1 -> ../../sda1
     google-instance-2-part14 -> ../../sda14
     google-instance-2-part15 -> ../../sda15
     google-local-nvme-ssd-0 -> ../../nvme0n1
     google-local-nvme-ssd-1 -> ../../nvme0n2
    

    Neste exemplo, o novo disco persistente foi criado com o nome extra-scsi-disk. O nome do dispositivo do novo disco é sdb.

  2. Formate o dispositivo de disco com a ferramenta mkfs. Este comando elimina todos os dados do disco especificado, por isso, certifique-se de que especifica corretamente o dispositivo de disco.

    Pode usar qualquer formato de ficheiro de que necessite, mas recomendamos um único sistema de ficheiros ext4 sem uma tabela de partições. Pode aumentar o tamanho do disco mais tarde sem ter de modificar as partições do disco.

    Para maximizar o desempenho do disco, use as opções de formatação recomendadas com a flag -E. Não é necessário reservar espaço para o volume raiz neste disco secundário, por isso, especifique -m 0 para usar todo o espaço disponível no disco. O comando seguinte formata todo o disco sem uma tabela de partições.

     $ sudo mkfs.FILE_SYSTEM_TYPE -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/DEVICE_NAME
     

    Substitua o seguinte:

    • FILE_SYSTEM_TYPE: o tipo de sistema de ficheiros. Por exemplo, ext2, ext3, ext4 ou xfs.
    • DEVICE_NAME: o nome do dispositivo do disco que está a formatar. Por exemplo, usando o resultado de exemplo do primeiro passo, usaria sdb para o nome do dispositivo.

Monte o disco

  1. Crie um diretório que sirva de ponto de montagem para o novo disco na VM. Pode usar qualquer diretório. O exemplo seguinte cria um diretório em /mnt/disks/.

    $ sudo mkdir -p /mnt/disks/MOUNT_DIR
    

    Substitua MOUNT_DIR pelo diretório no qual montar o disco.

  2. Use a ferramenta de montagem para montar o disco na instância e ative a opção discard:

    $ sudo mount -o discard,defaults /dev/DEVICE_NAME /mnt/disks/MOUNT_DIR
    

    Substitua o seguinte:

    • DEVICE_NAME: o nome do dispositivo do disco a montar.
    • MOUNT_DIR: o diretório no qual montar o disco.
  3. Configure as autorizações de leitura e escrita no disco. Para este exemplo, conceda acesso de escrita ao disco a todos os utilizadores.

    $ sudo chmod a+w /mnt/disks/MOUNT_DIR
    

    Substitua MOUNT_DIR pelo diretório onde montou o disco.

Configure a montagem automática no reinício da VM

Adicione o disco ao ficheiro /etc/fstab para que o disco seja montado automaticamente novamente quando a VM for reiniciada. Nos sistemas operativos Linux, o nome do dispositivo pode mudar com cada reinício, mas o UUID do dispositivo aponta sempre para o mesmo volume, mesmo quando move discos entre sistemas. Por este motivo, recomendamos que use o UUID do dispositivo em vez do nome do dispositivo para configurar a montagem automática no reinício da VM.

  1. Crie uma cópia de segurança do seu ficheiro /etc/fstab atual.

    $ sudo cp /etc/fstab /etc/fstab.backup
    
  2. Use o comando blkid para listar o UUID do disco.

    $ sudo blkid /dev/DEVICE_NAME
    
    /dev/DEVICE_NAME: UUID="a9e1c14b-f06a-47eb-adb7-622226fee060" BLOCK_SIZE="4096"
    TYPE="ext4" PARTUUID="593b3b75-108f-bd41-823d-b7e87d2a04d1"
    

    Substitua o seguinte:

    • 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 adicionando o sufixo anexado ao nome do dispositivo. Por exemplo, se sdb for o nome do dispositivo para o disco, sdb1 pode ser o nome da partição.
  3. Abra o ficheiro /etc/fstab num editor de texto e crie uma entrada que inclua o UUID. Por exemplo:

    UUID=UUID_VALUE /mnt/disks/MOUNT_DIR FILE_SYSTEM_TYPE discard,defaults,MOUNT_OPTION 0 2
    

    Substitua o seguinte:

    • UUID_VALUE: o UUID do disco, indicado no resultado do passo anterior
    • MOUNT_DIR: o diretório onde montou o disco
    • FILE_SYSTEM_TYPE: o tipo de sistema de ficheiros. Por exemplo, ext2, ext3, ext4 ou xfs.
    • MOUNT_OPTION: especifica o que o sistema operativo faz se não conseguir montar o disco persistente zonal no momento do arranque. Para ver valores válidos, consulte O quarto campo na documentação do Linux.fstab Para permitir que o sistema arranque mesmo que o disco esteja indisponível, use a opção nofail mount.
  4. Use o comando cat para verificar se as entradas /etc/fstab estão corretas:

    $ cat /etc/fstab
    
    UUID=6B33-A686 /boot/efi vfat defaults 0 0
    UUID=UUID_VALUE /mnt/disks/MOUNT_DIR FILE_SYSTEM_TYPE discard,defaults,MOUNT_OPTION 0 2
    
    

Mantenha sempre o ficheiro /etc/fstab sincronizado com os dispositivos associados a uma MV. Se quiser desanexar um disco ou criar um instantâneo a partir do disco de arranque de uma VM, edite o ficheiro /etc/fstab e remova a entrada do disco. Mesmo que defina MOUNT_OPTION como nofail ou nobootwait, remova a entrada antes de criar a imagem instantânea do disco de arranque ou desanexar o disco.

O que se segue?