Visualizzare la topologia del cluster H4D

Dopo aver creato un cluster H4D su blocchi di capacità riservati, puoi visualizzare la disposizione fisica delle VM che compongono il cluster. Comprendere la disposizione delle VM ti consente di:

  • Modifica la progettazione dell'applicazione o del workload per ridurre ulteriormente la latenza di rete, soprattutto per i workload che utilizzano Cloud RDMA.
  • Risolvi i problemi di latenza o prestazioni di rete delle VM che comunicano di frequente.

Prima di iniziare

Assicurati di disporre delle autorizzazioni necessarie per visualizzare le informazioni sulla topologia delle VM.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per visualizzare la topologia delle VM, chiedi all'amministratore di concederti il ruolo IAM Compute Instance Admin (v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene tutte le autorizzazioni necessarie per visualizzare la topologia delle VM. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Per visualizzare la topologia delle VM sono necessarie le seguenti autorizzazioni:

  • Per visualizzare i dettagli di una VM: compute.instances.get sul progetto
  • Per visualizzare un elenco di VM: compute.instances.list sul progetto

Comprendere la topologia delle VM

Quando visualizzi i dettagli di una VM in esecuzione, puoi recuperare informazioni sulla sua posizione fisica all'interno di un cluster controllando il campo Host fisico (per la console Google Cloud ) o il campo physicalHostTopology (per Google Cloud CLI), l'API Compute Engine o interrogando la chiave dei metadati. Questi campi contengono i seguenti campi secondari:

  • cluster: il nome globale del cluster.
  • block: l'ID specifico dell'organizzazione del blocco riservato in cui si trova la VM.
  • sub-block: l'ID specifico dell'organizzazione del sottoblocco in cui si trova la VM.
  • host: l'ID specifico dell'organizzazione dell'host su cui viene eseguita la VM.

Per le definizioni di questi termini, consulta Terminologia dei cluster.

Per capire quanto sono vicine le VM tra loro, confronta i valori dei campi Host fisico o physicalHostTopology tra le VM. Più campi secondari condividono le VM, più sono vicine fisicamente.

Puoi anche visualizzare la topologia di una prenotazione in cui vengono create le VM. I campi physicalHostTopology di una prenotazione e di una VM mostrano gli stessi campi block e cluster. Quando visualizzi un blocco riservato specifico, puoi visualizzare il nome e il sottoblocco di tutte le VM di cui è stato eseguito il deployment nel blocco. Per ulteriori informazioni sulla topologia di una prenotazione, consulta Visualizzare la topologia di una prenotazione.

Visualizza la topologia delle VM

Per visualizzare la posizione fisica di più VM in esecuzione, seleziona una delle seguenti opzioni:

Console

  • Nella console Google Cloud , vai alla pagina Istanze VM.

    Vai a Istanze VM

  • Nella colonna Nome, fai clic sul nome della VM per visualizzarne i dettagli. Viene visualizzata una pagina con i dettagli della VM. La scheda Dettagli è selezionata per impostazione predefinita.

  • Nella sezione Informazioni di base, controlla il valore del campo Host fisico.

Google Cloud CLI

Per visualizzare la posizione fisica di una VM in esecuzione, utilizza il comando gcloud compute instances describe con flatten=resourceStatus.physicalHostTopology.

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.
  • ZONE: la zona in cui esiste la VM.

L'output è simile al seguente:

---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059

REST

Per visualizzare la posizione fisica delle VM in esecuzione, invia una delle seguenti richieste GET. Quando effettui una richiesta, devi includere il parametro di query fields e specificare di mostrare solo i campi name, machineType e physicalHostTopology di una VM. Devi includere anche il parametro di query filter e specificare di elencare solo le VM in esecuzione.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
  • Per visualizzare un elenco delle tue VM in una zona specifica, utilizza il metodo 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

Sostituisci quanto segue: * PROJECT_ID: l'ID del progetto in cui esistono le VM. * ZONE: la zona in cui si trovano le VM.

L'output è simile al seguente:

{
  "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 vuoi perfezionare l'elenco delle VM, modifica l'espressione di filtro nel parametro di query filter.

Visualizza la topologia delle VM eseguendo query sulla chiave dei metadati

Per visualizzare la posizione fisica di una VM in esecuzione eseguendo una query sulla chiave di metadati physical_host_topology, seleziona una delle seguenti opzioni:

VM Linux

  1. Connettiti alla VM Linux.
  2. Dalla VM Linux, crea una query utilizzando lo strumento curl. Per eseguire query sulla chiave di metadati physical_host_topology sulle VM Linux, esegui questo comando:
curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology

L'output è simile al seguente:

{
  "cluster": "europe-west4-cluster-jfhb",
  "block": "3e3056e23cf91a5cb4a8621b6a52c100",
  "subBlock": "1fc18636cbd4abd623553784ca2c174e",
  "host": "2326279b5ecdfc545fd5e39167698168"
}

VM Windows

  1. Connettiti alla VM Windows.
  2. Dalla VM Windows, crea una query utilizzando Invoke-RestMethod. Per eseguire una query sulla chiave dei metadati physical_host_topology sulle VM Windows, esegui questo comando:
$value = (Invoke-RestMethod `
  -Headers @{'Metadata-Flavor' = 'Google'} `
  -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology")
$value

L'output è simile al seguente:

{
  "cluster": "europe-west4-cluster-jfhb",
  "block": "3e3056e23cf91a5cb4a8621b6a52c100",
  "subBlock": "1fc18636cbd4abd623553784ca2c174e",
  "host": "2326279b5ecdfc545fd5e39167698168"
}

Passaggi successivi