In questa ottava parte dell’articolo su CSV, dimostrerò step-by-step come rendere altamente disponibile, in un cluster CSV, una macchina virtuale dotata di dischi Pass-Through. Ecco i link alle precedenti parti dell’articolo :
- Parte 1 : https://ivansalvade.it/cluster-shared-volumes-csv-parte-1/ (architettura e principi di funzionamento)
- Parte 2 : https://ivansalvade.it/cluster-shared-volumes-csv-parte-2/ (scopi di utilizzo e requisiti di infrastruttura)
- Parte 3 : https://ivansalvade.it/cluster-shared-volumes-csv-parte-3/ (dimensionamento di LUN, Volumi e VHD)
- Parte 4 : https://ivansalvade.it/cluster-shared-volumes-csv-parte-4/ (configurazione di rete)
- Parte 5 : https://ivansalvade.it/cluster-shared-volumes-csv-parte-5/ (il Redirected Access)
- Parte 6 : https://ivansalvade.it/cluster-shared-volumes-csv-parte-6/ (strategie di backup)
- Parte 7 : https://ivansalvade.it/cluster-shared-volumes-csv-parte-7/ (implementazione step-by-step di CSV)
Come già spiegato nella Parte 3 di questo articolo, nella sezione “Utilizzo dei Pass-Through Disk con CSV”, è possibile eseguire una Live Migration di una macchina virtuale dotata di dischi Pass-Through, a patto di configurarla correttamente nell’ambiente di Cluster CSV. La configurazione deve prevedere :
- l’inserimento nello spazio CSV del vhd contenente il sistema operativo della macchina virtuale
- l’inserimento, come “dipendenza” della macchina virtuale”, di uno o più dischi pass-through in dotazione alla macchina virtuale, che verranno utilizzati tipicamente per la parte dati
Vediamo in questo articolo le procedure step-by-step per questo tipo di implementazione.
In questa dimostrazione, parto dall’assunzione di aver già reso altamente disponibile una macchina virtuale, come illustrato nella Parte 7 di questo articolo.
Per prima cosa, vado a ricavare sull’iSCSI Target Software un LUN da dedicare come disco pass-through alla macchina virtuale. Nella figura, il LUN è il Virtual Disk 2 inserito in LUN-02 (Fig. 1) :
Fig. 1
Non appena rendo visibile il nuovo LUN al Nodo 1 tramite l’iSCSI Initiator, eccolo comparire nella console Gestione Disco (Fig. 2) :
Fig. 2
Eseguo il solito Online del disco (Fig. 3) …
Fig. 3
…e la solita inizializzazione per rendere il disco riconoscibile dal sistema operativo e dai servizi di Clustering (Fig. 4) :
Fig. 4
Ora riportare Offline il disco appena inizializzato : Hyper-V richiede che il disco sia Offline affinchè lo si possa agganciare come pass-through alla macchina virtuale; inoltre non serve formattarlo già ora, in quantio ci penserà il sistema operativo della macchina virtuale (Fig. 5) :
Fig. 5
Il disco deve essere reso visibile tramite iSCSI Initiator anche al Nodo 2, altrimenti il Cluster restituisce il seguente errore (Fig. 6) :
Fig. 6
Dopo che il disco è stato reso visibile a entrambi i nodi, si procedere a dichiarare il disco a Cluster, con l’azione “Add Disk” della console del Failover Cluster, sezione Storage (Fig. 7) :
Fig. 7
Ecco il riassunto dello storage ora disponibile : il Disk 1 in Quorum, il Disk 2 in CSV, il nuovo Disk 3 compare nello storage disponibile (Fig.8) :
Fig. 8
Come già detto, non è possibile assoggettare a CSV un disco che si pensa di utilizzare come pass-through in una macchina virtuale. Il tentativo di eseguire questa operazione (Fig. 9) …
Fig. 9
… porta a degli errori, visibili in Fig. 10 e Fig. 11 :
Fig. 10
Fig. 11
Quali sono le motivazioni dell’errore di Fig. 11 ? La tecnica CSV richiede che i dischi siano dotati di almeno una partizione formattata NTFS per poter ospitare i vhd delle macchine virtuali, e inoltre devono essere in stato Online, altrimenti CSV non riesce a leggere le informazioni di partizionamento dei dischi. Nel nostro caso, però, dobbiamo tenere il disco Offline, perchè solo in questo stato è possibile inserirlo come pass-through in una macchina virtuale. Questi due concetti antagonisti creano il suddetto errore.
Ora proviamo ad inserire il Disk 3 come pass-through disk della macchina virtuale, utilizzando la voce Settings nelle proprietà della macchina in console del Failover Cluster (Fig. 12) :
Fig. 12
Essendo il disco Offline, lo si può vedere nella sezione “Physical Hard Disk” (Fig. 13) :
Fig. 13
Ora, nella sezione “Disk Drives”, compare il “Cluster Disk 3”. Eseguo anche un Refresh (essenziale!!) della configurazione della macchina virtuale (Fig. 14) :
Fig. 14
Il primo refresh, però, comporta dei (giusti…) “Warning” indicati in Fig. 15 , Fig. 16 e Fig. 17 :
Fig. 15
Fig. 16
Fig. 17
La motivazione dei warning di Fig. 17 è la seguente : eseguendo il refresh della macchina virtuale nella console del cluster, il cluster si è accorto che il “Cluster Disk 3” (quello identificato dal cluster come \\.\PhysicalDrive9) non è ancora sotto il suo controllo. In effetti, come si nota in Fig. 8, quel disco è visibile solo nella sezione “Available Storage”; non è mai stato dichiarato in uso da qualche risorsa del cluster. Il refresh della macchina virtuale esegue proprio questa operazione. Infatti, appena sotto i due warning gialli, si nota proprio la dichiarazione del disco al cluster : “Adding the new storage required by virtual machine ‘HA-Test to the cluster“.
Ora, rieseguendo un secondo refresh a scopo di controllo, si nota il differente esito (Fig. 18 e Fig. 19) :
Fig. 18
Fig. 19
Ora il disco è completamente sotto il controllo del cluster, ed inoltre è dichiarato come dipendenza della macchina virtuale. Qualunque operazione di migrazione della macchina virtuale si porterà dietro pure il pass-through disk (Fig. 20) :
Fig. 20
Nella precedente Fig. 20, notare come la macchina virtuale era in esecuzione su Nyc-Host1. Ecco ora l’esecuzione di una nuova Live Migration della macchina virtuale HA-Test (Fig. 21) :
Fig. 21
Al completamento della Live Migration, si nota che l’owner è diventato NYC-Host2 (Fig. 22) :
Fig. 22
Eseguendo un Diskpart all’interno della macchina virtuale, si nota come il disco pass-through venga correttamente visto (Disk 1). E’ addirittura in stato Offline : è possibile ora procedere a partizionarlo e formattarlo secondo le esigenze, utilizzando il sistema operativo della macchina virtuale (Fig. 23) :
Fig. 23
Conclusione : la Live Migration di una macchina virtuale dotata di dischi Pass-Through funziona! Eccome se funziona!! 🙂
Buona implementazione a tutti!! 🙂