SAN a buon mercato

Per realizzare il piano, utilizzeremo due server Dell identici con montaggio su rack 1U con due porte Gigabit Ethernet connesse in modo incrociato. Su questi server caricheremo quindi una raccolta di software open source. Innanzitutto, avremo bisogno di un sistema operativo e non dovrebbe sorprendere che il sistema operativo scelto sia Linux. La variante che utilizzeremo è CentOS 4. Il progetto Community ENterprise Operating System rende Red Hat Enterprise Linux (RHEL) disponibile per il resto di noi (ovvero coloro che desiderano utilizzare l'eccellente RHEL ma non spendere £ 200 all'anno per server per aggiornamenti). Ciò che fa CentOS è prendere il codice sorgente di Red Hat, compilarlo e riconfezionarlo. Ottieni quindi tutto il buon software fornito da Red Hat gratuitamente e, sebbene non ricevi supporto da Red Hat, ottieni aggiornamenti.

SAN a buon mercato

Recentemente, CentOS ha anche iniziato a includere pacchetti extra nella sua offerta, due dei quali ne utilizzeremo. Il primo è "heartbeat" del Linux High Availability Project, con il quale implementeremo il failover attivo-passivo. Come suggerisce il nome, heartbeat è un insieme di strumenti che consentono a un gruppo di PC di monitorare l'attività reciproca (tramite un segnale di battito cardiaco), rilevare la "morte" e assumere il controllo dei servizi di un'altra macchina. L'altro pacchetto che utilizzeremo è DRBD, che consente di condividere un dispositivo a blocchi (tipicamente una partizione del disco) tra due macchine. La macchina che utilizza il dispositivo viene quindi impostata come primaria e qualsiasi aggiornamento apportato al dispositivo viene inoltrato al secondario; se il primario fallisce, il secondario può essere reso primario. Quando la macchina guasta ritorna, si risincronizza con la macchina primaria corrente e poi ne prende il controllo.

Installare entrambi in CentOS 4 è semplice. Innanzitutto, esegui il comando "yum groupinstall drbd-heartbeat". Quindi, per installare il modulo kernel DRBD per il tuo kernel, esegui il comando "uname -r" per scoprire la versione del tuo sistema operativo. Sul nostro sistema, questo ha restituito il messaggio "2.6.9-22.0.1.ELsmp", quindi per installare il modulo kernel DRBD abbiamo emesso "yum install kernel-module-drbd-2.6.9-22.0.1.ELsmp".

C'è un'ultima cosa che dobbiamo installare ed è il software di destinazione iSCSI stesso. Un rapido controllo su Internet mostrerà tre o quattro versioni, ma alcune di queste non sono molto attive. Quello che abbiamo scelto era un progetto creato di recente chiamato iSCSI Enterprise Target (iscsitarget.sourceforge.net). Uno sguardo superficiale al sito Web suggerisce che non funzionerebbe sul sistema CentOS 4 da noi scelto, poiché richiede la versione del kernel 2.6.13 o successiva (stiamo utilizzando la 2.6.9). Tuttavia, questo è un kernel derivato da Red Hat, il che significa che il numero di versione del kernel è alquanto “eccentrico”. Tutti i pacchetti Red Hat tendono a iniziare a un livello base (2.6.9 in questo caso) e poi a includere le patch loro, quindi alcune delle differenze tra i kernel 2.6.9 e successivi sono in realtà già presenti nel kernel derivato da RHEL nocciolo. Siamo sicuri che ci sia molto di più, ma in sostanza qualcuno ha svolto il lavoro per noi e un rapido controllo della documentazione basata su Wiki contiene una guida all'installazione per Red Hat. Seguendo queste istruzioni, il software di destinazione è stato installato su entrambe le macchine.

Configurazione iSCSI

Cominciamo con uno scenario semplice. Prenderemo un disco su una macchina e lo pubblicheremo tramite iSCSI. Tutto il lavoro di configurazione viene eseguito in un file sulla macchina, in /etc/ietd.conf, e abbiamo modificato questo file in modo che contenga tre righe:

Utente in entrata joe secretsecret

Questo imposta un singolo nome utente per l'accesso (abbiamo usato la password secretsecret poiché ha 12 lettere e funziona meglio con Windows). La riga successiva è: