Después de crear un clúster H4D en bloques de capacidad reservados, puedes ver la disposición física de las VMs que componen el clúster. Comprender la disposición de tus VMs te permite hacer lo siguiente:
- Ajusta el diseño de tu aplicación o carga de trabajo para minimizar aún más la latencia de la red, en especial para las cargas de trabajo que aprovechan Cloud RDMA.
- Soluciona problemas de rendimiento o latencia de red de las VMs que se comunican con frecuencia.
Antes de comenzar
Asegúrate de tener los permisos necesarios para ver la información de la topología de la VM.
Roles obligatorios
Para obtener los permisos que necesitas para ver la topología de las VMs, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene todos los permisos necesarios para ver la topología de las VMs. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Se requieren los siguientes permisos para ver la topología de las VMs:
- Para ver los detalles de una VM, ejecuta
compute.instances.geten el proyecto. - Para ver una lista de VMs, ejecuta
compute.instances.listen el proyecto.
Comprende la topología de las VMs
Cuando ves los detalles de una VM en ejecución, puedes recuperar información sobre su ubicación física dentro de un clúster. Para ello, verifica el campo Host físico (Physical host) en la consola de Google Cloud, el campo physicalHostTopology en Google Cloud CLI, la API de Compute Engine o consulta la clave de metadatos. Google Cloud
Estos campos contienen los siguientes subcampos:
cluster: Es el nombre global del clúster.block: Es el ID específico de la organización del bloque reservado en el que se encuentra la VM.sub-block: Es el ID específico de la organización del subbloque en el que se encuentra la VM.host: Es el ID específico de la organización del host en el que se ejecuta la VM.
Para obtener las definiciones de estos términos, consulta Terminología de clústeres.
Para comprender qué tan cerca están las VMs entre sí, compara los valores de los campos Host físico o physicalHostTopology entre las VMs. Cuantos más subcampos compartan las VMs, más cerca estarán físicamente.
También puedes ver la topología de una reserva en la que se crean las VMs.
Los campos physicalHostTopology de una reserva y una VM muestran los mismos campos block y cluster. Cuando ves un bloque reservado específico, puedes ver el nombre y el subbloque de todas las VMs que se implementaron en el bloque. Para obtener más información sobre la topología de una reserva, consulta Cómo ver la topología de una reserva.
Cómo ver la topología de las VMs
Para ver la ubicación física de varias VMs en ejecución, selecciona una de las siguientes opciones:
Console
En la consola de Google Cloud , ve a la página Instancias de VM.
En la columna Nombre, haz clic en el nombre de la VM para ver sus detalles. Aparecerá una página con los detalles de la VM. La pestaña Detalles está seleccionada de forma predeterminada.
En la sección Información básica, verifica el valor del campo Host físico.
Google Cloud CLI
Para ver la ubicación física de una VM en ejecución, usa el comando gcloud compute instances describe con flatten=resourceStatus.physicalHostTopology.
Reemplaza lo siguiente:
VM_NAME: El nombre de la VM.ZONE: La zona en la que existe la VM.
El resultado es similar a lo siguiente:
---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059
REST
Para ver la ubicación física de tus VMs en ejecución, realiza una de las siguientes solicitudes GET. Cuando realices una solicitud, debes incluir el parámetro de consulta fields y especificar que solo se muestren los campos name, machineType y physicalHostTopology de una VM. También debes incluir el parámetro de consulta filter y especificar que solo se listen las VMs en ejecución.
- Para ver una lista de tus VMs en todas las zonas, usa el método
instances.aggregatedList.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
- Para ver una lista de tus VMs en una zona específica, usa el método
instances.list.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
Reemplaza lo siguiente:
* PROJECT_ID: Es el ID del proyecto en el que existen las VMs.
* ZONE: Es la zona en la que existen las VMs.
El resultado es similar a lo siguiente:
{
"items": [
{
"name": "vm-01",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west4-b/machineTypes/h4d-highmem-192-lssd",
"resourceStatus": {
"physicalHostTopology": {
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "0fc09525cbd5abd734342893ca1c083f",
"host": "1215168a4ecdfb434fd4d28056589059"
}
}
},
{
"name": "vm-02",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/h4d-highmem-192-lssd",
"resourceStatus": {
"physicalHostTopology": {
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
}
},
...
]
}
Si deseas definir mejor tu lista de VMs, edita la expresión de filtro en el parámetro de búsqueda filter.
Visualiza la topología de las VMs consultando la clave de metadatos
Para ver la ubicación física de una VM en ejecución consultando la clave de metadatos physical_host_topology, selecciona una de las siguientes opciones:
VM de Linux
- Conéctate a tu VM de Linux.
- Desde tu VM de Linux, crea una consulta con la herramienta curl. Para consultar la clave de metadatos
physical_host_topologyen las VMs de Linux, ejecuta el siguiente comando:
curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology
El resultado es similar a lo siguiente:
{
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
VM de Windows
- Conéctate a tu VM de Windows.
- Desde tu VM de Windows, crea una consulta con Invoke-RestMethod.
Para consultar la clave de metadatos
physical_host_topologyen las VMs de Windows, ejecuta el siguiente comando:
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology")
$value
El resultado es similar a lo siguiente:
{
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
¿Qué sigue?
- Administra los eventos del host en todas las VMs
- Administra los eventos del host en todas las reservas