Giuseppe Pino

Il Witness in Nutanix

Introduzione

Nel portfolio Nutanix esistono due scenari architetturali che richiedono un componente esterno per garantire il quorum e prevenire condizioni di split-brain: il Metro Cluster (AHV Metro Availability) e, per gli ambienti basati su ESXi/Hyper-V con Protection Domain, il Witness VM tradizionale.

A partire da Prism Central 2021.7, Nutanix ha integrato il Witness direttamente in Prism Central come servizio nativo (Witness Service Inside PC). Con pc.2024.3 e AOS 7.0 è stato inoltre introdotto il Witness Service ospitato su una VM dedicata (WSVM) esterna a Prism Central, che supporta anche configurazioni multi-AZ con istanze Prism Central diverse. Questo articolo esplora in dettaglio le due modalità operative del Witness nel contesto del Metro Cluster AHV, e il Witness VM tradizionale per gli ambienti ESXi/Hyper-V.


1. Witness Service e AHV Metro Availability

1.1 Cos’è AHV Metro Availability

AHV Metro Availability è la soluzione Nutanix per la business continuity sincrona tra due datacenter. I dati vengono replicati in tempo reale su entrambi i cluster, garantendo Recovery Point Objective (RPO) pari a zero e Recovery Time Objective (RTO) quasi nullo.

  • Replica sincrona dei dati su entrambi i siti in tempo reale
  • Latenza round-trip (RTT) richiesta tra i cluster: inferiore a 5 ms
  • Latenza RTT verso il Witness Service: inferiore a 200 ms
  • Migrazione non distruttiva delle VM tra i siti per manutenzione pianificata
  • Supporta solo cluster AHV (la replica sincrona in Nutanix DR non è supportata su ESXi o Hyper-V)

Nota: Per ambienti ESXi con Protection Domain, è disponibile una soluzione separata: il Witness VM tradizionale, documentato nella guida Data Protection and Recovery with Prism Element. Vedi anche la Sezione 2 di questo articolo.

1.2 Il Problema del Split-Brain

La sfida principale di qualsiasi configurazione Metro è evitare lo split-brain: se il link WAN tra i due siti si interrompe, entrambi i cluster potrebbero credere di essere l’unico sito attivo e tentare di scrivere sullo stesso storage container in modo indipendente, corrompendo i dati.

Il Witness Service risolve questo problema fungendo da arbitro esterno: quando la connettività tra i cluster è persa, il cluster che riesce a contattare il Witness Service acquisisce il lock e continua a operare. Il cluster isolato si blocca (freeze I/O), prevenendo qualsiasi corruzione dei dati.

Importante: Il cluster primario acquisisce sempre il lock per primo. Se le entità sono in esecuzione su entrambi i cluster e la connessione tra loro viene persa, ogni entità sospenderà le operazioni fino al ripristino della connettività.

1.3 Due Modalità del Witness Service

Le due soluzioni rispondono a esigenze architetturali diverse:

Caratteristica Witness Inside PC Witness Outside PC (WSVM)
Disponibile da pc.2021.7 pc.2024.3 + AOS 7.0
VM dedicata richiesta No (integrato in PC) Sì (Witness Service VM)
Cluster primari registrati su Stesso Prism Central Stesso o diversi Prism Central
Supporto multi-AZ (PC diversi) No Sì
Hypervisor cluster host WSVM N/A AHV (AOS ≥ 7.0) o ESXi (≥ 7)
Max Prism Central collegati 1 (same PC) 32
Max entità monitorate N/A (usa PC) 50.000
Configurazione Prism Central Settings > Witness Deploy WSVM + Connect da PC

1.4 Witness Service Ospitato Dentro Prism Central

Questa modalità utilizza il Witness Service integrato nell’istanza di Prism Central, inclusa la sua configurazione scale-out, per monitorare e gestire la configurazione di Nutanix Disaster Recovery. È la soluzione più semplice per ambienti in cui entrambi i cluster AHV sono registrati sullo stesso Prism Central.

Requisiti software

  • Prism Central: versione pc.2021.7 o successiva
  • Entrambi i cluster primario e di recovery devono essere registrati sullo stesso Prism Central
  • Il cluster AHV o ESXi che ospita Prism Central deve essere registrato allo stesso Prism Central
  • I cluster primario e di recovery devono eseguire AOS 6.0 o successivo

Raccomandazioni

  • Nutanix raccomanda di deployare Prism Central su un cluster con almeno 3 nodi per ospitare il Witness Service
  • È possibile ospitare il Witness Service anche su un Prism Central a 1 o 2 nodi, ma se l’istanza diventa non disponibile, le operazioni DR automatiche (failover e stretch break) saranno sospese fino al ripristino
  • Il cluster Prism Central deve trovarsi in un fault domain separato dai cluster primario e di recovery

Limitazioni importanti

  • AHV Metro Availability richiede un cluster con un minimo di 3 nodi — i cluster a 2 nodi non sono supportati con il Witness Service inside PC
  • Non utilizzabile quando due o più istanze Prism Central sono deployate su Availability Zone diverse (per questo scenario usare il Witness Outside PC)
  • Non supporta failover automatico non pianificato per repliche asincrone o NearSync
  • Non supporta failover automatico verso Nutanix Cloud AZ o NC2

Configurazione

Il Witness Service è abilitato di default in Prism Central. Per configurarlo:

  1. Accedere a Prism Central Settings > Witness (sezione General)
  2. Verificare la visibilità delle informazioni cluster — il Witness è già attivo
  3. Per abilitare il failover automatico, creare un Recovery Plan con Failure Execution Mode = Automatic
  4. Impostare il timeout “Execute failover after disconnectivity of” tra 30 e 300 secondi (raccomandato: tra 30 e 60 secondi per Metro Availability)

Timeout: Il valore specificato nel Recovery Plan prende precedenza su quello definito nella Protection Policy. Esempio: se la policy prevede 10 secondi e il Recovery Plan specifica 40 secondi, il timeout effettivo sarà di 40 secondi.

1.5 Witness Service Ospitato Fuori da Prism Central (WSVM)

Il Witness Service esterno opera su una VM dedicata (Witness Service VM — WSVM) deployata su un cluster separato. Questa soluzione è necessaria quando i cluster primario e di recovery sono registrati su istanze Prism Central diverse (configurazioni multi-AZ). Supporta sia cluster AHV che ESXi per l’hosting della WSVM.

Requisiti software

  • Prism Central: versione pc.2024.3 o successiva
  • I cluster AHV registrati devono eseguire una versione AOS supportata (vedi Compatibility Matrix)
  • Il cluster AHV che ospita la WSVM deve eseguire AOS 7.0 o successivo
  • Il cluster ESXi che ospita la WSVM deve eseguire ESXi 7 o successivo
  • Il Witness Service supporta Metro Availability tra cluster registrati sullo stesso o su diversi Prism Central

Requisiti hardware della WSVM

Risorsa Requisito Minimo
vCPU 4 (1 core per CPU)
RAM 18 GB
Storage WSVM 600 GB
Storage cluster host ≥ 600 GB disponibili

Raccomandazioni di deployment

  • Non deployare la WSVM nello stesso fault domain dei cluster primario e di recovery
  • Deployare Prism Central su un cluster con almeno 3 nodi
  • Non eseguire snapshot della WSVM per scopi di recovery
  • Aggiornare la WSVM prima di aggiornare le istanze Prism Central collegate
  • Dopo una pausa nella replica sincrona, riprendere manualmente la replica dal cluster AHV primario quando il cluster di recovery torna disponibile

Limitazioni

  • Non connettibile a più di 32 istanze Prism Central
  • Può monitorare un massimo di 50.000 entità
  • Non supporta failover automatico per repliche asincrone o NearSync
  • Non supporta failover automatico verso Nutanix Cloud AZ o NC2 su Azure
  • Non compatibile con local AZ dual-stack

1.6 Scenari di Failure e Comportamento del Witness

La tabella seguente riassume i comportamenti del Witness Service nei principali scenari di guasto:

Scenario Modalità Automatica (Witness attivo) Modalità Manuale
Cluster primario non disponibile o guasto rete completo sul primario I workload eseguono failover automatico verso il cluster di recovery. Intervento amministrativo richiesto: break della replica + failover manuale.
Cluster di recovery non disponibile o guasto rete completo sul recovery La replica sincrona si interrompe dopo il timeout. Le entità continuano sul primario. Il failover automatico non è possibile. Intervento amministrativo richiesto.
Perdita connettività tra i cluster (entrambi raggiungono il Witness) Il cluster primario acquisisce il lock per primo. La replica si interrompe verso il recovery. Le entità continuano sul primario. Intervento amministrativo richiesto per interrompere la replica.
Guasto del Witness Service Nessun impatto operativo, ma la capacità di failover automatico viene sospesa. Non applicabile.
Perdita connettività completa (nessun cluster raggiunge né l’altro né il Witness) Le I/O si bloccano sul cluster primario. Il failover automatico non è possibile. Al ripristino, riprendere manualmente la replica. Non applicabile.
Cluster primario isolato (non raggiunge né il recovery né il Witness) Il cluster di recovery acquisisce il lock dopo il built-in delay ed esegue il failover automatico. Le entità sul primario si bloccano. Non applicabile.
Cluster di recovery isolato (non raggiunge né il primario né il Witness) Il cluster primario acquisisce il lock e interrompe la replica verso il recovery. Le entità sul primario continuano a girare. Non applicabile.

1.7 Failover Senza Witness Service

In ambienti senza Witness Service, gli amministratori devono gestire manualmente i seguenti scenari:

  • In caso di guasto del cluster primario: interrompere manualmente Metro Availability
  • In caso di interruzione del link di rete tra i siti: eseguire manualmente il failover delle entità sul cluster di recovery tramite un Recovery Plan

Il comportamento in caso di guasto comunicazione con il recovery cluster dipende dalla modalità configurata:

  • Modalità Automatica: il sistema attende brevemente e poi disabilita Metro Availability sulle entità del cluster primario se il cluster secondario rimane irraggiungibile per il tempo specificato.
  • Modalità Manuale: il sistema rimane in attesa dell’intervento dell’amministratore.

2. Witness VM per ESXi e Hyper-V (Protection Domain)

2.1 Contesto e Differenze

Per gli ambienti che utilizzano ESXi o Hyper-V con la funzionalità di Protection Domain (Prism Element-based Metro Availability), Nutanix fornisce una soluzione separata basata sulla Witness VM tradizionale.

Nota: Per i nuovi deployment su AHV, Nutanix raccomanda di utilizzare Nutanix Disaster Recovery con il Witness Service integrato in Prism Central o esterno (WSVM). La soluzione Protection Domain-based con Witness VM è mantenuta per compatibilità con ambienti legacy ESXi/Hyper-V.

2.2 Ruolo e Collocazione della Witness VM

La Witness VM risiede in un failure domain separato da entrambi i cluster e fornisce una visione esterna per distinguere un guasto di sito da un’interruzione di rete, mantenendo il quorum tra i due cluster di un Protection Domain Metro.

La Witness VM non può essere ospitata su nessuno dei due cluster del Metro pair. Le opzioni raccomandate includono:

  • Un terzo sito fisico (anche un cluster monosnodo remoto)
  • Un cloud provider (AWS, Azure, GCP)
  • L’infrastruttura del datacenter centrale per deployment ROBO

3. Riepilogo Comparativo delle Soluzioni Witness

Criterio Witness Inside PC Witness Outside PC (WSVM) Witness VM (ESXi PE)
Scenario target AHV Metro (same PC) AHV Metro (same o multi-PC) ESXi/Hyper-V Metro (PD)
VM separata No Sì (WSVM) Sì (Witness VM)
Requisiti minimi Solo pc.2021.7+ 4 vCPU, 18 GB RAM, 600 GB Da documentazione PE
Multi-AZ (PC diversi) No Sì (fino a 32 PC) Sì
Configurazione PC Settings > Witness Deploy WSVM + Connect da PC Prism Element
Guida di riferimento DR Guide pc.7.5 DR Guide pc.7.5 Data Protection PE Guide

Best Practice Generali

Aspetto Raccomandazione
Posizionamento Sempre in un failure domain separato dai cluster primari
Connettività Percorsi di rete indipendenti verso ciascun cluster; RTT verso i cluster < 200 ms
Disponibilità Proteggere con HA il cluster che ospita il Witness/WSVM
Upgrade Aggiornare il Witness/WSVM prima di aggiornare i Prism Central collegati
Monitoraggio Attivare alert proattivi; verificare lo stato da PC Settings > Witness
Snapshot Non eseguire snapshot della WSVM per scopi di recovery

Conclusioni

Il Witness rappresenta un componente architetturale fondamentale per la resilienza distribuita in Nutanix. Con la release pc.2021.7 e la successiva evoluzione con pc.2024.3 + AOS 7.0, Nutanix ha progressivamente semplificato la gestione del quorum esterno, offrendo oggi tre soluzioni distinte che coprono tutti gli scenari enterprise:

  • Witness Service Inside PC: la soluzione più semplice per ambienti AHV con un singolo Prism Central, senza VM aggiuntive da gestire.
  • Witness Service Outside PC (WSVM): la soluzione enterprise per configurazioni multi-AZ con Prism Central diversi, con requisiti hardware significativi (4 vCPU, 18 GB RAM, 600 GB storage).
  • Witness VM tradizionale: mantenuta per compatibilità con ambienti ESXi/Hyper-V basati su Protection Domain.

La scelta tra le soluzioni dipende principalmente dalla topologia Prism Central adottata: ambienti same-AZ beneficiano della semplicità del Witness integrato, mentre architetture multi-AZ con istanze PC separate richiedono la WSVM esterna, da deployare in un fault domain indipendente dai cluster metro e aggiornare prima delle istanze Prism Central collegate.