Usar enlaces simbólicos para acceder a discos conectados a una VM Linux


Cuando conectas un disco a una máquina virtual (VM) que usa un SO Linux,Google Cloud crea automáticamente un enlace simbólico (symlink) para el disco. Para acceder a los volúmenes de discos persistentes o a los discos SSD locales de tu máquina virtual Linux, usa los enlaces simbólicos. Estos enlaces simbólicos son predecibles y se mantienen coherentes en los reinicios. Google Cloud crea enlaces simbólicos para todos los discos conectados a una VM en /dev/disk/by-id.

En este documento se explica cómo identificar los enlaces simbólicos correctos de los discos conectados a una VM.

Los enlaces simbólicos se crean en /dev/disk/by-id cuando se conecta un disco a la VM, ya sea durante la creación de la VM o después. Los nombres de los enlaces simbólicos se crean de la siguiente manera:

Persistent Disk y Google Cloud Hyperdisk

Los enlaces simbólicos se crean con las siguientes reglas:

  • Si has especificado un nombre de dispositivo personalizado al crear el disco: google-DEVICE_NAME
  • Si no has especificado un nombre de dispositivo personalizado al crear el disco, sigue estos pasos:
    • Disco de arranque: google-VM_NAME
    • Disco no de arranque: google-DISK_NAME

Después de formatear el disco, el enlace simbólico se añade con -partN, donde N es el número de partición, por ejemplo, google-data-disk-part1.

Discos SSD locales

Los enlaces simbólicos de SSD local tienen formatos diferentes en función de la interfaz del disco.

  • SCSI:
    • Si has especificado un nombre de dispositivo personalizado al crear el disco: google-DEVICE_NAME
    • Si no especificaste un nombre de dispositivo personalizado al crear el disco: google-local-ssd-N, donde N es el número del disco SSD local, empezando por 0.
  • NVMe: los enlaces simbólicos se denominan google-local-nvme-ssd-N, donde N es el número de SSD, que empieza por 0.

Después de formatear un disco SSD local, el enlace simbólico se añade con -partN, donde N es el número de partición (por ejemplo, google-local-nvme-ssd-0-part1).

Enlaces simbólicos de dispositivos

Compute Engine crea enlaces simbólicos adicionales en el directorio en función del tipo de disco y la interfaz, por ejemplo, scsi-0Google_PersistentDisk_DEVICE_NAME. Estos enlaces realizan la misma función que los enlaces simbólicos mencionados anteriormente.

Ejemplo 1: VM C3 con SSD local conectado

Supongamos que ha creado una VM con las siguientes propiedades:

  • Nombre de la VM: instance-1
  • Serie de máquinas: C3
  • Tipo de interfaz de disco: NVMe para discos persistentes y SSD locales
  • Discos adicionales: ninguno
  • Discos SSD locales conectados: 2
  • Nombres de dispositivos personalizados usados: ninguno

Compute Engine crea los siguientes enlaces simbólicos para esa 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

En este ejemplo, el enlace simbólico del disco de arranque del disco persistente es google-instance-1, que se basa en el nombre de la VM. El disco de arranque está formateado y tiene instalado el sistema operativo. El disco de arranque tiene 3 particiones: part1, part14 y part15. Los discos SSD locales conectados no están formateados, por lo que solo se ha creado un enlace simbólico para cada disco SSD local.

Ejemplo 2: VM N2 con SSD local NVMe conectada y disco persistente adicional

Supongamos que ha creado una VM con las siguientes propiedades:

  • Nombre de la VM: instance-2
  • Serie de máquinas: N2
  • Tipo de interfaz de disco: SCSI para discos persistentes y NVMe para SSDs locales
  • Discos adicionales: 1 disco persistente llamado extra-scsi-disk
  • Discos SSD locales conectados: 2
  • Nombres de dispositivos personalizados usados: ninguno

Se crean los siguientes enlaces simbólicos para esa 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

En este ejemplo, el enlace simbólico del disco de arranque del disco persistente es google-instance-2, que se basa en el nombre de la VM. El disco de arranque está formateado y tiene instalada la imagen del SO. El disco de arranque tiene 3 particiones: part1, part14 y part15. El primer disco SSD local también se particiona con una sola partición, por lo que se crea un enlace simbólico adicional para esa partición de disco. El disco persistente adicional añadido a la VM tiene el enlace simbólico google-extra-scsi-disk, que se basa en el nombre del disco. El disco persistente adicional y el segundo disco SSD local no están formateados, por lo que solo se muestra un enlace simbólico para esos discos.

Siguientes pasos