Utilice enlaces simbólicos para acceder a los discos conectados a una máquina virtual Linux


Cuando conecta un disco a una máquina virtual (VM) que utiliza un sistema operativo Linux,Google Cloud crea automáticamente un enlace simbólico (enlace simbólico) para el disco. Para acceder a volúmenes de discos persistentes o discos SSD locales en su máquina virtual Linux, utilice los enlaces simbólicos. Estos enlaces simbólicos son predecibles y permanecen consistentes tras los reinicios.Google Cloud crea enlaces simbólicos para todos los discos conectados a una VM en /dev/disk/by-id .

Este documento explica cómo identificar los enlaces simbólicos correctos para los discos conectados a una VM.

Limitaciones

Si conecta discos SSD locales a una máquina virtual C3 o C3D , es posible que deba realizar pasos adicionales para crear los enlaces simbólicos para los discos SSD locales. Estos pasos solo son necesarios si utiliza cualquiera de las siguientes imágenes públicas ofrecidas por Google Cloud:

  • SLES 15 SP4 y SP5
  • SLES 12 SP4

Estos pasos adicionales sólo se aplican a los discos SSD locales; No necesita hacer nada con los volúmenes de disco persistente.

Las imágenes públicas de la lista anterior no tienen los enlaces simbólicos SSD locales en formato /dev/disk/by-id/google-local-nvme-ssd- N . En estas imágenes solo existen enlaces simbólicos que utilizan la información del dispositivo, por ejemplo nvme-nvme.1ae0-6e766d655f636172642d7064-6e766d655f636172642d7064-00000001 .

Para obtener enlaces simbólicos fáciles de usar para estas imágenes de Linux, debe actualizar las reglas udev y agregar un script a la instancia.

Para obtener instrucciones sobre cómo actualizar las reglas de udev para admitir enlaces simbólicos para discos SSD locales en C3 y C3D, consulte Solución de problemas de discos NVMe .

Como alternativa al uso de enlaces simbólicos, puede acceder a los discos SSD locales en las máquinas virtuales utilizando los nombres de sus dispositivos , por ejemplo, /dev/nvme0n1 .

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

Disco persistente y hiperdisco de Google Cloud

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

  • Si especificaste un nombre de dispositivo personalizado cuando creaste el disco: google- DEVICE_NAME
  • Si no especificó un nombre de dispositivo personalizado cuando creó el disco:
    • Disco de arranque: google- VM_NAME
    • Disco que no es de arranque: google- DISK_NAME

Después de formatear el disco, al enlace simbólico se le agrega -part N , donde N es el número de partición, por ejemplo google-data-disk-part1 .

Discos SSD locales

Los enlaces simbólicos SSD locales tienen diferentes formatos según la interfaz del disco.

  • SCSI: los enlaces simbólicos se denominan google-local-ssd- N , donde N es el número del disco SSD local, comenzando desde 0.
  • NVMe: los enlaces simbólicos se denominan google-local-nvme-ssd- N , donde N es el número de SSD, comenzando desde 0.

Después de formatear un disco SSD local, al enlace simbólico se le agrega -part N , donde N es el número de partición, por ejemplo, google-local-nvme-ssd-0-part1 .

Enlaces simbólicos del dispositivo

Compute Engine crea enlaces simbólicos adicionales en el directorio según el 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 adjunto

Supongamos que creó una máquina virtual con las siguientes propiedades:

  • Nombre de VM: instance-1
  • Serie de máquinas: C3
  • Tipo de interfaz de disco: NVMe tanto para disco persistente como para SSD local
  • Discos adicionales: ninguno
  • Discos SSD locales adjuntos: 2
  • Nombres de dispositivos personalizados utilizados: 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 máquina virtual. El disco de arranque está formateado y tiene el sistema operativo instalado. El disco de arranque tiene 3 particiones: parte 1, parte 14 y parte 15. Los discos SSD locales adjuntos no están formateados, por lo que solo se creó un enlace simbólico para cada disco SSD local.

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

Supongamos que creó una máquina virtual con las siguientes propiedades:

  • Nombre de VM: instance-2
  • Serie de máquinas: N2
  • Tipo de interfaz de disco: SCSI para disco persistente y NVMe para SSD local
  • Discos adicionales: 1 disco persistente llamado extra-scsi-disk
  • Discos SSD locales adjuntos: 2
  • Nombres de dispositivos personalizados utilizados: 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 máquina virtual. El disco de arranque está formateado y tiene la imagen del sistema operativo instalada. El disco de arranque tiene 3 particiones: parte 1, parte 14 y parte 15. El primer disco SSD local también está particionado, con una única partición, por lo que se crea un enlace simbólico adicional para esa partición del disco. El disco persistente adicional agregado a la máquina virtual 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 aparece un enlace simbólico para esos discos.

¿Qué sigue?