Veja a topologia do cluster H4D

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.get no projeto
  • Para ver uma lista de VMs: compute.instances.list no 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.

    Aceda às 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.

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

  1. Estabeleça ligação à sua VM do Linux.
  2. Na VM Linux, crie uma consulta através da ferramenta curl. Para consultar a chave de metadados physical_host_topology em 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

  1. Estabeleça ligação à sua VM do Windows.
  2. Na VM do Windows, crie uma consulta através do Invoke-RestMethod. Para consultar a chave de metadados physical_host_topology em 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?