Agregar un disco persistente a tu VM


Puedes crear un disco persistente en blanco o crear un disco a partir de una fuente de datos. Puedes usar un disco persistente como un disco de arranque para una instancia de máquina virtual (VM) o como un disco de datos que conectes a una VM.

En este documento, se explica cómo hacer lo siguiente:

  • Crea un disco persistente zonal que no sea de arranque y conéctalo a tu instancia de VM.

Si deseas crear un disco de arranque que puedas usar más adelante para crear una VM, consulta Crea un disco de arranque personalizado.

Si deseas agregar un Google Cloud Hyperdisk a la VM, consulta Agrega almacenamiento de Hyperdisk a una VM.

Si necesitas formatear o activar un disco persistente en tu VM, consulta lo siguiente:

Para obtener información general sobre los Persistent Disks y los tipos de discos disponibles, lee la descripción general de Persistent Disk.

Antes de empezar

  • Configura la autenticación si aún no lo hiciste. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    Selecciona la pestaña sobre cómo planeas usar las muestras en esta página:

    Consola

    Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud, no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

    Terraform

    Para usar las muestras de Terraform de esta página desde un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

    1. Instala Google Cloud CLI.
    2. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

      gcloud init
    3. Crea credenciales de autenticación locales para tu Cuenta de Google:

      gcloud auth application-default login

    Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

    REST

    Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

      Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init

Restricciones

  • Durante la creación de la instancia, puedes conectar hasta 127 discos persistentes zonales secundarios que no sean de arranque.
  • Nota: Puedes tener una capacidad total conectada de 257 TB por VM. Para obtener información sobre cómo garantizar el máximo rendimiento con volúmenes grandes, consulta Tamaño de volumen lógico.

Agrega un disco que no sea de arranque a tu VM

Crea y conecta un disco zonal que no sea de arranque usando la consola de Google Cloud, la Google Cloud CLI o REST.

Si creas un disco en la consola de Google Cloud, el tipo de disco predeterminado es pd-balanced. Si creas un disco con la gcloud CLI o REST, el tipo de disco predeterminado es pd-standard.

Debes especificar un nombre de dispositivo personalizado cuando conectes el disco a una VM. El nombre que especifiques se usa a fin de generar un symlink para el disco en el SO invitado, lo que facilita la identificación.

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 Discos adicionales, haz clic en Agregar disco nuevo.

  5. Especifica un nombre para el disco, configura sus propiedades y selecciona Blank en Tipo de origen.

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

  7. Haz clic en Listo para completar la configuración del disco.

  8. Haz clic en Guardar para aplicar los cambios a la instancia y agregar el disco nuevo.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Usa el comando gcloud compute disks create para crear el disco persistente zonal.

    gcloud compute disks create DISK_NAME \
      --size DISK_SIZE \
      --type DISK_TYPE
    

    Reemplaza lo siguiente:

    • DISK_NAME: Es el nombre del disco nuevo.
    • DISK_SIZE: Es el tamaño, en gigabytes, del disco nuevo. Los tamaños aceptables varían, en incrementos de 1 GB, desde 10 GB hasta 65,536 GB inclusive.
    • DISK_TYPE: Es la URL parcial o completa para el tipo de disco persistente. Por ejemplo, https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd.
  3. Una vez creado el disco, conéctalo a cualquier instancia en ejecución o detenida. Usa el comando gcloud compute instances attach-disk:

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

    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).
  4. Usa el comando gcloud compute disks describe para ver una descripción del disco.

Terraform

Para crear un disco, usa el recurso google_compute_disk.

# Using pd-standard because it's the default for Compute Engine

resource "google_compute_disk" "default" {
  name = "disk-data"
  type = "pd-standard"
  zone = "us-west1-a"
  size = "5"
}

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

  1. Formula una solicitud POST para crear un disco persistente zonal con el método disks.insert. Incluye las propiedades name, sizeGb y type. Para crear este disco como un disco vacío sin formato y que no sea de arranque, no especifiques una imagen ni una instantánea de origen.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    
    {
     "name": "DISK_NAME",
     "sizeGb": "DISK_SIZE",
     "type": "DISK_TYPE"
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto
    • ZONE: la zona en la que se encuentran la VM y el disco nuevo.
    • DISK_NAME: Es el nombre del disco nuevo.
    • DISK_SIZE: Es el tamaño, en gigabytes, del disco nuevo. Los tamaños aceptables varían, en incrementos de 1 GB, desde 10 GB hasta 65,536 GB inclusive.
    • DISK_TYPE: Es la URL parcial o completa para el tipo de disco persistente. Por ejemplo, https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd.
  2. Crea una solicitud POST para el compute.instances.attachDiskmétodo e incluye la URL al disco persistente zonal que acabas de crear:

    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
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID de tu proyecto
    • ZONE: la zona en la que se encuentran la VM y el disco nuevo
    • VM_NAME: Es el nombre de la VM en la que deseas agregar el disco persistente nuevo.
    • DISK_NAME: Es el nombre del disco nuevo.
    • DEVICE_NAME: Es un nombre que el SO invitado usa para identificar el disco (opcional).

Después de crear el disco nuevo y conectarlo a una VM, debes formatearlo y activarlo para que el sistema operativo pueda usar el espacio de almacenamiento disponible.

¿Qué sigue?