Cluster Shared Volumes (CSV) : parte 7

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 :

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) :

create-iscsi-target.jpg      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) :

create-advanced-identifiers.jpg      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) :

  disk-01vhd.jpg      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) :

vhd-creati-ad-accesso-lun-01.jpg     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) :

connette-iscsi-a-server.jpg        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 ) :

targets-connesso.jpg        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) :

volumes-and-devices-visti.jpg        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) :

portiamo-online-i-dischi.jpg       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) :

inizializziamo-i-dischi.jpg        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) :

volumi-creati.jpg       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) :

installa-cluster-sui-server.jpg        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) :

cluster-validation.jpg        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) :

creazione-cluster.jpg        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) :

  enable-csv.jpg      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) :

csv-abilitato.jpg        Fig. 18

Con “Add Storage” procediamo a farlo (Fig. 19) :

add-csv-storage.jpg      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) :

cluster-disk-2-come-csv.jpg      Fig. 20

Ora il LUN è inserito nello spazio CSV, e lo si evince dal percorso “C:\ClusterStorage\Volume1” indicato in (Fig. 21) :

summary-of-csv.jpg      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) :

copia-vhd-in-csv.jpg      Fig. 22

Ora, dalla console Hyper-V del primo nodo, possiamo creare la macchina virtuale (Fig. 23) :

crea-vm-in-hyper-v.jpg      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) :

store-in-csv.jpg      Fig. 24

Al momento di agganciare il vhd, scegliere quello precedentemente copiato in “C:\ClusterStorage\Volume1\HA-Test” (Fig. 25) :

connect-vhd-in-csv.jpg      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) :

migrate-diff-proc-flag.jpg      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) :

config-svc-or-appl.jpg      Fig. 27

Si indica “Virtual Machine” come applicazione da rendere altamente disponibile (Fig. 28) :

risorsa-virtual-machine.jpg      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) :

risorsa-ha-test.jpg      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) :

live-migrate.jpg    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.

 

Share / Save :

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.