Conecta un disco que no sea de arranque a una VM


En esta página, se explica cómo conectar un disco existente que no sea de inicio a una o más instancias de máquina virtual (VM).

Para crear o cambiar el disco de arranque de una VM, consulta Crea un disco de arranque y Desconecta y vuelve a conectar un disco de arranque, respectivamente.

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

Roles y permisos requeridos

Para obtener los permisos que necesitas para conectar un disco a una VM, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:

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

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para conectar un disco a una VM. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para conectar un disco a una VM:

  • Para conectar 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 deseas conectar a la VM
  • Para formatear y activar el volumen adjunto, usa compute.instances.setMetadata en la VM

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

Modo de conexión de disco

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

El modo predeterminado es de lectura y escritura.

Comparte un disco entre VMs

Puedes compartir el mismo disco entre las VMs para que cada una pueda acceder al disco de forma simultánea. Para ello, conéctalo a cada VM. 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 que se indica en Cómo conectar un disco que no sea de arranque a tu VM para cada VM.

Debes usar el mismo modo de conexión de disco para todas las VMs a las que conectes 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.

Si deseas obtener información para conectar un disco a varias VMs, incluidos los tipos de disco compatibles, consulta Comparte un disco entre VMs.

Conecta un volumen de Hyperdisk a varias VMs

Para conectar un volumen de Hyperdisk a varias VMs, asegúrate de que el modo de acceso del disco esté configurado en un valor adecuado para tu caso de uso. Para obtener instrucciones sobre cómo configurar el modo de acceso, consulta Configura el modo de acceso del disco.

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

Limitaciones

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

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

  • No puedes conectar un disco a una VM si hacerlo supera la capacidad máxima de disco de la VM.

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

    • Hiperdisco balanceado
    • Capacidad de procesamiento del hiperdisco
    • Alta disponibilidad balanceada de Hyperdisk
    • Hiperdisco extremo
  • Cuando conectas un disco a varias VMs, debes usar el mismo modo de conexión de disco para todas las VMs.

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

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

Conecta un disco que no sea de arranque a tu VM

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

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

  • Usa un nombre de dispositivo personalizado: Google recomienda que especifiques un nombre de dispositivo personalizado cuando conectes un disco a una VM. El nombre que especifiques se usa para generar un symlink para el disco en el SO invitado, lo que facilita la identificación y administración de los discos en la VM.

  • Conectar un disco a varias VMs: Para conectar un disco a varias VMs, repite el procedimiento de esta sección para cada VM. Debes usar el mismo modo de conexión de disco para todas las VMs a las que conectes el disco.

Console

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

    Ir a la página Instancias de VM

  2. Haz clic en el nombre de la VM en la que deseas agregar 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 + Conectar disco existente.

  5. En la lista Disco, selecciona el disco que deseas conectar. Si el disco no se muestra en la lista, asegúrate de que esté en la misma ubicación que la VM. Esto significa 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 solo la VM lea del disco. Para permitir el acceso de lectura y escritura de la VM, selecciona Leer/escribir.

  7. En Regla de eliminación, especifica si quieres borrar el disco cuando se borra la VM. Para conservar el disco cuando se borre la VM, selecciona Mantener disco. Para borrar el disco cuando se borre la VM, selecciona Borrar disco. Si vas a conectar el disco a varias VMs, debes seleccionar Mantener disco.

  8. Opcional: En el encabezado Nombre del dispositivo, selecciona la opción Usar un nombre de dispositivo personalizado. El nombre que ingreses se usa a fin de generar un symlink para el disco, lo que facilita la identificación del disco.

  9. Para aplicar los cambios en el disco, haz clic en Listo.

  10. Haz clic en Guardar para aplicar los cambios y conectar 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 de disco.

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

Reemplaza lo siguiente:

  • VM_NAME: Es el nombre de la VM en la que deseas agregar el disco persistente zonal nuevo.
  • DISK_NAME: el nombre del disco nuevo que deseas conectar a la VM.
  • DEVICE_NAME: Es un nombre que el SO invitado usa para identificar el disco (opcional).
  • DISK_ATTACHMENT_MODE: Opcional: Cómo conectar el disco a la VM. Para el modo de solo lectura, configúralo en ro. Para el modo de lectura y escritura, configúralo en rw o omítelo, ya que rw es el valor predeterminado.

Terraform

Para conectar 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]
  }


}

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

REST

Para conectar un disco a una VM, crea una solicitud POST para el método compute.instances.attachDisk y, luego, incluye la URL del disco que deseas conectar.

Para especificar el modo de conexión 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"
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • ZONE: la zona en la que se encuentran la VM y el disco
  • VM_NAME: el nombre de la VM a la que deseas conectar el disco.
  • DISK_NAME: el nombre del disco que se conectará.
  • DEVICE_NAME: un nombre que el SO invitado usa para crear un symlink, que ayuda a identificar el disco (opcional).
  • DISK_ATTACHMENT_MODE: Opcional: Indica cómo se debe conectar el disco a la VM. Para el modo de solo lectura, usa READ_ONLY. Para el modo de lectura y escritura, configúralo en READ_WRITE u omítelo, ya que READ_WRITE es el valor predeterminado.

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

  • Si conectaste un disco en blanco, formatéalo y actívalo
  • Si conectaste un disco no vacío, actívalo.

Aprende a formatear y activar tus discos nuevos en las VMs de Linux o Windows.

¿Qué sigue?