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.getsul progetto - Per visualizzare un elenco di VM:
compute.instances.listsul 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.
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.
- Per visualizzare un elenco delle tue VM in tutte le zone, utilizza il metodo
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
- 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
- Connettiti alla VM Linux.
- Dalla VM Linux, crea una query utilizzando lo strumento curl. Per eseguire query sulla chiave di metadati
physical_host_topologysulle 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
- Connettiti alla VM Windows.
- Dalla VM Windows, crea una query utilizzando Invoke-RestMethod.
Per eseguire una query sulla chiave dei metadati
physical_host_topologysulle 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"
}