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. Si conoces la disposición de tus VMs, puedes hacer lo siguiente:
- Ajusta el diseño de tu aplicación o carga de trabajo para minimizar aún más la latencia de red, especialmente en las cargas de trabajo que utilizan Cloud RDMA.
- Soluciona problemas de latencia o rendimiento de la red de las VMs que se comunican con frecuencia.
Antes de empezar
Asegúrate de que tienes 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, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de instancias de Compute (v. 1) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene todos los permisos necesarios para ver la topología de las máquinas virtuales. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Para ver la topología de las VMs, se necesitan los siguientes permisos:
- Para ver los detalles de una VM,
compute.instances.geten el proyecto - Para ver una lista de las VMs:
compute.instances.listen el proyecto
Información sobre la topología de las VMs
Cuando ves los detalles de una VM en ejecución, puedes obtener información sobre su ubicación física en un clúster consultando el campo Host físico (en la consola), el campo physicalHostTopology (en la CLI de Google Cloud) o la API de Compute Engine, o bien consultando la clave de metadatos. Google Cloud
Estos campos contienen los siguientes subcampos:
cluster: el nombre global del clúster.block: ID específico de la organización del bloque reservado en el que se encuentra la VM.sub-block: ID específico de la organización del subbloque en el que se encuentra la VM.host: el ID específico de la organización del host en el que se ejecuta la VM.
Para ver las definiciones de estos términos, consulta Terminología de clústeres.
Para saber lo cerca que están las máquinas virtuales entre sí, compara los valores de los campos Host físico o physicalHostTopology entre las máquinas virtuales. 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 ve un bloque reservado específico, puede ver el nombre y el subbloque de todas las máquinas virtuales que se han implementado en el bloque. Para obtener más información sobre la topología de una reserva, consulta Ver la topología de una reserva.
Ver la topología de las VMs
Para ver la ubicación física de varias máquinas virtuales en ejecución, selecciona una de las siguientes opciones:
Consola
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 máquina virtual 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, comprueba 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.
Haz los cambios siguientes:
VM_NAME: el nombre de la VM.ZONE: la zona en la que se encuentra la máquina virtual.
El resultado debería ser similar al siguiente:
---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059
REST
Para ver la ubicación física de las máquinas virtuales en ejecución, haz una de las siguientes solicitudes GET. Cuando hagas 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 debe incluir el parámetro de consulta filter
y especificar que solo se listen las máquinas virtuales 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
Sustituye lo siguiente:
* PROJECT_ID: el ID del proyecto en el que se encuentran las VMs.
* ZONE: la zona en la que se encuentran las VMs.
El resultado debería ser similar al 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 quiere acotar la lista de máquinas virtuales, edite la expresión de filtro en el parámetro de consulta filter.
Ver 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:
Máquinas virtuales Linux
- Conéctate a tu máquina virtual Linux.
- En tu VM de Linux, crea una consulta con la herramienta curl. Para consultar la clave de metadatos
physical_host_topologyen VMs Linux, ejecuta el siguiente comando:
curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology
El resultado debería ser similar al siguiente:
{
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
Máquinas virtuales de Windows
- Conéctate a tu VM de Windows.
- En tu VM de Windows, crea una consulta con Invoke-RestMethod.
Para consultar la clave de metadatos
physical_host_topologyen máquinas virtuales 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 debería ser similar al siguiente:
{
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
Siguientes pasos
- Gestionar eventos de host en varias máquinas virtuales
- Gestionar eventos de anfitrión en varias reservas