Panoramica single-tenancy

Questo documento descrive i nodi single-tenant. Per informazioni su come eseguire il provisioning di VM sui nodi single-tenant, consulta Provisioning di VM su nodi single-tenant.

Single-tenancy ti consente di avere accesso esclusivo a un nodo single-tenant, ovvero un server fisico Compute Engine dedicato all'hosting solo delle VM del tuo progetto. Utilizza i nodi single-tenant per mantenere le VM fisicamente separate dalle VM di altri progetti o per raggruppare le VM sullo stesso hardware host come mostrato nel diagramma seguente. Puoi anche creare un gruppo di nodi single-tenant e specificare se vuoi condividerlo con altri progetti o con l'intera organizzazione.

Confronto tra un host multi-tenant e un nodo single-tenant.
Figura 1: un host multi-tenant e un nodo single-tenant.

Le VM in esecuzione su nodi single-tenant possono utilizzare le stesse funzionalità di Compute Engine delle altre VM, inclusa la pianificazione trasparente e l'archiviazione a blocchi, ma con un ulteriore livello di isolamento hardware. Per darti il controllo completo sulle VM sul server fisico, ciascun nodo single-tenant mantiene una mappatura one-to-one al server fisico su cui si basa il nodo.

All'interno di un nodo single-tenant, puoi eseguire il provisioning di più VM su tipi di macchine di varie dimensioni, in modo da utilizzare in modo efficiente le risorse sottostanti dell'hardware host dedicato. Inoltre, se scegli di non condividere l'hardware host con altri progetti, puoi soddisfare i requisiti di sicurezza o conformità con carichi di lavoro che richiedono l'isolamento fisico da altri carichi di lavoro o VM. Se il carico di lavoro richiede la single-tenancy solo temporaneamente, puoi modificare la tenancy delle VM in base alle esigenze.

I nodi single-tenant possono aiutarti a soddisfare i requisiti hardware dedicati per gli scenari Bring Your Own License (BYOL) che richiedono licenze per core o per processore. Quando utilizzi nodi single-tenant, hai una certa visibilità dell'hardware sottostante, che ti consente di monitorare l'utilizzo di core e processori. Per monitorare questo utilizzo, Compute Engine segnala l'ID del server fisico su cui è pianificata una VM. Quindi, utilizzando Cloud Logging, puoi visualizzare l'utilizzo storico di una VM da parte del server.

Per ottimizzare l'utilizzo dell'hardware host, puoi:

Tramite un criterio di manutenzione dell'host configurabile, puoi controllare il comportamento delle VM single-tenant mentre l'host è in fase di manutenzione. Puoi specificare quando sostituire la manutenzione e se le VM devono mantenere l'affinità con un server fisico specifico o se vengono spostate in altri nodi single-tenant all'interno di un gruppo di nodi.

Considerazioni sul carico di lavoro

I seguenti tipi di carichi di lavoro potrebbero trarre vantaggio dall'utilizzo di nodi single-tenant:

  • Carichi di lavoro di gioco con requisiti di prestazioni.

  • Carichi di lavoro finanziari o sanitari con requisiti di sicurezza e conformità.

  • Carichi di lavoro Windows con requisiti di licenza.

  • Carichi di lavoro di machine learning, elaborazione dei dati o rendering di immagini. Per questi carichi di lavoro, valuta la possibilità di prenotare GPU.

  • Carichi di lavoro che richiedono un aumento delle operazioni di I/O al secondo (IOPS) e una latenza ridotta o carichi di lavoro che utilizzano archiviazione temporanea sotto forma di cache, spazio di elaborazione o dati di scarso valore. Per questi carichi di lavoro, valuta la possibilità di prenotare SSD locali.

Modelli di nodo

Un modello di nodo è una risorsa di regione che definisce le proprietà di ciascun nodo in un gruppo di nodi. Quando crei un gruppo di nodi da un modello di nodi, le proprietà del modello di nodo vengono copiate in modo immutabile in ciascun nodo del gruppo.

Quando crei un modello di nodo, devi specificare un tipo di nodo. Se vuoi, puoi specificare le etichette di affinità dei nodi quando crei un modello di nodo. Puoi specificare le etichette di affinità dei nodi solo su un modello di nodo. Non puoi specificare le etichette di affinità dei nodi su un gruppo di nodi.

Tipi di nodo

Quando configuri un modello di nodo, specifica un tipo di nodo da applicare a tutti i nodi all'interno di un gruppo di nodi creato in base al modello di nodo. Il tipo di nodo single-tenant a cui fa riferimento il modello di nodo specifica la quantità totale di core vCPU e la memoria per i nodi creati nei gruppi di nodi che utilizzano il modello. Ad esempio, il tipo di nodo n2-node-80-640 ha 80 vCPU e 640 GB di memoria.

Le VM aggiunte a un nodo single-tenant devono avere lo stesso tipo di macchina del tipo di nodo specificato nel modello di nodo. Ad esempio, i tipi di nodi single-tenant n2 sono compatibili solo con le VM create con il tipo di macchina n2. Puoi aggiungere VM a un nodo single-tenant finché la quantità totale di vCPU o memoria non supera la capacità del nodo.

Quando crei un gruppo di nodi utilizzando un modello di nodo, ogni nodo nel gruppo eredita le specifiche del tipo di nodo del modello di nodo. Un tipo di nodo si applica a ogni singolo nodo all'interno di un gruppo di nodi, non a tutti i nodi del gruppo in modo uniforme. Pertanto, se crei un gruppo di nodi con due nodi che sono entrambi del tipo n2-node-80-640, a ogni nodo sono assegnati 80 vCPU e 640 GB di memoria.

A seconda dei requisiti dei carichi di lavoro, potresti riempire il nodo con più VM più piccole in esecuzione su tipi di macchine di varie dimensioni, tra cui tipi di macchine predefinite, tipi di macchine personalizzate e tipi di macchine con memoria estesa. Quando un nodo è pieno, non puoi pianificare VM aggiuntive su quel nodo.

La seguente tabella mostra i tipi di nodi disponibili. Per visualizzare un elenco dei tipi di nodi disponibili per il tuo progetto, esegui il comando gcloud compute sole-tenancy node-types list o la richiesta REST nodeTypes.list.

Tipo di nodo Processore vCPU GB vCPU:GB Socket Core:socket Core totali
c2-node-60-240 Cascade Lake 60 240 1:4 2 18 36
c3-node-176-352 Sapphire Rapids 176 352 1:2 2 48 96
c3-node-176-704 Sapphire Rapids 176 704 1:4 2 48 96
c3-node-176-1408 Sapphire Rapids 176 1408 1:8 2 48 96
c3d-node-360-708 AMD EPYC Genoa 360 708 1:2 2 96 192
c3d-node-360-1440 AMD EPYC Genoa 360 1440 1:4 2 96 192
c3d-node-360-2880 AMD EPYC Genoa 360 2880 1:8 2 96 192
g2-node-96-384 Cascade Lake 96 384 1:4 2 28 56
g2-node-96-432 Cascade Lake 96 432 1:4,5 2 28 56
h3-node-88-352 Sapphire Rapids 88 352 1:4 2 48 96
m1-node-96-1433 Skylake 96 1433 1:14,93 2 28 56
m1-node-160-3844 Broadwell E7 160 3844 1:24 4 22 88
m2-node-416-8832 Cascade Lake 416 8832 01:21,23 8 28 224
m2-node-416-11776 Cascade Lake 416 11776 01:28,31 8 28 224
m3-node-128-1952 Ice Lake 128 1952 1:15,25 2 36 72
m3-node-128-3904 Ice Lake 128 3904 1:30,5 2 36 72
n1-node-96-624 Skylake 96 624 1:6,5 2 28 56
n2-node-80-640 Cascade Lake 80 640 1:8 2 24 48
n2-node-128-864 Ice Lake 128 864 1:6,75 2 36 72
n2d-node-224-896 AMD EPYC Roma 224 896 1:4 2 64 128
n2d-node-224-1792 AMD EPYC Milan 224 1792 1:8 2 64 128

Per informazioni sui prezzi di questi tipi di nodi, consulta i prezzi dei nodi single-tenant.

Tutti i nodi ti consentono di pianificare VM di forme diverse. Il tipo di nodo n sono nodi per uso generico su cui puoi pianificare VM di tipo di macchina personalizzata. Per suggerimenti sul tipo di nodo da scegliere, consulta Suggerimenti per i tipi di macchine. Per informazioni sulle prestazioni, vedi Piattaforme CPU.

Gruppi di nodi e provisioning delle VM

I modelli di nodi single-tenant definiscono le proprietà di un gruppo di nodi e devi creare un modello di nodo prima di creare un gruppo di nodi in una zona Google Cloud. Quando crei un gruppo, specifica il criterio di manutenzione dell'host per le VM sul gruppo di nodi, il numero di nodi per il gruppo di nodi e se vuoi condividerlo con altri progetti o con l'intera organizzazione.

Un gruppo di nodi può avere zero o più nodi. Ad esempio, puoi ridurre a zero il numero di nodi in un gruppo quando non devi eseguire VM sui nodi nel gruppo oppure puoi abilitare il gestore della scalabilità automatica dei gruppi di nodi per gestire automaticamente le dimensioni del gruppo di nodi.

Prima di eseguire il provisioning delle VM sui nodi single-tenant, devi creare un gruppo di nodi single-tenant. Un gruppo di nodi è un insieme omogeneo di nodi single-tenant in una zona specifica. I gruppi di nodi possono contenere più VM in esecuzione su tipi di macchina di varie dimensioni, purché il tipo di macchina abbia due o più vCPU.

Quando crei un gruppo di nodi, abilita la scalabilità automatica in modo che le dimensioni del gruppo si adattino automaticamente ai requisiti del tuo carico di lavoro. Se i requisiti dei carichi di lavoro sono statici, puoi specificare manualmente la dimensione del gruppo di nodi.

Dopo aver creato un gruppo di nodi, puoi eseguire il provisioning delle VM nel gruppo o su un nodo specifico all'interno del gruppo. Per un ulteriore controllo, utilizza le etichette di affinità dei nodi per pianificare le VM su qualsiasi nodo con etichette di affinità corrispondenti.

Dopo aver eseguito il provisioning delle VM su gruppi di nodi e aver assegnato facoltativamente etichette di affinità per eseguire il provisioning delle VM su gruppi di nodi o nodi specifici, valuta la possibilità di etichettare le risorse per gestire le VM. Le etichette sono coppie chiave-valore che possono aiutarti a classificare le VM in modo da poterle visualizzare in forma aggregata per motivi come la fatturazione. Ad esempio, puoi utilizzare le etichette per contrassegnare il ruolo di una VM, la sua tenancy, il tipo di licenza o la sua posizione.

Criterio di manutenzione dell'host

A seconda degli scenari di licenza e dei carichi di lavoro, potrebbe essere opportuno limitare il numero di core fisici utilizzati dalle VM. I criteri di manutenzione dell'host che scegli possono dipendere, ad esempio, dai requisiti di licenza o di conformità. In alternativa, potresti scegliere un criterio che consenta di limitare l'utilizzo dei server fisici. Con tutti questi criteri, le tue VM rimangono su hardware dedicato.

Quando pianifichi le VM su nodi single-tenant, puoi scegliere tra le tre diverse opzioni dei criteri di manutenzione dell'host, che ti consentono di determinare come e se Compute Engine esegue la migrazione in tempo reale delle VM durante gli eventi host, che si verificano ogni 4-6 settimane circa. Durante la manutenzione, Compute Engine esegue la migrazione live come gruppo di tutte le VM sull'host a un nodo single-tenant diverso, ma in alcuni casi Compute Engine potrebbe suddividere le VM in gruppi più piccoli ed eseguire la migrazione live di ogni gruppo più piccolo di VM in nodi single-tenant separati.

Criterio di manutenzione dell'host predefinito

Questo è il criterio di manutenzione dell'host predefinito. Le VM sui gruppi di nodi configurati con questo criterio seguono il comportamento di manutenzione tradizionale per le VM non single-tenant. Ciò significa che, a seconda dell'impostazione di manutenzione nell'host dell'host della VM, le VM migrano live in un nuovo nodo single-tenant nel gruppo di nodi prima di un evento di manutenzione dell'host. Questo nuovo nodo single-tenant esegue solo le VM del cliente.

Questo criterio è più adatto alle licenze per utente o per dispositivo che richiedono la migrazione live durante gli eventi dell'host. Questa impostazione non limita la migrazione delle VM all'interno di un pool fisso di server fisici ed è consigliata per i carichi di lavoro generici senza requisiti di server fisici e che non richiedono licenze esistenti.

Poiché le VM eseguono la migrazione live su qualsiasi server senza considerare l'affinità dei server esistenti con questo criterio, questo criterio non è adatto agli scenari che richiedono la riduzione al minimo dell'utilizzo di core fisici durante gli eventi host.

La figura seguente mostra un'animazione del criterio di manutenzione dell'host predefinito.

Animazione del criterio di manutenzione dell'host predefinito.
Figura 2: animazione del criterio di manutenzione dell'host predefinito.

Criterio di manutenzione dell'host di riavvio in loco

Quando utilizzi questo criterio di manutenzione dell'host, Compute Engine arresta le VM durante gli eventi dell'host e riavvia le VM sullo stesso server fisico dopo l'evento dell'host. Quando utilizzi questo criterio, devi configurare l'impostazione di manutenzione dell'host per le VM su TERMINATE.

Questo criterio è più adatto per carichi di lavoro a tolleranza di errore e può comportare un tempo di inattività di circa un'ora durante gli eventi dell'host, i carichi di lavoro che devono rimanere sullo stesso server fisico, i carichi di lavoro che non richiedono la migrazione live o se disponi di licenze basate sul numero di core o processori fisici.

Con questo criterio, l'istanza può essere assegnata al gruppo di nodi utilizzando node-name, node-group-name o l'etichetta di affinità dei nodi.

La figura seguente mostra un'animazione del criterio di manutenzione Riavvio in corso.

Animazione del criterio di manutenzione dell'host in loco di riavvio
Figura 3: animazione del criterio di manutenzione dell'host Riavvia in loco.

Esegui la migrazione all'interno del criterio di manutenzione dell'host del gruppo di nodi

Quando utilizzi questo criterio di manutenzione dell'host, Compute Engine esegue la migrazione live delle VM all'interno di un gruppo di server fisici di dimensioni fisse durante gli eventi dell'host, il che consente di limitare il numero di server fisici univoci utilizzati dalla VM.

Questo criterio è più adatto per carichi di lavoro ad alta disponibilità con licenze basate sul numero di core o processori fisici, perché con questo criterio di manutenzione dell'host, ogni nodo single-tenant del gruppo è bloccato su un insieme fisso di server fisici, diverso dal criterio predefinito che consente la migrazione delle VM a qualsiasi server.

Per garantire la capacità per la migrazione live, Compute Engine prenota 1 nodo di holdback ogni 20 nodi prenotati. La tabella seguente mostra il numero di nodi di riserva prenotati da Compute Engine in base al numero di nodi prenotati per il gruppo di nodi.

Totale nodi nel gruppo Nodi di holdback riservati per la migrazione live
1 Non applicabile. È necessario prenotare almeno 2 nodi.
Da 2 a 20 1
Da 21 a 40 2
Da 41 a 60 3
Da 61 a 80 4
Da 81 a 100 5

Con questo criterio, ogni istanza deve scegliere come target un singolo gruppo di nodi utilizzando l'etichetta di affinità node-group-name e non può essere assegnata a un nodo specifico node-name. Questa operazione è necessaria per consentire a Compute Engine di eseguire la migrazione live delle VM nel nodo di isolamento in caso di evento host. Tieni presente che le VM possono utilizzare qualsiasi etichetta di affinità dei nodi personalizzati, purché venga assegnata la node-group-name e non il node-name.

La figura seguente mostra un'animazione del criterio di manutenzione dell'host Esegui la migrazione all'interno del gruppo di nodi.

Animazione della migrazione all'interno di un criterio di manutenzione dell'host del gruppo di nodi.
Figura 4: animazione del criterio di manutenzione dell'host Esegui la migrazione all'interno del gruppo di nodi.

Periodi di manutenzione

Se gestisci carichi di lavoro, ad esempio database ottimizzati, che potrebbero essere sensibili all'impatto sulle prestazioni della migrazione live, puoi determinare quando inizia la manutenzione su un gruppo di nodi single-tenant specificando un periodo di manutenzione quando crei il gruppo di nodi. Non puoi modificare il periodo di manutenzione dopo aver creato il gruppo di nodi.

I periodi di manutenzione sono blocchi di quattro ore che puoi utilizzare per specificare quando Google esegue la manutenzione sulle VM single-tenant. Gli eventi di manutenzione si verificano circa una volta ogni 4-6 settimane.

Il periodo di manutenzione si applica a tutte le VM nel gruppo di nodi single-tenant e specifica solo quando inizia la manutenzione. La manutenzione non è garantita durante il periodo di manutenzione e non vi è alcuna garanzia sulla frequenza di manutenzione. I periodi di manutenzione non sono supportati per i gruppi di nodi con il criterio di manutenzione dell'host Esegui la migrazione all'interno del gruppo di nodi.

Simula un evento di manutenzione dell'host

Puoi simulare un evento di manutenzione dell'host per testare il comportamento dei carichi di lavoro in esecuzione sui nodi single-tenant durante un evento di manutenzione dell'host. Ciò consente di vedere gli effetti del criterio di manutenzione dell'host della VM single-tenant sulle applicazioni in esecuzione sulle VM.

Errori relativi all'host

In caso di raro errore hardware critico nell'host ( single-tenant o multi-tenant), Compute Engine fa quanto segue:

  1. Ritira il server fisico e il relativo identificatore univoco.

  2. Revoca l'accesso del progetto al server fisico.

  3. Sostituisce l'hardware in errore con un nuovo server fisico che ha un nuovo identificatore univoco.

  4. Sposta le VM dall'hardware in errore al nodo sostitutivo.

  5. Riavvia le VM interessate se le hai configurate per il riavvio automatico.

Affinità e anti-affinità dei nodi

I nodi single-tenant assicurano che le tue VM non condividano l'host con VM di altri progetti, a meno che non utilizzi gruppi di nodi single-tenant condivisi. Con gruppi di nodi single-tenant condivisi, altri progetti all'interno dell'organizzazione possono eseguire il provisioning delle VM sullo stesso host. Tuttavia, potresti voler raggruppare più carichi di lavoro sullo stesso nodo single-tenant o isolare i carichi di lavoro l'uno dall'altro su nodi diversi. Ad esempio, per soddisfare alcuni requisiti di conformità, potrebbe essere necessario utilizzare le etichette di affinità per separare i carichi di lavoro sensibili da quelli non sensibili.

Quando crei una VM, richiedi la single-tenancy specificando l'affinità dei nodi o l'anti-affinità, facendo riferimento a una o più etichette di affinità dei nodi. Puoi specificare etichette di affinità dei nodi personalizzate quando crei un modello di nodo e Compute Engine include automaticamente alcune etichette di affinità predefinite su ciascun nodo. Se specifichi l'affinità quando crei una VM, puoi pianificare insieme le VM su uno o più nodi specifici di un gruppo di nodi. Specificando l'anti-affinità quando crei una VM, puoi assicurarti che determinate VM non vengano pianificate insieme sullo stesso nodo o negli stessi nodi in un gruppo di nodi.

Le etichette di affinità nodo sono coppie chiave-valore assegnate ai nodi e vengono ereditate da un modello di nodo. Le etichette di affinità ti consentono di:

  • Controlla il modo in cui le singole istanze VM vengono assegnate ai nodi.
  • Controlla il modo in cui le istanze VM create da un modello, come quelle create da un gruppo di istanze gestite, vengono assegnate ai nodi.
  • Raggruppa le istanze VM sensibili su nodi o gruppi di nodi specifici, separate dalle altre VM.

Etichette di affinità predefinite

Compute Engine assegna le seguenti etichette di affinità predefinite a ciascun nodo:

  • Un'etichetta per il nome del gruppo di nodi:
    • Chiave: compute.googleapis.com/node-group-name
    • Valore: nome del gruppo di nodi.
  • Un'etichetta per il nome del nodo:
    • Chiave: compute.googleapis.com/node-name
    • Valore: nome del singolo nodo.
  • Un'etichetta per i progetti con cui è condiviso il gruppo di nodi:
    • Chiave: compute.googleapis.com/projects
    • Valore: ID progetto del progetto contenente il gruppo di nodi.

Etichette di affinità personalizzata

Puoi creare etichette di affinità dei nodi personalizzate quando crei un modello di nodo. Queste etichette di affinità vengono assegnate a tutti i nodi nei gruppi di nodi creati dal modello di nodi. Non puoi aggiungere altre etichette di affinità personalizzata ai nodi di un gruppo di nodi dopo aver creato il gruppo di nodi.

Per informazioni su come utilizzare le etichette di affinità, consulta Configurazione dell'affinità dei nodi.

Prezzi

  • Per aiutarti a ridurre al minimo il costo dei nodi single-tenant, Compute Engine offre sconti per impegno di utilizzo e sconti per utilizzo sostenuto. Inoltre, dal momento che ti vengono già addebitate le vCPU e la memoria dei nodi single-tenant, non dovrai pagare un extra per le VM sui tuoi nodi single-tenant.

  • Se esegui il provisioning di nodi single-tenant con GPU o SSD locali, ti verrà addebitato il costo di tutte le GPU o gli SSD locali su ciascun nodo di cui esegui il provisioning. Il premium single-tenancy non si applica a GPU o SSD locali.

Disponibilità

  • I nodi single-tenant sono disponibili in determinate zone. Per garantire l'alta disponibilità, pianifica le VM su nodi single-tenant in zone diverse.

  • Prima di utilizzare GPU o SSD locali sui nodi single-tenant, assicurati di avere una quota sufficiente per GPU o SSD locali nella zona in cui prenota la risorsa.

  • Compute Engine supporta GPU su tipi di nodi single-tenant n1 e g2 che si trovano in zone con supporto GPU. La tabella seguente mostra i tipi di GPU che puoi collegare ai nodi n1 e g2 e il numero di GPU che devi collegare quando crei il modello di nodo.

    Tipo di GPU Quantità GPU Tipo di nodo single-tenant
    NVIDIA L4 8 g2
    NVIDIA P100 4 n1
    NVIDIA P4 4 n1
    NVIDIA T4 4 n1
    NVIDIA V100 8 n1
  • Compute Engine supporta SSD locali su tipi di nodi single-tenant n1, n2, n2d e g2 che si trovano in zone con supporto SSD locale.

Limitazioni

  • I nodi single-tenant C3 e C3D non supportano le CPU in overcommitting.
  • I nodi single-tenant C3 non supportano configurazioni di VM C3 diverse sullo stesso nodo single-tenant. Ad esempio, non puoi posizionare una VM c3-standard sullo stesso nodo single-tenant di una VM c3-highmem.

  • Non puoi aggiornare il criterio di manutenzione su un gruppo di nodi attivo.

Configurazioni di VM supportate dai nodi single-tenant M3

Il single-tenancy supporta le seguenti configurazioni di VM per i nodi single-tenant M3:

  • Su un nodo m3-node-128-3904, la modalità single-tenancy supporta le seguenti configurazioni di VM:

    • 1 x m3-ultramem-128
    • 2 x m3-ultramem-64
    • 1 x m3-megamem-128
    • 2 x m3-megamem-64

    Se vuoi eseguire m3-ultramem-32 istanze VM, puoi farlo nelle seguenti configurazioni:

    • 1 x m3-ultramem-64 (o 1 x m3-megamem-64) + 1 x m3-ultramem-32
    • 2 x m3-ultramem-32
  • Su un nodo m3-node-128-1952, la modalità single-tenancy supporta le seguenti configurazioni di VM:

    • 2 x m3-ultramem-32
    • 1 x m3-megamem-128
    • 2 x m3-megamem-64

    Se vuoi eseguire m3-ultramem-32 istanze VM, puoi farlo nelle seguenti configurazioni:

    • 1 x m3-megamem-64 + 1 x m3-ultramem-32
    • 2 x m3-ultramem-32

Passaggi successivi