In questa settima parte dell’articolo su CSV, dimostrerò step-by-step l’implementazione di un Cluster 2008 R2 con attivazione dell’architettura CSV. 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)
Finalmente, dopo tanta teoria, ecco la prima parte di articolo con un po’ di pratica e dimostrazioni step-by-step!!
Implementazione del Cluster CSV : preparare lo Storage Condiviso
Prima della creazione del cluster CSV, è necessario preparare lo storage condiviso. Seguendo le best practices del fornitore dello storage, bisogna opportunamente creare i LUN da presentare ai nodi del cluster, già configurati in base alle soluzioni di ridondanza progettate (livelli di RAID).
Lo storage condiviso può essere raggiunto dai nodi con 3 tecniche : FC (Fibre Channel), SAS (Serial Attached SCSI) o iSCSI. La soluzione meno costosa è indubbiamente iSCSI, facilmente utilizzabile anche in ambiente di test/laboratorio.
iSCSI prevede la presenza di un dispositivo di storage (anche un server stesso) chiamato “iSCSI Target”, che conterrà tutti i LUN da presentare ai nodi. I nodi si collegheranno all’ iSCSI Target utilizzando un “iSCSI Initiator”. Microsoft fornisce via software entrambi questi componenti :
- Microsoft iSCSI Software Target : dal 4 aprile 2011 è stato reso pubblico e gratuito per tutti.
- Microsoft iSCSI Initiator : è presente per default in Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008; è scaricabile da Microsoft come package per Windows XP SP2 o successivi, Windows Server 2003 SP1 o successivi, Windows 2000 SP4
Nella seguente dimostrazione, ho installato il Microsoft iSCSI Software Target su un server di rete. La prima operazione è proprio creare gli iSCSI Target, cioè i contenitori dei LUN a cui i nodi si collegheranno (Fig. 1) :
Fig. 1
Per ogni iSCSI Target creato, ci viene chiesto quali sono i nodi che potranno collegarsi a lui : è comodo localizzarli tramite indirizzo IP (10.10.0.101 e 10.10.0.102 non sono altro che i due nodi del cluster che verrà poi creato) (Fig. 2) :
Fig. 2
Ecco due iSCSI Target creati (non c’è un limite massimo di iSCSI Target creabili : il limite è lo spazio su disco dello storage!) (Fig. 3) :
Fig. 3
Ora, nella sezione “Devices”, si creano i “Virtual Disk”: sono i LUN veri e propri, partizionabili e formattabili a piacimento, accessibili dai nodi via TCP/IP (Fig. 4) :
Fig. 4
Un “iSCSI Virtual Disk” non è altro che la simulazione di un disco fisico, eseguita utilizzando un file .vhd creato in un certa cartella sul server base (Fig. 5) :
Fig. 5
Ecco due Virtual Disk da 8GB e 20GB, entrambi associati al Target “LUN-01”. Questi saranno i due LUN effettivi che dovranno essere presentati ai nodi del cluster, e che appariranno come dischi fisici di base nella console “Gestione Disco” (Fig. 6) :
Fig. 6
Implementazione del Cluster CSV : collegare i nodi allo Storage Condiviso
Ora, sul primo dei nodi del cluster, ci si collega ai Virtual Disk utilizzando l’iSCSI Initiator. Dagli Strumenti Amministrativi, la prima volta che si clicca “iSCSI initiator”, si viene avvisati che il relativo servizio è spento. Cliccando su “Yes”, si avvia il servizio e lo si imposta su un tipo di startup “Automatico” (Fig. 7) :
Fig. 7
Nel tab “Targets”, nel campo “Target”, è sufficiente inserire l’indirizzo IP del server con il Microsoft iSCSI Software Target e cliccare “Quick Connect”. Vengono visti entrambi i Target creati nella mia procedura esemplificativa, e utilizzando i tasti “Connect” e/o “Disconnect”, è possibile rendere attivi (“connected”) o disattivi (”inactive”) i Target necessari (Fig. 8 ) :
Fig. 8
Una volta che ci si è connessi al Target voluto, nel tab “Volumes and Devices” cliccare il tasto “Auto Configure” per far comparire automaticamente i Virtual Disk configurati nel Target (Fig. 9) :
Fig. 9
Ecco i due nuovi dischi visti nella console “Disk Management”. Sono inizialmente in stato Offline. La prima operazione da fare è portarli Online (Fig. 10) :
Fig. 10
Una volta portati Online, lo stato dei dischi è “Not initialized”. Bisogna eseguire l’inizializzazione, con la quale si sceglie lo stile di partizionamento (MBR o GPT, entrambi supportati da Windows Server 2008 R2). L’inizializzazione appone al disco anche una “signature”, che permette al sistema operativo (e ai servizi di Cluster) di riconoscere il disco da quel momento in poi (Fig. 11) :
Fig. 11
Si creano ora le partizioni sui dischi. Nel mio esempio, ho assegnato lettere di drive e label opportune per far capire l’utilizzo delle partizioni (“Q:” verrà utilizzata per il Quorum del cluster, chiamato anche “Witness Disk” in Windows Server 2008; “M:” verrà utilizzata per memorizzare i vhd delle macchine virtuali). N.B. : il Quorum del cluster richiede poco spazio : è opportuno creare per lui una partizione molto piccola (pochi GB), perché il wizard di creazione del cluster assegnerà in automatico al Quorum la partizione più piccola trovata fra quelle disponibili (Fig. 12) :
Fig. 12
Sul secondo nodo, si ripetono i passi illustrati nelle figure 7, 8, 9. Non serve portare Online e inizializzare i dischi, né creare le partizioni, in quanto operazioni già eseguite sul primo nodo.
Implementazione del Cluster CSV : creazione del cluster
Su entrambi i nodi, si installa la Feature “Failover Clustering” da Server Manager (Fig. 13) :
Fig. 13
Sul primo dei nodi, si entra nello strumento Failover Clustering, e dal pannello centrale si lancia il wizard “Validate a Configuration” (Fig. 14) :
Fig. 14
Si indica di validare la configurazione hardware di entrambi i nodi (che devono essere due server già inseriti nel dominio Active Directory) (Fig. 15) :
Fig. 15
Il report presentato al termine del wizard deve validare correttamente tutti i componenti. Analizzare con attenzione eventuali warning o errori rilevati. Risolvere i problemi e rieseguire il wizard finchè non si raggiunge la perfetta validazione : creare un cluster ignorando gli avvisi del wizard, può portare a una configurazione non corretta per la quale Microsoft potrebbe non supportarvi, o peggio ancora a problemi di stabilità del cluster.
Sempre dal primo nodo, si può ora procedere alla creazione del cluster. Oltre a selezionare i nodi, il wizard chiede il nome e l’indirizzo IP di amministrazione del cluster; entrambi verranno registrati nel Server DNS a cui punta il nodo (Fig. 16) :
Fig. 16
Il wizard di creazione del cluster sceglie in automatico la modalità di Quorum (in base al numero di nodi inseriti) e il LUN da utilizzare come Witness Disk (Quorum); inoltre crea in automatico tutte le “Cluster Networks” (in base alle schede di rete trovate sui nodi; per la spiegazione, vedi la parte 4 di questo articolo, al paragrafo “Creazione delle Cluster Networks”) e rende utilizzabili dal cluster i dischi condivisi presentati ai nodi tramite iSCSI.
Implementazione del Cluster CSV : attivazione e configurazione di CSV
Attiviamo subito la tecnica CSV. Un’opportuna finestra ci avvisa di utilizzare CSV solo se vogliamo dare alta disponibilità alle macchine virtuali Hyper-V (Fig. 17) :
Fig. 17
Una volta abilitato CSV, nel pannello a sinistra compare la voce “Cluster Shared Volumes”. Nel pannello centrale ci viene indicato che nessun LUN è ancora stato assoggettato alla tecnica CSV (Fig. 18) :
Fig. 18
Con “Add Storage” procediamo a farlo (Fig. 19) :
Fig. 19
Nella finestra “Add Storage” vengono elencati i LUN disponibili al cluster, e non già utilizzati per altri scopi nel cluster (per es. come Witness Disk) (Fig. 20) :
Fig. 20
Ora il LUN è inserito nello spazio CSV, e lo si evince dal percorso “C:\ClusterStorage\Volume1” indicato in (Fig. 21) :
Fig. 21
Implementazione del Cluster CSV : creazione della macchina virtuale altamente disponibile
Ora, banalmente, tramite Esplora Risorse del primo nodo, copiamo il vhd di un’immagine virtuale nel percorso “C:\ClusterStorage\Volume1”. Ho creato una cartella “HA-Test” che faccia da contenitore dei files della macchina virtuale (Fig. 22) :
Fig. 22
Ora, dalla console Hyper-V del primo nodo, possiamo creare la macchina virtuale (Fig. 23) :
Fig. 23
Al momento di inserire la locazione della macchina virtuale, scelgo il LUN sotto CSV, rappresentato dal solito percorso “C:\ClusterStorage\Volume1” (Fig. 24) :
Fig. 24
Al momento di agganciare il vhd, scegliere quello precedentemente copiato in “C:\ClusterStorage\Volume1\HA-Test” (Fig. 25) :
Fig. 25
In presenza di processori diversi sui nodi del cluster, è sempre opportuno attivare l’opzione “Migrate to a physical computer with a different processor version” nelle proprietà della macchina virtuale che renderemo altamente disponibile (Fig. 26) :
Fig. 26
Rimanendo nelle proprietà (“Settings”) della macchina virtuale, è anche opportuno regolare i suoi settaggi di Startup Automatico; si va nella sezione “Automatic Start Action”, e si imposta l’opzione “Nothing”. Perché? Quando una macchina virtuale è altamente disponibile, la gestione del suo stato viene gestito dal Cluster, e non ci devono essere azioni automatiche impostate.
Ora si configura la macchina virtuale ad essere altamente disponibile, utilizzando la console del Failover Cluster e la sezione “Services and Applications” (Fig. 27) :
Fig. 27
Si indica “Virtual Machine” come applicazione da rendere altamente disponibile (Fig. 28) :
Fig. 28
Dalla lista di macchine virtuali rilevate sui due nodi, si seleziona quella configurata con il vhd nello spazio CSV, ovvero “HA-Test” nel mio esempio (Fig. 29) :
Fig. 29
Ora la macchina virtuale è altamente disponibile, pronta per subire una Quick Migration o una Live Migration, o per essere spostata in automatico sul secondo nodo in caso di disastri improvvisi del primo nodo. Quick e Live Migration sono eseguibili dalla console del cluster, come mostrato in figura 30. Notare che, inizialmente, la macchina virtuale HA-Test è in esecuzione su Nyc-Host1 (il primo nodo) (Fig. 30) :
Fig. 30
Durante la Live Migration, si può notare come la macchina virtuale resta perfettamente in linea e raggiungibile via rete (al massimo viene perso qualche ping…) (Fig. 31) :
Fig. 31
Al termine della Live Migration, la macchina virtuale risulta in esecuzione su Nyc-Host2 (il secondo nodo) (Fig. 32) :
Fig. 32
Nell’ottava parte di questo articolo, dimostrerò step-by-step le procedure di implementazione dell’alta disponibilità di una macchina virtuale in ambiente cluster CSV (con possibilità di eseguirne una Live Migration), quando questa è dotata di dischi pass-through.