Usar links simbólicos para acessar discos anexados a uma VM do Linux


Quando você anexa um disco a uma máquina virtual (VM) que usa um SO Linux, oGoogle Cloud cria automaticamente um link simbólico para o disco. Para acessar volumes de Disco permanente ou discos SSD locais na VM do Linux, use os links simbólicos. Esses links simbólicos são previsíveis e permanecem consistentes durante as reinicializações. OGoogle Cloud cria links simbólicos para todos os discos anexados a uma VM em /dev/disk/by-id.

Neste documento, explicamos como identificar os links simbólicos corretos para os discos anexados a uma VM.

Os links simbólicos são criados em /dev/disk/by-id quando um disco é anexado à VM, durante ou após a criação da VM. Os nomes dos links simbólicos são criados da seguinte maneira:

Disco permanente e hiperdisco do Google Cloud

Os links simbólicos são criados usando as seguintes regras:

  • Se você especificou um nome de dispositivo personalizado quando criou o disco: google-DEVICE_NAME
  • Se você não especificou um nome de dispositivo personalizado ao criar o disco:
    • Disco de inicialização: google-VM_NAME
    • Disco que não é de inicialização: google-DISK_NAME

Depois de formatar o disco, o link simbólico é anexado com -partN, em que N é o número da partição, por exemplo, google-data-disk-part1.

Discos SSD locais

Os links simbólicos do SSD local têm formatos diferentes, dependendo da interface do disco.

  • SCSI:
    • Se você especificou um nome de dispositivo personalizado quando criou o disco: google-DEVICE_NAME
    • Se você não especificou um nome de dispositivo personalizado ao criar o disco: google-local-ssd-N, em que N é o número do disco SSD local, começando em 0.
  • NVMe: os links simbólicos são chamados de google-local-nvme-ssd-N, em que N é o número do SSD, começando em 0.

Depois de formatar um disco SSD local, o link simbólico será anexado com -partN, em que N é o número da partição, por exemplo, google-local-nvme-ssd-0-part1.

Links simbólicos do dispositivo

O Compute Engine cria outros links simbólicos no diretório com base no tipo de disco e na interface, por exemplo, scsi-0Google_PersistentDisk_DEVICE_NAME. Esses links executam a mesma função que os links simbólicos mencionados anteriormente.

Exemplo 1: VM C3 com SSD local anexado

Suponha que você tenha criado uma VM com as seguintes propriedades:

  • Nome da VM: instance-1
  • Série das máquinas: C3
  • Tipo de interface do disco: NVMe para disco permanente e SSD local
  • Discos adicionais: nenhum
  • Discos SSD locais anexados: 2
  • Nomes de dispositivos personalizados usados: nenhum

O Compute Engine cria os seguintes links simbólicos para essa VM:

ls -l /dev/disk/by-id/google-*
google-instance-1 -> ../../nvme2n1
google-instance-1-part1 -> ../../nvme2n1p1
google-instance-1-part14 -> ../../nvme2n1p14
google-instance-1-part15 -> ../../nvme2n1p15
google-local-nvme-ssd-0 -> ../../nvme0n1
google-local-nvme-ssd-1 -> ../../nvme1n1

Neste exemplo, o link simbólico do disco de inicialização do disco permanente é google-instance-1, que é baseado no nome da VM. O disco de inicialização é formatado e tem o sistema operacional instalado. O disco de inicialização tem três partições: parte 1, parte 14 e parte 15. Os discos SSD locais anexados não estão formatados. Por isso, apenas um link simbólico foi criado para cada disco SSD local.

Exemplo 2: VM N2 com SSD local NVMe anexado e disco permanente extra

Suponha que você tenha criado uma VM com as seguintes propriedades:

  • Nome da VM: instance-2
  • Série das máquinas: N2
  • Tipo de interface do disco: SCSI para Persistent Disk e NVMe para SSD local
  • Discos adicionais: um disco permanente chamado extra-scsi-disk
  • Discos SSD locais anexados: 2
  • Nomes de dispositivos personalizados usados: nenhum

Os links simbólicos a seguir são criados para essa VM:

ls -l /dev/disk/by-id/google-*
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-0-part1 -> ../../nvme0n1p1
google-local-nvme-ssd-1 -> ../../nvme0n2

Neste exemplo, o link simbólico do disco de inicialização do disco permanente é google-instance-2, que é baseado no nome da VM. O disco de inicialização é formatado e tem a imagem do SO instalada. O disco de inicialização tem três partições: parte 1, parte 14 e parte 15. O primeiro disco SSD local também é particionado com uma única partição. Portanto, há um link simbólico adicional criado para essa partição de disco. O disco permanente extra adicionado à VM tem o link simbólico google-extra-scsi-disk, que é baseado no nome do disco. O disco permanente extra e o segundo disco SSD local não estão formatados. Portanto, somente um link simbólico é listado para esses discos.

A seguir