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.

    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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

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

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Para obtener más información, consulta Set up authentication for a local development environment.

      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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

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. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  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?