Puedes usar volúmenes de Google Cloud Hyperdisk y Persistent Disk como discos de arranque y discos de datos para instancias de Compute Engine.
En este documento, se explica cómo completar las siguientes tareas:
Crea un disco nuevo que contenga los datos del disco original para convertirlo en otro tipo de Persistent Disk o Hyperdisk. Según el tipo de disco nuevo que elijas, puedes obtener los siguientes beneficios:
- Alcanza niveles de rendimiento más altos si eliges un tipo de disco más rápido
- Reducir los costos si eliges un tipo de disco más rentable
Configura si Compute Engine borra los discos de arranque o de datos de una instancia de procesamiento cuando borras la instancia. Se generan costos por un disco hasta que lo borras, incluso si no está conectado a ninguna instancia. Puedes reducir los costos si habilitas la eliminación automática de los discos que no necesitarás después de que se borre la instancia adjunta.
Actualiza el modo de acceso de un volumen de Hyperdisk para habilitar o inhabilitar el acceso al volumen desde varias instancias de Compute Engine.
Para cambiar el tamaño de un volumen de Hyperdisk o Persistent Disk, consulta Cómo modificar el tamaño o el rendimiento aprovisionado de un volumen de Hyperdisk y Cómo modificar el tamaño de un disco persistente, respectivamente.
Cambia el tipo de un volumen de Persistent Disk
A veces, debes cambiar el tipo de un volumen de Persistent Disk en particular para satisfacer tus requisitos de rendimiento o precios. Por ejemplo, es posible que desees cambiar el disco de datos de una carga de trabajo de un disco persistente estándar a un Persistent Disk balanceado.
No puedes cambiar directamente el tipo de un volumen de Persistent Disk existente. Debes crear una instantánea del disco existente y, luego, usar esa instantánea para crear un disco del tipo nuevo.
Para cambiar un volumen de Persistent Disk (el disco de origen) a otro tipo de Persistent Disk (el disco nuevo), sigue este proceso:
Si el disco de origen está conectado a una instancia de procesamiento, detén la instancia.
Crea una instantánea del disco de origen.
Crea el disco nuevo a partir de la instantánea del disco de origen.
Para comenzar a usar el disco nuevo, desconecta el disco fuente de la instancia y conecta el disco nuevo que acabas de crear.
Si el disco de origen es un disco de arranque, haz lo siguiente:
Si el disco de origen no es de arranque, haz lo siguiente:
Verifica que el disco nuevo funcione según lo esperado.
Después de probar el disco nuevo, puedes borrar la instantánea y borrar el disco de origen. Se te seguirán cobrando cargos por el disco de origen y la instantánea hasta que los borres.
Modifica la configuración de eliminación automática de un disco
Para evitar la pérdida accidental de datos, puedes controlar si Compute Engine borra automáticamente alguno de los volúmenes de Hyperdisk o Persistent Disk de Google Cloud que se adjuntan a una instancia cuando borras la instancia. Los discos SSD locales siempre se borran junto con la instancia.
La propiedad autoDelete de cada volumen de Google Cloud Hyperdisk o Persistent Disk conectado a la instancia controla este comportamiento.
Para conservar un volumen específico cuando borres la instancia, establece la propiedad autoDelete del volumen en false. Por el contrario, para borrar un volumen cuando borras la instancia, establece la propiedad autoDelete en true.
No puedes borrar automáticamente un disco si está conectado a la instancia en modo de solo lectura.
Console
En la consola de Google Cloud , ve a la página Instancias de VM.
Selecciona la instancia que tiene los discos asociados.
Haga clic en el nombre de la instancia. Aparecerá la página Detalles de instancia de VM.
Haz clic en Editar.
Para actualizar el parámetro de configuración de eliminación automática de tus discos, en la sección Almacenamiento, sigue estos pasos:
- En el disco de arranque, debajo del encabezado Disco de arranque, selecciona la Regla de eliminación del disco de arranque.
- Para cada disco adicional conectado a la instancia, busca el disco en la sección Discos adicionales y, luego, sigue estos pasos:
- Haz clic en Editar disco. Se abrirá el panel Disco existente.
- En Modo de conexión, configura la Regla de eliminación del disco. Para guardar el parámetro de configuración del disco y cerrar el panel, haz clic en Guardar.
Para guardar los cambios, haz clic en Guardar.
gcloud
Establece el estado de eliminación automática de un disco con el comando gcloud compute instances set-disk-auto-delete.
Para conservar el disco cuando borres la instancia, especifica la marca --no-auto-delete. Para borrar el disco, especifica la marca --auto-delete.
Si la instancia tiene varios discos conectados, debes ejecutar el comando para cada disco conectado a la instancia.
gcloud compute instances set-disk-auto-delete INSTANCE_NAME \ AUTO_DELETE_SETTING \ --disk DISK_NAME
Reemplaza lo siguiente:
INSTANCE_NAME: El nombre de la instancia.AUTO_DELETE_SETTING: Indica si se debe borrar automáticamente el disco. Especifica--no-auto-deletepara conservar el disco después de borrar la instancia de procesamiento y--auto-deletepara borrar el disco al mismo tiempo que la instancia.DISK_NAME: el nombre del disco.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Go de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Java de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Node.js de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la Guía de inicio rápido de Compute Engine: Usa las bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Compute Engine.
Para autenticarte en Compute Engine, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
Para establecer el estado de eliminación automática con la API, realiza una solicitud POST al método instances.setDiskAutoDelete. Usa el parámetro autoDelete para indicar si se debe borrar el disco.
Si la instancia tiene varios discos conectados, debes realizar una solicitud para cada disco conectado a la instancia.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setDiskAutoDelete?deviceName=DISK_NAME,autoDelete=AUTO_DELETE_OPTION
Reemplaza lo siguiente:
PROJECT_ID: el ID de tu proyectoZONE: La zona en la que se encuentran la instancia y el discoINSTANCE_NAME: el nombre de tu instanciaDISK_NAME: Es el nombre del disco conectado a la instancia.AUTO_DELETE_OPTION: Indica si se debe borrar automáticamente el disco cuando se borra la instancia. Para borrar el disco, configúralo comotrue. Establece enfalsepara conservar el disco después de borrar la instancia.
Modo de acceso para volúmenes de Hyperdisk
Para compartir un volumen de Hyperdisk entre varias instancias y otorgar a cada instancia acceso simultáneo de solo lectura o lectura y escritura al volumen, debes establecer el modo de acceso del volumen en modo de solo lectura o de varios escritores, respectivamente.
Por otro lado, para realizar ciertas acciones, como crear una imagen, en un volumen de Hyperdisk que esté en modo de solo lectura o de varios escritores, debes establecer su modo de acceso en un solo escritor.
En esta sección, se describe cómo configurar el modo de acceso de un disco.
Para obtener más información sobre el uso compartido de discos, consulta Comparte discos entre instancias.
Limitaciones para los cambios en el modo de acceso
No puedes establecer el modo de acceso de un disco a menos que desconectes el disco de todas las instancias.
Los volúmenes de Hyperdisk Throughput solo admiten el modo de un solo escritor y no puedes establecer el modo de acceso para un volumen de Hyperdisk Throughput.
En el caso de los volúmenes de Hyperdisk Balanced, Hyperdisk Extreme y Hyperdisk Balanced High Availability, solo puedes habilitar o inhabilitar el modo de varios escritores. No puedes establecer el modo de acceso como de solo lectura.
En el caso de los volúmenes de Hyperdisk ML, solo puedes establecer el modo de acceso como de solo lectura. Los volúmenes de Hyperdisk ML no admiten el modo de varios escritores.
No puedes modificar el modo de acceso de un volumen de Hyperdisk ML después de configurarlo como de solo lectura.
Roles y permisos requeridos
Para obtener el permiso que necesitas para establecer el modo de acceso de un disco, 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 VM que puede ejecutarse como una cuenta de servicio:
Usuario de cuenta de servicio (v1) (
roles/iam.serviceAccountUser)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso compute.disks.update, que se requiere para establecer el modo de acceso de un disco.
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Establece el modo de acceso de un volumen de Hyperdisk
Antes de configurar el modo de acceso de un disco, debes separar el disco de todas las instancias.
Puedes configurar el modo de acceso con la consola de Google Cloud , Google Cloud CLI o REST.
Console
En la consola de Google Cloud , ve a la página Discos.
En la lista de discos de tu proyecto, haz clic en el nombre del volumen de Hyperdisk que deseas modificar.
En la página de detalles del disco, haz clic en Editar.
En el campo Modo de acceso, selecciona el modo de acceso que desees:
- Para habilitar el modo de solo lectura, selecciona Solo lectura en varias VMs.
- Para habilitar el modo de multiescritura, selecciona Lectura y escritura en varias VMs.
- (Predeterminado) Para habilitar el modo de un solo escritor, selecciona Lectura y escritura en una sola VM.
Para aplicar los cambios, haz clic en Guardar.
gcloud
Ejecuta el comando disks update y especifica el modo de acceso con la marca --access-mode.
gcloud compute disks update DISK_NAME \ --access-mode=DISK_ACCESS_MODE
Reemplaza lo siguiente:
- DISK_NAME: el nombre del volumen de Hyperdisk que se modifica.
- DISK_ACCESS_MODE: Cómo pueden las instancias acceder a los datos del disco
Los valores admitidos son
- .
READ_ONLY_MANY, para el acceso de solo lectura desde varias instancias.READ_WRITE_MANY, para el acceso de lectura/escritura desde varias instancias.READ_WRITE_SINGLE(predeterminado), para el acceso de lectura y escritura desde una instancia.
REST
Realiza una solicitud PATCH al método compute.disks.update.
En el cuerpo de la solicitud, configura el modo de acceso incluyendo el parámetro accessMode.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/update
{
"accessMode": "DISK_ACCESS_MODE"
}
Reemplaza lo siguiente:
PROJECT_ID: el ID de tu proyecto.ZONE: la zona en la que se encuentra el volumen de hiperdisco.DISK_NAME: el nombre del volumen de Hyperdisk que se modificará.DISK_ACCESS_MODE: Cómo pueden las instancias acceder a los datos del disco Los valores admitidos son- .
READ_ONLY_MANY, para el acceso de solo lectura desde varias instancias.READ_WRITE_MANY, para el acceso de lectura/escritura desde varias instancias.READ_WRITE_SINGLE, para el modo de un solo escritor, es decir, acceso de lectura y escritura desde una instancia.
Soluciona problemas
A fin de encontrar métodos para diagnosticar y resolver problemas relacionados con los discos completos y el cambio de tamaño de los discos, consulta Soluciona problemas de discos completos y cambio de tamaño de disco.
¿Qué sigue?
- Obtén información para crear una copia de seguridad de tus discos mediante instantáneas de forma periódica a fin de evitar la pérdida involuntaria de datos.
- Usa discos persistentes regionales para la replicación síncrona entre dos zonas.
- Adjunta un disco RAM a tu instancia.