En este documento, se describe cómo administrar grupos de coherencia. Los grupos de coherencia son políticas de recursos que alinean la replicación en varios discos en la misma región o zona.
Para obtener más información sobre los grupos de coherencia, consulta Información sobre la replicación asíncrona.
Limitaciones
- Un disco solo puede pertenecer a un grupo de coherencia a la vez.
- Los grupos de coherencia no son compatibles con los discos en nodos de usuario único.
- Los grupos de coherencia pueden tener un máximo de 128 discos.
- Todos los discos de un grupo de coherencia deben estar en el mismo proyecto que la política de recursos del grupo de coherencia.
- Un grupo de coherencia puede contener discos principales o secundarios, pero no ambos.
- Para habilitar la replicación asíncrona de los discos en un grupo de coherencia, todos los discos deben estar en la misma zona, en el caso de los discos zonales, o en el mismo par de zonas, en el caso de los discos regionales.
- No puedes agregar ni quitar un disco principal desde o hacia un grupo de coherencia mientras el disco se replica. Si deseas agregar o quitar un disco principal hacia o desde un grupo de coherencia, primero debes detener la replicación. Puedes agregar o quitar discos secundarios hacia o desde grupos de coherencia en cualquier momento.
- Puedes conectar un máximo de 16 discos que estén en diferentes grupos de coherencia o discos que no estén en un grupo de coherencia a una VM. Los discos que se encuentran en el mismo grupo de coherencia cuentan como un disco para el límite de 16 discos.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:
Console
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
-
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
- Configura una región y una zona predeterminadas.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
Si usas un shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas 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 incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Roles y permisos requeridos
Para obtener los permisos que necesitas para clonar discos en un grupo de coherencia, 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 que tiene una cuenta de servicio adjunta:
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.
Estos roles predefinidos contienen los permisos necesarios para clonar discos en un grupo de coherencia. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para clonar discos en un grupo de coherencia:
-
compute.disks.create -
compute.disks.useReadOnlyen el disco de origen -
Para clonar el disco de arranque de una instancia que tiene una cuenta de servicio adjunta, haz lo siguiente:
iam.serviceAccounts.actAsen la cuenta de servicio de la instancia
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Crear un grupo de coherencia
Si necesitas alinear la replicación en varios discos, crea un grupo de coherencia en la misma región que los discos principales. Si necesitas alinear las clonaciones de discos, crea un grupo de coherencia en la misma región que los discos secundarios.
Crea un grupo de coherencia con la consola de Google Cloud , Google Cloud CLI, REST o Terraform.
Console
Para crear un grupo de coherencia, haz lo siguiente:
En la consola de Google Cloud , ve a la página Consistency Groups.
Haz clic en la pestaña Grupos de coherencia de disco.
Haz clic en Crear grupo de coherencia.
En el campo Nombre, escribe un nombre para el grupo de coherencia.
En el campo Región, elige la región en la que se encuentran los discos. Si deseas agregar discos principales al grupo de coherencia, elige la región principal. Si deseas agregar discos secundarios al grupo de coherencia, elige la región secundaria.
Haz clic en Crear.
gcloud
Crea un grupo de coherencia con el comando gcloud compute resource-policies create disk-consistency-group:
gcloud compute resource-policies create disk-consistency-group CONSISTENCY_GROUP_NAME \
--region=REGION
Reemplaza lo siguiente:
CONSISTENCY_GROUP_NAME: es el nombre del grupo de coherencia.REGION: Es la región para el grupo de coherencia. Si quieres agregar discos principales al grupo de coherencia, usa la región principal. Si deseas agregar discos secundarios al grupo de coherencia, usa la región secundaria.
Go
Java
Node.js
Python
REST
Crea un grupo de coherencia con el método resourcePolicies.insert:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies
{
"name": "CONSISTENCY_GROUP_NAME",
"diskConsistencyGroupPolicy": {
}
}
Reemplaza lo siguiente:
PROJECT: el proyecto que contiene el grupo de coherencia.REGION: Es la región para el grupo de coherencia. Si quieres agregar discos principales al grupo de coherencia, usa la misma región que los discos principales. Si quieres agregar discos secundarios al grupo de coherencia, usa la misma región que los discos secundarios.CONSISTENCY_GROUP_NAME: es el nombre del grupo de coherencia.
Terraform
Para crear un grupo de coherencia, usa el recurso compute_resource_policy.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Visualiza discos en un grupo de coherencia
Visualiza discos en un grupo de coherencia con la Google Cloud consola, la Google Cloud CLI o REST.
Console
Para ver los discos incluidos en un grupo de coherencia, haz lo siguiente:
En la consola de Google Cloud , ve a la página Consistency Groups.
Haz clic en la pestaña Grupos de coherencia de disco.
Haz clic en el nombre del grupo de coherencia del que deseas ver los discos. Se abrirá la página Administrar grupo de coherencia.
Consulta la sección Miembros del grupo de coherencia para ver todos los discos incluidos en el grupo de coherencia.
gcloud
Visualiza los discos incluidos en un grupo de coherencia con el comando gcloud compute disks list:
gcloud compute disks list \
--LOCATION_FLAG=LOCATION \
--filter=resourcePolicies=CONSISTENCY_GROUP_NAME
Reemplaza lo siguiente:
LOCATION_FLAG: la marca de ubicación para los discos en el grupo de coherencia. Si los discos del grupo de coherencia son regionales, usa--region. Si los discos del grupo de coherencia son zonales, usa--zone.LOCATION: Es la región o la zona de los discos en el grupo de coherencia. Para los discos regionales, usa la región. Para los discos zonales, usa la zona.CONSISTENCY_GROUP_NAME: el nombre del grupo de coherencia.
Go
Java
Enumera los discos zonales en un grupo de coherencia
Enumera los discos regionales en un grupo de coherencia
Node.js
Python
REST
Visualiza los discos en un grupo de coherencia mediante un filtro de consulta con uno de los siguientes métodos:
Consulta los discos zonales en un grupo de coherencia con el método
disks.get:GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks?filter=resourcePolicies%3DCONSISTENCY_GROUP_NAME
Puedes ver los discos regionales en un grupo de coherencia con el método
regionDisks.get:GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/disks?filter=resourcePolicies%3DCONSISTENCY_GROUP_NAME
Reemplaza lo siguiente:
PROJECT: el proyecto que contiene el grupo de coherenciaZONE: la zona de los discos en el grupo de coherenciaREGION: la región de los discos en el grupo de coherenciaCONSISTENCY_GROUP_NAME: el nombre del grupo de coherencia
Agrega un disco a un grupo de coherencia
Para agregar discos principales a un grupo de coherencia, debes agregar los discos al grupo de coherencia antes de comenzar la replicación. Puedes agregar discos secundarios a un grupo de coherencia en cualquier momento. Para habilitar la replicación asíncrona de los discos en un grupo de coherencia, todos los discos deben estar en la misma zona, para los discos zonales, o en el mismo par de zonas, para los discos regionales.
Agrega un disco a un grupo de coherencia con la Google Cloud consola, Google Cloud CLI, REST o Terraform.
Console
Para agregar discos a un grupo de coherencia, haz lo siguiente:
En la consola de Google Cloud , ve a la página Consistency Groups.
Haz clic en la pestaña Grupos de coherencia de disco.
Haz clic en el nombre del grupo de coherencia al que deseas agregar los discos. Se abrirá la página Administrar grupo de coherencia.
Haz clic en Asignar discos. Se abrirá la página Asignar discos.
Elige los discos que deseas agregar al grupo de coherencia.
Haz clic en Asignar discos. Cuando se te solicite, haz clic en Agregar.
gcloud
Agrega un disco a un grupo de coherencia con el comando gcloud compute disks add-resource-policies:
gcloud compute disks add-resource-policies DISK_NAME \
--LOCATION_FLAG=LOCATION \
--resource-policies=CONSISTENCY_GROUP
Reemplaza lo siguiente:
DISK_NAME: el nombre del disco que se agregará al grupo de coherenciaLOCATION_FLAG: la marca de ubicación para el disco. Para un disco regional, usa--region. Para un disco zonal, usa--zone.LOCATION: la región o la zona del disco. Para los discos regionales, usa la región. Para los discos zonales, usa la zona.CONSISTENCY_GROUP: la URL del grupo de coherencia. Por ejemplo,projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
Go
Java
Node.js
Python
REST
Agrega discos a un grupo de coherencia mediante uno de los siguientes métodos:
Agrega discos zonales a un grupo de coherencia con el método
disks.addResourcePolicies:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }Agrega discos regionales a un grupo de coherencia con el método
regionDisks.addResourcePolicies:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }
Reemplaza lo siguiente:
PROJECT: el proyecto que contiene el disco.LOCATION: la zona o la región del disco. Para los discos zonales, usa la zona. Para los discos regionales, usa la región.DISK_NAME: el nombre del disco que se agregará al grupo de coherencia.CONSISTENCY_GROUP: la URL del grupo de coherencia. Por ejemplo,projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
Terraform
Para agregar el disco al grupo de coherencia, usa el recurso compute_disk_resource_policy_attachment.
En el caso de un disco regional, especifica la región en lugar de la zona.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Quita un disco de un grupo de coherencia
Antes de quitar un disco de un grupo de coherencia, debes detener la replicación del disco.
Quita un disco de un grupo de coherencia con la Google Cloud consola, la Google Cloud CLI o REST.
Console
Para quitar discos principales de un grupo de coherencia, haz lo siguiente:
En la consola de Google Cloud , ve a la página Consistency Groups.
Haz clic en la pestaña Grupos de coherencia de disco.
Haz clic en el nombre del grupo de coherencia al que deseas agregar los discos. Se abrirá la página Administrar grupo de coherencia.
En la sección Miembros del grupo de coherencia, selecciona los discos que deseas quitar del grupo de coherencia.
Haz clic en Quitar discos. Cuando se te solicite, haz clic en Quitar.
gcloud
Quita un disco de un grupo de coherencia con el comando gcloud compute disks remove-resource-policies:
gcloud compute disks remove-resource-policies DISK_NAME \
--LOCATION_FLAG=LOCATION \
--resource-policies=CONSISTENCY_GROUP
Reemplaza lo siguiente:
DISK_NAME: el nombre del disco que se quitará del grupo de coherencia.LOCATION_FLAG: la marca de ubicación para el disco. Para un disco regional, usa--region. Para un disco zonal, usa--zone.LOCATION: la región o la zona del disco. Para los discos regionales, usa la región. Para los discos zonales, usa la zona.CONSISTENCY_GROUP: la URL del grupo de coherencia. Por ejemplo,projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME.
Go
Java
Node.js
Python
REST
Quita un disco de un grupo de coherencia con el método disks.removeResourcePolicies para discos zonales o el método regionDisks.removeResourcePolicies para discos regionales.
Quita un disco zonal de un grupo de coherencia:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/removeResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }Quita un disco regional de un grupo de coherencia:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/disks/DISK_NAME/removeResourcePolicies { "resourcePolicies": "CONSISTENCY_GROUP" }
Reemplaza lo siguiente:
PROJECT: el proyecto que contiene el disco.LOCATION: la zona o la región del disco. Para los discos zonales, usa la zona. Para los discos regionales, usa la región.DISK_NAME: el nombre del disco que se quitará del grupo de coherencia.CONSISTENCY_GROUP: la URL del grupo de coherencia. Por ejemplo,projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
Borrar un grupo de coherencia
Borra un grupo de coherencia con la Google Cloud consola, Google Cloud CLI o REST.
Console
Para borrar un grupo de coherencia, haz lo siguiente:
En la consola de Google Cloud , ve a la página Consistency Groups.
Haz clic en la pestaña Grupos de coherencia de disco.
Elige el grupo de coherencia que deseas borrar.
Haz clic en Borrar. Se abrirá la ventana Borrar grupo de coherencia.
Haz clic en Borrar.
gcloud
Borra la política de recursos mediante el comando gcloud compute resource-policies delete:
gcloud compute resource-policies delete CONSISTENCY_GROUP \
--region=REGION
Reemplaza lo siguiente:
CONSISTENCY_GROUP: el nombre del grupo de coherencia.REGION: la región del grupo de coherencia.
Go
Java
Node.js
Python
REST
Borra un grupo de coherencia con el método resourcePolicies.delete:
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
Reemplaza lo siguiente:
PROJECT: el proyecto que contiene el grupo de coherenciaREGION: la región del grupo de coherencia.CONSISTENCY_GROUP: el nombre del grupo de coherencia.
¿Qué sigue?
- Obtén información para administrar discos que usan la replicación asíncrona.
- Aprende cómo conmutar por error y por recuperación.
- Obtén información para supervisar el rendimiento de la replicación asíncrona.