Depois de criar um cluster H4D em blocos de capacidade reservados, pode ver a disposição física das VMs que compõem o cluster. Compreender a disposição das suas VMs permite-lhe fazer o seguinte:
- Ajuste a sua aplicação ou o design da carga de trabalho para minimizar ainda mais a latência da rede, especialmente para cargas de trabalho que tiram partido do RDMA na nuvem.
- Resolva problemas de latência de rede ou desempenho de VMs que comunicam com frequência.
Antes de começar
Certifique-se de que tem as autorizações necessárias para ver as informações de topologia da VM.
Funções necessárias
Para receber as autorizações necessárias para ver a topologia das VMs, peça ao seu administrador para lhe conceder a função do IAM Administrador de instâncias do Compute (v1) no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Esta função predefinida contém todas as autorizações necessárias para ver a topologia das VMs. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:
São necessárias as seguintes autorizações para ver a topologia das VMs:
- Para ver os detalhes de uma VM:
compute.instances.getno projeto - Para ver uma lista de VMs:
compute.instances.listno projeto
Compreenda a topologia das VMs
Quando vê os detalhes de uma VM em execução, pode obter informações sobre a respetiva localização física num cluster verificando o campo Anfitrião físico (para a Google Cloud consola) ou o campo physicalHostTopology (para a
CLI Google Cloud), a API Compute Engine ou consultando a chave de metadados.
Estes campos contêm os seguintes subcampos:
cluster: o nome global do cluster.block: o ID específico da organização do bloco reservado onde a VM está localizada.sub-block: o ID específico da organização do sub-bloco onde a VM está localizada.host: o ID específico da organização do anfitrião onde a VM é executada.
Para ver as definições destes termos, consulte o artigo Terminologia de clusters.
Para compreender a proximidade das VMs, compare os valores dos campos Anfitrião físico ou physicalHostTopology entre as VMs. Quanto mais subcampos as VMs partilharem, mais próximas estão fisicamente.
Também pode ver a topologia de uma reserva na qual as VMs são criadas.
Os campos physicalHostTopology de uma reserva e de uma VM mostram os mesmos campos block
e cluster. Quando visualiza um bloco reservado específico, pode ver o nome e o sub-bloco de todas as VMs implementadas no bloco. Para mais
informações sobre a topologia de uma reserva, consulte o artigo Veja a topologia de uma reserva.
Veja a topologia das VMs
Para ver a localização física de várias VMs em execução, selecione qualquer uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página Instâncias de VM.
Na coluna Nome, clique no nome da MV para ver os respetivos detalhes. É apresentada uma página com os detalhes da VM. Por predefinição, o separador Detalhes está selecionado.
Na secção Informações básicas, verifique o valor do campo Anfitrião físico.
CLI do Google Cloud
Para ver a localização física de uma VM em execução, use o comando gcloud compute instances describe
com flatten=resourceStatus.physicalHostTopology.
Substitua o seguinte:
VM_NAME: o nome da VM.ZONE: a zona onde a VM existe.
O resultado é semelhante ao seguinte:
---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059
REST
Para ver a localização física das suas VMs em execução, faça um dos seguintes pedidos GET. Quando faz um pedido, tem de incluir o parâmetro de consulta fields e especificar que apenas quer mostrar os campos name, machineType e physicalHostTopology de uma VM. Também tem de incluir o parâmetro de consulta filter
e especificar que apenas devem ser listadas as VMs em execução.
- Para ver uma lista das suas VMs em todas as zonas:
instances.aggregatedListmethod.
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 uma lista das suas VMs numa zona específica: 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
Substitua o seguinte:
* PROJECT_ID: o ID do projeto onde as VMs existem.
* ZONE: a zona onde as VMs existem.
O resultado é semelhante ao seguinte:
{
"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"
}
}
},
...
]
}
Se quiser refinar a lista de VMs, edite a expressão de filtro no parâmetro de consulta filter.
Veja a topologia das VMs consultando a chave de metadados
Para ver a localização física de uma VM em execução consultando a
physical_host_topology chave de metadados, selecione uma das seguintes opções:
VMs Linux
- Estabeleça ligação à sua VM do Linux.
- Na VM Linux, crie uma consulta através da ferramenta curl. Para consultar a chave de metadados
physical_host_topologyem VMs Linux, execute o seguinte comando:
curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology
O resultado é semelhante ao seguinte:
{
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
VMs do Windows
- Estabeleça ligação à sua VM do Windows.
- Na VM do Windows, crie uma consulta através do Invoke-RestMethod.
Para consultar a chave de metadados
physical_host_topologyem VMs do Windows, execute o seguinte comando:
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology")
$value
O resultado é semelhante ao seguinte:
{
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
O que se segue?
- Faça a gestão de eventos de anfitrião em várias VMs
- Faça a gestão de eventos de anfitriões em várias reservas