En este documento se describe cómo usar la nomenclatura de dispositivos persistente en tu máquina virtual Linux.
En las máquinas virtuales que usan un sistema operativo Linux, los nombres de los dispositivos, como /dev/sda
,
pueden cambiar después de realizar procedimientos como los siguientes:
- Iniciar y detener una VM
- Desconectar y volver a conectar discos
- Cambiar tipos de máquinas
El nombre del dispositivo cambia porque se asignan nombres de dispositivo de un intervalo disponible cuando se inicia una máquina virtual o se conecta un dispositivo. Si desconectas un dispositivo o detienes la VM, se libera el nombre del dispositivo. Cuando se vuelve a conectar el dispositivo o se reinicia la máquina virtual, se le asigna un nuevo nombre del intervalo disponible. El kernel de Linux no garantiza el orden de los dispositivos en los reinicios.
Si cambia el nombre de un dispositivo, es posible que las aplicaciones o las secuencias de comandos que dependan del nombre original no funcionen correctamente o que la máquina virtual no se inicie después de un reinicio.
Para evitar este problema, te recomendamos que uses nombres de dispositivos persistentes al hacer referencia a discos y particiones en tus máquinas virtuales Linux. También puedes usar enlaces simbólicos.
Antes de empezar
- Consulta la gestión de dispositivos para tu sistema operativo Linux:
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
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
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
Nombres de dispositivos en máquinas virtuales Linux
Los nombres de los dispositivos Linux de los discos conectados a tu VM dependen de la interfaz que elijas al crear los discos. Cuando usas el comando del sistema operativo
lsblk
para ver tus dispositivos de disco, se muestra el prefijonvme
para los discos conectados con la interfaz NVMe y el prefijosd
para los discos conectados con la interfaz SCSI.El orden de los números de disco o de los controladores NVMe no es predecible ni coherente entre los reinicios de las VMs. En el primer arranque, un disco persistente puede ser
nvme0n1
(osda
para SCSI). En el segundo arranque, el nombre del dispositivo del mismo disco persistente puede sernvme2n1
onvme0n3
(osdc
para SCSI).Cuando accedas a los discos conectados, debes usar los enlaces simbólicos creados en
/dev/disk/by-id/
. Estos nombres se conservan al reiniciar. Para obtener más información sobre los enlaces simbólicos, consulta Enlaces simbólicos de discos conectados a una VM.Nombres de dispositivos SCSI
El formato de un dispositivo de disco conectado por SCSI es
sda
para el primer disco conectado. Las particiones del disco aparecen comosda1
. Cada disco adicional usa una letra secuencial, comosdb
ysdc
. Cuando se alcanza el límite desdz
, los siguientes discos que se añadan tendrán nombres comosdaa
,sdab
ysdac
, hastasddx
.Nombres de dispositivos NVMe
El formato de un dispositivo de disco conectado por NVMe en sistemas operativos Linux es
nvmenumbernnamespace
.number
representa el número del controlador de disco NVMe y namespace es un ID de espacio de nombres NVMe asignado por el controlador de disco NVMe. En el caso de las particiones, se añade pn al nombre del dispositivo, donde n es un número, que empieza por 1, que indica la partición nth.El número del mando empieza por
0
. Un solo disco NVMe conectado a tu instancia de computación tiene el nombre de dispositivonvme0n1
. La mayoría de los tipos de máquina usan un solo controlador de disco NVMe. Los nombres de los dispositivos NVMe sonnvme0n1
,nvme0n2
,nvme0n3
, etc.Los discos SSD locales conectados a instancias de series de máquinas de tercera generación o posteriores tienen un controlador NVMe independiente para cada disco. En estas VMs, los nombres de los dispositivos SSD locales conectados por NVMe tienen un formato parecido a
nvme0n1
,nvme1n1
ynvme2n1
. El número de discos SSD locales conectados depende del tipo de máquina de tu VM.Las instancias de computación basadas en series de máquinas de tercera generación o posteriores usan NVMe tanto para Persistent Disk como para Google Cloud Hyperdisk, así como para los discos SSD locales. Cada VM tiene un controlador NVMe para Persistent Disk e Hyperdisk, y un controlador NVMe para cada disco SSD local. El controlador NVMe de Persistent Disk e Hyperdisk tiene un único espacio de nombres NVMe para todos los discos conectados. Por lo tanto, una instancia de la serie de máquinas de tercera generación con un disco persistente y un hiperdisco (cada uno con 2 particiones) y 2 discos SSD locales sin formato utiliza los siguientes nombres de dispositivo:
nvme0n1
- Persistent Disknvme0n1p1
nvme0n1p2
nvme0n2
- Hyperdisknvme0n2p1
nvme0n2p2
nvme1n1
: primer SSD localnvme2n1
- segundo SSD local
Usar nombres de dispositivos persistentes
Para configurar un nombre de dispositivo persistente, asigna un nombre de punto de montaje al dispositivo de disco en el archivo
fstab
. Hay tres formas de configurar un nombre de dispositivo persistente.- Usando una etiqueta. Para usar esta opción, el sistema de archivos debe admitir etiquetas y debes añadir una etiqueta a las particiones del disco.
- Usando un UUID de partición o disco. Se genera un UUID cuando se crea un disco con una tabla de particiones, y el UUID es único por partición.
- Para ello, puedes usar un ID de disco persistente (
/dev/disk/by-id
) para Persistent Disk o Hyperdisk de Google Cloud, o un enlace simbólico basado en el nombre del recurso de disco.
Te recomendamos que uses el UUID de la partición o el enlace simbólico en las VMs Linux.
UUID de partición
Para encontrar el UUID de un disco, sigue estos pasos:
- Conéctate a tu VM.
Si no sabes el nombre del dispositivo del disco, puedes encontrarlo mediante el enlace simbólico.
ls -l /dev/disk/by-id/google-*
El resultado debería ser similar al siguiente:
lrwxrwxrwx 1 root root 9 Oct 23 15:58 /dev/disk/by-id/google-my-vm -> ../../sda lrwxrwxrwx 1 root root 10 Oct 23 15:58 /dev/disk/by-id/google-my-vm-part1 -> ../../sda1 lrwxrwxrwx 1 root root 11 Oct 23 15:58 /dev/disk/by-id/google-my-vm-part15 -> ../../sda15 lrwxrwxrwx 1 root root 9 Oct 23 15:58 /dev/disk/by-id/google-my-vm-app-data -> ../../nvme0n1
Para obtener el UUID de la partición del disco, ejecuta uno de los siguientes comandos:
blkid
sudo blkid -s UUID
El resultado debería ser similar al siguiente:
/dev/sda1: UUID="4f570f2d-fffe-4c7d-8d8f-af347af7612a" /dev/sda15: UUID="E0B2-DFAF" /dev/nvme0n1: UUID="9e617251-6a92-45ff-ba40-700a9bdeb03e"
ls -l
sudo ls -l /dev/disk/by-uuid/
El resultado debería ser similar al siguiente:
lrwxrwxrwx 1 root root 10 Sep 22 18:12 4f570f2d-fffe-4c7d-8d8f-af347af7612a -> ../../sda1 lrwxrwxrwx 1 root root 13 Sep 22 18:15 9e617251-6a92-45ff-ba40-700a9bdeb03e -> ../../nvme0n1 lrwxrwxrwx 1 root root 11 Sep 22 18:12 E0B2-DFAF -> ../../sda15
Añade una entrada para el UUID de tu dispositivo en el archivo
/etc/fstab
.UUID=9e617251-6a92-45ff-ba40-700a9bdeb03e /data ext4 defaults 0 0
En este ejemplo,
/data
es el punto de montaje yext4
es el tipo de sistema de archivos.Valida que el dispositivo esté montado correctamente ejecutando
mount -av
.sudo mount -av
Si el dispositivo se monta correctamente, el resultado será similar al siguiente:
/ : ignored /boot/efi : already mounted mount: /data does not contain SELinux labels. You just mounted an file system that supports labels which does not contain labels, onto an SELinux box. It is likely that confine applications will generate AVC messages and not be allowed access to this filesystem. For more details see restorecon(8) and mount(8). /data : successfully mounted
ID de Persistent Disk
Para encontrar el nombre del dispositivo de disco mediante el ID de disco persistente o el enlace simbólico, sigue estos pasos:
- Conéctate a tu VM.
Para obtener el ID del disco, ejecuta el siguiente comando:
sudo ls -lh /dev/disk/by-id/google-*
El resultado debería ser similar al siguiente:
lrwxrwxrwx. 1 root root 9 May 16 17:34 google-disk-2 -> ../../sdb lrwxrwxrwx. 1 root root 9 May 16 09:09 google-persistent-disk-0 -> ../../sda lrwxrwxrwx. 1 root root 10 May 16 09:09 google-persistent-disk-0-part1 -> ../../sda1 lrwxrwxrwx. 1 root root 10 May 16 09:09 google-persistent-disk-0-part2 -> ../../sda2
En el caso de los discos
NVME
, el resultado es similar al siguiente:lrwxrwxrwx 1 root root 13 Jun 1 10:27 google-disk-3 -> ../../nvme0n2 lrwxrwxrwx 1 root root 13 Jun 1 10:25 google-t2a -> ../../nvme0n1 lrwxrwxrwx 1 root root 15 Jun 1 10:25 google-t2a-part1 -> ../../nvme0n1p1 lrwxrwxrwx 1 root root 16 Jun 1 10:25 google-t2a-part15 -> ../../nvme0n1p15
Añade el enlace simbólico al archivo
/etc/fstab
./dev/disk/by-id/google-disk-2 /data ext4 defaults 0 0
Valida que el dispositivo esté montado correctamente ejecutando
mount -av
.sudo mount -av
Si el dispositivo se monta correctamente, el resultado será similar al siguiente:
/ : ignored /boot/efi : already mounted mount: /data does not contain SELinux labels. You just mounted an file system that supports labels which does not contain labels, onto an SELinux box. It is likely that confine applications will generate AVC messages and not be allowed access to this file system. For more details see restorecon(8) and mount(8). /data : successfully mounted
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-11 (UTC).
-