Formatear y montar un disco que no es de arranque en una VM Linux


Si has conectado un disco nuevo y vacío a tu VM, debes formatearlo y montarlo para poder usarlo. Si has adjuntado un disco que ya contiene datos, debes montar el disco para poder usarlo.

Antes de empezar

  • 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

    1. 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.

    2. Set a default region and zone.

    REST

    Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de 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.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Conéctate a la VM.

  1. Ve a la página Instancias de VM.

    Ve a la página Instancias de VM.

  2. Haz clic en el botón SSH situado junto a la instancia que tiene el nuevo disco adjunto. El navegador abre una conexión de terminal a la VM.

Formatear un disco no de arranque en una VM Linux

  1. En el terminal, usa el enlace simbólico creado para el disco conectado para determinar qué dispositivo formatear.

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

    Los discos sin formato no tienen enlaces simbólicos adicionales con -partN en el nombre.

     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
    

    En este ejemplo, el nuevo disco persistente se ha creado con el nombre extra-scsi-disk. El nombre del dispositivo del nuevo disco es sdb.

  2. Formatea el dispositivo de disco con la mkfs herramienta. Este comando elimina todos los datos del disco especificado, así que asegúrate de especificar el dispositivo de disco correctamente.

    Puedes usar el formato de archivo que necesites, pero te recomendamos que utilices un solo sistema de archivos ext4 sin tabla de particiones. Puedes aumentar el tamaño del disco más adelante sin tener que modificar las particiones del disco.

    Para maximizar el rendimiento del disco, usa las opciones de formato recomendadas con la marca -E. No es necesario reservar espacio para el volumen raíz en este disco secundario, así que especifica -m 0 para usar todo el espacio disponible en el disco. El siguiente comando formatea todo el disco sin tabla de particiones.

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

    Haz los cambios siguientes:

    • FILE_SYSTEM_TYPE: el tipo de sistema de archivos. Por ejemplo, ext2, ext3, ext4 o xfs.
    • DEVICE_NAME: el nombre del dispositivo del disco que vas a formatear. Por ejemplo, si usas el resultado del primer paso, usarías sdb para el nombre del dispositivo.

Montar el disco

  1. Crea un directorio que sirva como punto de montaje del nuevo disco en la VM. Puedes usar cualquier directorio. En el siguiente ejemplo se crea un directorio en /mnt/disks/.

    $ sudo mkdir -p /mnt/disks/MOUNT_DIR
    

    Sustituye MOUNT_DIR por el directorio en el que se va a montar el disco.

  2. Usa la herramienta de montaje para montar el disco en la instancia y habilita la opción discard:

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

    Haz los cambios siguientes:

    • DEVICE_NAME: el nombre del dispositivo del disco que se va a montar.
    • MOUNT_DIR: el directorio en el que se va a montar el disco.
  3. Configura los permisos de lectura y escritura en el disco. En este ejemplo, se concede acceso de escritura al disco a todos los usuarios.

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

    Sustituye MOUNT_DIR por el directorio en el que has montado el disco.

Configurar el montaje automático al reiniciar la VM

Añade el disco a tu archivo /etc/fstab para que se vuelva a montar automáticamente cuando se reinicie la VM. En los sistemas operativos Linux, el nombre del dispositivo puede cambiar con cada reinicio, pero el UUID del dispositivo siempre apunta al mismo volumen, incluso cuando mueves discos entre sistemas. Por este motivo, te recomendamos que uses el UUID del dispositivo en lugar del nombre del dispositivo para configurar el montaje automático al reiniciar la VM.

  1. Crea una copia de seguridad de tu archivo /etc/fstab.

    $ sudo cp /etc/fstab /etc/fstab.backup
    
  2. Usa el comando blkid para enumerar el UUID del 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"
    

    Haz los cambios siguientes:

    • DEVICE_NAME: el nombre del dispositivo del disco que quieras montar automáticamente. Si has creado una tabla de particiones en el disco, especifica la partición que quieras montar añadiendo el sufijo al nombre del dispositivo. Por ejemplo, si sdb es el nombre del dispositivo del disco, sdb1 podría ser el nombre de la partición.
  3. Abre el archivo /etc/fstab en un editor de texto y crea una entrada que incluya el UUID. Por ejemplo:

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

    Haz los cambios siguientes:

    • UUID_VALUE: el UUID del disco, que se muestra en la salida del paso anterior
    • MOUNT_DIR: el directorio en el que has montado tu disco
    • FILE_SYSTEM_TYPE: el tipo de sistema de archivos. Por ejemplo, ext2, ext3, ext4 o xfs.
    • MOUNT_OPTION: especifica lo que hace el sistema operativo si no puede montar el disco persistente de zona durante el arranque. Para ver los valores válidos, consulta el cuarto campo de la documentación de Linux fstab. Para permitir que el sistema se inicie aunque el disco no esté disponible, usa la opción nofail mount.
  4. Usa el comando cat para verificar que las entradas de /etc/fstab son correctas:

    $ 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
    
    

Mantén siempre el archivo /etc/fstab sincronizado con los dispositivos conectados a una máquina virtual. Si quieres desvincular un disco o crear una captura a partir del disco de arranque de una VM, edita el archivo /etc/fstab y elimina la entrada del disco. Aunque definas MOUNT_OPTION como nofail o nobootwait, elimina la entrada antes de crear la captura del disco de arranque o de separar el disco.

Siguientes pasos