Conectar un disco que no sea de arranque a una VM


En esta página se explica cómo conectar un disco que no sea de arranque a una o varias instancias de máquina virtual.

Para crear o cambiar el disco de arranque de una VM, consulta los artículos Crear un disco de arranque y Desvincular y volver a vincular un disco de arranque, respectivamente.

Para crear un disco, consulta Crear un volumen de disco persistente y Crear un volumen de Hyperdisk.

Roles y permisos necesarios

Para obtener los permisos que necesitas para adjuntar un disco a una VM, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto:

  • Administrador de instancias de Compute (v. 1) (roles/compute.instanceAdmin.v1)
  • Para conectarte a una instancia de VM que pueda ejecutarse como cuenta de servicio, haz lo siguiente: Usuario de cuenta de servicio (v. 1) (rol roles/iam.serviceAccountUser)

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para adjuntar un disco a una VM. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para adjuntar un disco a una VM, se necesitan los siguientes permisos:

  • Para adjuntar un disco a una VM, sigue estos pasos:
    • compute.instances.attachDisk en la VM
    • compute.instances.attachDisk en la VM
    • compute.disks.use en el disco que quieras adjuntar a la VM.
  • Para formatear y montar el volumen adjunto, sigue estos pasos: compute.instances.setMetadata en la VM

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Modo de montaje de disco

Cuando vinculas un disco a una VM, indicas cómo puede acceder la VM a los datos del disco especificando el modo de vinculación del disco. Puedes elegir el modo de solo lectura o de lectura y escritura.

El modo predeterminado es de lectura y escritura.

Compartir un disco entre máquinas virtuales

Puedes compartir el mismo disco entre máquinas virtuales para que cada una de ellas pueda acceder al disco simultáneamente. Para ello, debes asociar el disco a cada máquina virtual. Puedes conectar un disco a varias VMs si el tipo de disco y el tipo de máquina de la VM lo admiten.

Para conectar un disco a varias VMs, sigue el procedimiento descrito en Conectar un disco que no persista en el arranque a una VM para cada VM.

Debes usar el mismo modo de vinculación de disco para todas las VMs a las que vincules el disco. Por ejemplo, no puedes conectar un disco a una VM en modo de lectura y escritura y, al mismo tiempo, conectarlo a otra VM en modo de solo lectura.

Para obtener información sobre cómo adjuntar un disco a varias VMs, incluidos los tipos de disco admitidos, consulta Compartir un disco entre VMs.

Asociar un volumen de Hyperdisk a varias VMs

Para conectar un volumen de Hyperdisk a varias máquinas virtuales, asegúrate de que el modo de acceso del disco tenga un valor adecuado para tu caso práctico. Para obtener instrucciones sobre cómo definir el modo de acceso, consulta Definir el modo de acceso del disco.

Cuando adjuntas un volumen de Hyperdisk a una VM, debes elegir un modo de adjunto de disco que no entre en conflicto con el modo de acceso del disco. Por ejemplo, no puedes usar el modo de adjunto de solo lectura con un disco que esté en modo de un solo escritor o de varios escritores.

Limitaciones

Cuando adjuntes un disco a una VM, ten en cuenta las siguientes limitaciones:

  • Un disco debe estar en la misma zona que la VM a la que quieras conectarlo. En el caso de los discos regionales, la VM debe estar en la misma zona que una de las réplicas del disco.

  • Puedes conectar hasta 127 discos de zona secundarios que no sean de arranque a una VM.

  • No puedes adjuntar un disco a una VM si al hacerlo se superan los límites de tamaño y de adjuntos de Hyperdisk.

  • Los siguientes tipos de disco no admiten el modo de solo lectura:

    • Hyperdisk Balanced
    • Hyperdisk Balanced High Availability
    • Hyperdisk Throughput
    • Hyperdisk Extreme
  • Cuando conectas un disco a varias VMs, debes usar el mismo modo de conexión de disco en todas las VMs.

  • Si adjuntas un disco a varias VMs, se aplican restricciones adicionales. Consulta las restricciones para compartir un disco entre VMs en modo de solo lectura y en modo multiescritura.

  • Los discos conectados a varias VMs no admiten la eliminación automática, es decir, no se pueden eliminar automáticamente cuando se elimina la VM.

Conectar un disco que no sea de arranque a una VM

Puedes conectar un disco zonal que no sea de arranque a una VM mediante la Google Cloud consola, la CLI de Google Cloud o REST.

Cuando adjuntes un disco a una VM, ten en cuenta lo siguiente:

  • Usar un nombre de dispositivo personalizado: Google recomienda que especifiques un nombre de dispositivo personalizado al asociar un disco a una VM. El nombre que especifiques se usará para generar un enlace simbólico del disco en el sistema operativo invitado, lo que facilita la identificación y la gestión de los discos en la VM.

  • Adjuntar un disco a varias VMs: para adjuntar un disco a varias VMs, repite el procedimiento de esta sección para cada VM. Debes usar el mismo modo de vinculación de disco en todas las VMs a las que vincules el disco.

Para conectar un volumen de Persistent Disk regional o Hyperdisk Balanced de alta disponibilidad a tu VM, consulta el artículo Conectar un disco regional a una VM.

Consola

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

    Ve a la página Instancias de VM.

  2. Haga clic en el nombre de la VM a la que quiera añadir un disco.

  3. En la página de detalles, haz clic en Editar.

  4. En la sección Almacenamiento, en Discos adicionales, haz clic en + Adjuntar disco existente.

  5. En la lista Disco, selecciona el disco que quieras adjuntar. Si el disco no aparece, comprueba que esté en la misma ubicación que la VM. Es decir, la misma zona para un disco zonal y la misma región para un disco regional.

  6. En Modo de conexión de disco, selecciona Solo lectura para permitir que la VM solo lea del disco. Para permitir que la VM tenga acceso de lectura y escritura, selecciona Lectura/escritura.

  7. En Regla de eliminación, especifica si quieres eliminar el disco cuando se elimine la VM. Para conservar el disco cuando se elimine la VM, selecciona Conservar disco. Para eliminar el disco cuando se elimine la VM, selecciona Eliminar disco. Si vas a conectar el disco a varias VMs, debes seleccionar Conservar disco.

  8. Opcional: En el encabezado Nombre del dispositivo, selecciona la opción Usar un nombre de dispositivo personalizado. El nombre que introduzcas se usará para generar un enlace simbólico del disco, lo que facilitará su identificación.

  9. Para aplicar los cambios al disco, haz clic en Hecho.

  10. Haz clic en Guardar para aplicar los cambios y adjuntar el disco a la VM.

gcloud

Para conectar un disco a una VM, usa el comando gcloud compute instances attach-disk. Usa la marca mode para especificar el modo de conexión del disco.

gcloud compute instances attach-disk VM_NAME \
    --disk DISK_NAME --device-name=DEVICE_NAME
    --mode DISK_ATTACHMENT_MODE

Haz los cambios siguientes:

  • VM_NAME: nombre de la VM a la que vas a añadir el nuevo disco persistente de zona
  • DISK_NAME: el nombre del nuevo disco que vas a adjuntar a la VM.
  • DEVICE_NAME: nombre que usa el SO invitado para identificar el disco (opcional).
  • DISK_ATTACHMENT_MODE: Opcional: cómo adjuntar el disco a la VM. Para el modo de solo lectura, asigna el valor ro. En el modo de lectura y escritura, asigna el valor rw o no incluyas esta marca, ya que rw es el valor predeterminado.

Terraform

Para adjuntar el disco a una VM, usa el recurso google_compute_instance.

resource "google_compute_instance" "test_node" {
  name         = "test-node"
  machine_type = "f1-micro"
  zone         = "us-west1-a"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }
  attached_disk {
    source      = google_compute_disk.default.id
    device_name = google_compute_disk.default.name
  }

  network_interface {
    network = "default"
    access_config {
      # Ephemeral IP
    }
  }

  # Ignore changes for persistent disk attachments
  lifecycle {
    ignore_changes = [attached_disk]
  }


}

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

REST

Para adjuntar un disco a una VM, crea una solicitud POST al método compute.instances.attachDisk e incluye la URL del disco que quieras adjuntar.

Para especificar el modo de adjunto del disco, usa el parámetro mode.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk

{
   "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME",
   "deviceName": DEVICE_NAME,
   "mode" : "DISK_ATTACHMENT_MODE"
}

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto
  • ZONE: la zona en la que se encuentran la VM y el disco
  • VM_NAME: el nombre de la VM a la que quieras conectar el disco
  • DISK_NAME: el nombre del disco que se va a adjuntar
  • DEVICE_NAME: opcional, nombre que usa el SO invitado para crear un enlace simbólico que ayuda a identificar el disco.
  • DISK_ATTACHMENT_MODE: opcional: cómo se debe adjuntar el disco a la VM. Para el modo de solo lectura, usa READ_ONLY. En el modo de lectura y escritura, asigna el valor READ_WRITE o no lo incluyas, ya que READ_WRITE es el valor predeterminado.

Después de conectar un disco a una VM, conéctate a la VM y habilita el sistema operativo de la VM para que use el disco:

  • Si has conectado un disco vacío, formatéalo y móntalo
  • Si has conectado un disco que no está vacío, móntalo

Consulta cómo formatear y montar los nuevos discos en VMs Linux o Windows.

Siguientes pasos