Windows Xp e RAID 5: soluzione a basso costo

Sfruttare al massimo le caratteristiche del RAID 5 di Windows XP

Esiste un'ampia gamma di hard disk: Hitachi, Maxtor, Seagate e Western Digital. Solitamente per un uso in ufficio o in casa, un singolo disco è più che sufficiente, ma per una grande impresa, server composti da molti hard disk sono spesso essenziali. L'unico problema è che questi sistemi RAID non sono esattamente economici. Molte schede madri sono dotate di controller RAID integrati, ma non sempre sono adatti ad applicazioni di tipo file server; la maggior parte supporta solo le modalità RAID più semplici, come la 0, la 1 o la loro combinazione 0+1 (striping & mirroring). Anche se il RAID 0 è sufficiente per ottenere alta capacità di immagazzinamento dati e ottime prestazioni, il rischio di perdere dei dati a causa della rottura di un hard disk aumenta in proporzione al numero di hard disk che compongono il sistema RAID. Una più felice situazione si ha utilizzando una modalità RAID 0+1, caratterizzata da un perfetto equilibrio tra prestazioni e sicurezza dei dati. L'unico inconveniente è che la capacità del sistema viene ridotta della metà. Se un'alta capacità è la prima priorità del vostro sistema, la soluzione migliore è un RAID 5, che distribuisce i dati su tutti i dischi aggiungendo automaticamente le necessarie informazioni di parità. La capacità netta di tutto il sistema equivale alla somma delle dimensioni di tutti gli hard disk, meno la capacità di uno, ma questa soluzione non è semplice come sembra: il calcolo dell'informazione di parità, così come la ricostruzione in tempo reale dei dati, in caso di malfunzionamenti del drive, richiede l'uso di una CPU potente. L'utente è di conseguenza obbligato a scegliere un controller RAID più costoso, che integri un'unità XOR, oppure a puntare su un sistema più economico ma che caricherebbe la CPU con tutti i calcoli di parità XOR. Allora perché non usare l'opzione per un sistema RAID 5 software? Se il budget è limitato e avete comunque la possibilità di usare un semplice controller RAID senza unità XOR, considerate anche la possibilità di implementare un RAID 5 via software. Il sistema RAID 5 software offerto da Windows Server può sfruttare tutti i drives esistenti, rendendo un controller RAID 5 hardware non più necessario. Comunque, se avete bisogno solo dei file services, non dovrete nemmeno ricorrere ad una costosa licenza di Windows Server, dato che, dopo qualche piccolo accorgimento, persino Windows XP sarà in grado di gestire un sofisticato sistema RAID.
Libero sfogo al RAID 5 Di Windows XP

Sciogliere le redini di Windows XP per farlo funzionare in piena modalità RAID 5 richiede un editor in grado di modificare files in esadecimale (per esempio Ultra Edit) ed il vostro CD di Windows XP. Prima di tutto dovrete copiare alcuni files in una directory temporanea:
C:\windows\system32\drivers\dmboot.sys
C:\windows\system32\dmconfig.dll
C:\windows\system32\Dmadmin.exe
Quindi, aprite questi files usando il vostro editor per files esadecimali ed eseguite le seguenti modifiche:

dmboot.sys:
Prima:
0000f1f0h: 74 00 54 00 79 00 70 00 65 00 00 00 57 49 4E 4E ; t.T.y.p.e...WINN
0000f200h: 54 00 00 00 53 45 52 56 45 52 4E 54 00 00 00 00 ; T...SERVERNT....

Dopo:
0000f1f0h: 74 00 54 00 79 00 70 00 65 00 00 00 53 45 52 56 ; t.T.y.p.e...SERV
0000f200h: 45 52 4E 54 57 49 4E 4E 54 00 00 00 00 00 00 00 ; ERNTWINNT.......

 

dmconfig.dll:
Prima
00005140h: 4C 41 4E 4D 41 4E 4E 54 00 00 00 00 53 45 52 56 ; LANMANNT....SERV
00005150h: 45 52 4E 54 00 00 00 00 57 49 4E 4E 54 00 00 00 ; ERNT....WINNT...

Dopo
00005140h: 4C 41 4E 4D 41 4E 4E 54 00 00 00 00 57 49 4E 4E ; LANMANNT....WINN
00005150h: 54 00 00 00 00 00 00 00 53 45 52 56 45 52 4E 54 ; T.......SERVERNT

 

dmadmin.exe:
Prima
00001c30h: 73 65 72 76 65 72 6E 74 00 00 00 00 6C 61 6E 6D ; servernt....lanm
00001c40h: 61 6E 6E 74 00 00 00 00 50 72 6F 64 75 63 74 54 ; annt....ProductT

Dopo
00001c30h: 77 69 6E 6E 74 00 00 00 00 00 00 00 6C 61 6E 6D ; winnt.......lanm
00001c40h: 61 6E 6E 74 00 00 00 00 50 72 6F 64 75 63 74 54 ; annt....ProductT

Dopo che avete salvato le modifiche, dovrete sostituire i file correntemente in uso nella directory di sistema di Windows (\Windows\System32) con quelli da voi salvati. Sovrascrivere questi files però, farà sì che Windows se ne accorga e dopo avervi mostrato un messaggio di allarme, sovrascriva le vostre versioni con i file originali presi dalla directory di backup. Se il vostro drive di sistema sta usando FAT32, usate questa procedura: riavviate il sistema usando un disco del buon vecchio DOS, dopodiché sovrascrivete manualmente i file con le vostre versioni, in modo che Windows non si accorga di alcuna modifica. Dato che FAT32 non fornisce alcuna forma di sicurezza, vi sconsigliamo di utilizzare questo file system sulla vostra macchina. In ambiente NTFS dovrete riavviare il sistema utilizzando il CD di Windows XP ed eseguire la Recovery Console. Ciò vuol dire premere il tasto 'R' nella prima schermata di opzioni che appare. Per prima cosa entriamo nella directory di sistema: (nel nostro esempio C:\Windows)
C: [ENTER]
cd\windows [ENTER]
Ora, copiate i file uno alla volta usando i seguenti comandi. Attenzione che tutti i file sono presenti in due diverse directory di windows! Per praticità abbiamo copiato i file modificati, in un floppy disk, che nell'esempio viene identificato con la lettera 'a'. Potete usare la directory temporanea creata in precedenza (sostituendo 'a:' con il suo percorso), oppure copiare i file modificati su un floppy prima di eseguire questa procedura.
copy a:\dmboot.sys system32\drivers
copy a:\dmboot.sys system32\dllcache
copy a:\dmconfig.dll system32
copy a:\dmconfig.dll system32\dllcache
copy a:\dmadmin.exe system32
copy a:\dmadmin.exe system32\dllcache

Creazione di un array RAID 5

Creazione Di Un Array RAID 5

Ora dovete riavviare il vostro computer assicurandovi di aver rimosso ogni floppy o CD. Dopo il riavvio di Windows entrate in "strumenti di amministrazione (Administrative Tools), quindi aprite "gestione computer" (Computer Management) ed entrate nella "gestione dischi" (Disc Management). Qui tutti i drive che avete intenzione di usare nell'array RAID 5 devono essere convertiti in drive dinamici. Dopodiché, premendo il tasto destro su uno dei drive si aprirà un menu a tendina che vi permetterà di creare un nuovo volume:

Dopo aver modificato i files, come abbiamo mostrato prima, WindowsXP sarà magicamente in grado di gestire un sistema RAID 5 software.
Dopo aver modificato i files, come abbiamo mostrato prima, WindowsXP sarà magicamente in grado di gestire un sistema RAID 5 software.

Per il nostro array di prova abbiamo usato quattro dischi Western Digital WD740 Raptor.
Per il nostro array di prova abbiamo usato quattro dischi Western Digital WD740 Raptor.

La seguente schermata di opzioni...
La seguente schermata di opzioni...

... non cambia sia che creiate un singolo volume, che un array di dischi.
... non cambia sia che creiate un singolo volume, che un array di dischi. Appena Windows finisce di creare l'array, il RAID 5 sarà a vostra disposizione come qualsiasi altro hard disk. Questo naturalmente include la possibilità di assegnare permessi individuali o di gruppo e condividere directory o files.
Test caso estremo: cosa succede se un hard disk si dannneggia?

Naturalmente, anche il sistema più sofisticato diventa totalmente inutile se non funziona. In aggiunta ai nostri classici benchmark abbiamo simulato la rottura di un hard disk togliendo il cavo SATA.

Questo screenshot mostra la finestra di 'Gestione Dischi' (Disk Management) dopo aver scollegato per pochi secondi il cavo di uno degli hard disk. Per motivi di sicurezza Windows non reintegra il drive nell'array automaticamente. Notate che gli altri dischi vengono marcati con la scritta 'errore di ridondanza' (Failed Redudancy).
Questo screenshot mostra la finestra di 'Gestione Disco' (Disk Management) dopo aver scollegato per pochi secondi il cavo di uno degli hard disk. Per motivi di sicurezza Windows non reintegra il drive nell'array automaticamente. Notate che gli altri dischi vengono marcati con la scritta 'errore di ridondanza' (Failed Redudancy).

Il processo di ricostruzione dell'array riparte soltanto dopo che l'utente clicca su 'Ripara Volume' (Repair Volume).
Il processo di ricostruzione dell'array riparte soltanto dopo che l'utente clicca su 'Ripara Volume' (Repair Volume).

Naturalmente prima di procedere dobbiamo scegliere un drive di scorta.
Naturalmente prima di procedere dobbiamo scegliere un drive di scorta.

Che il processo di ricostruzione abbia inizio!
Che il processo di ricostruzione abbia inizio!
Esportare un RAID Array da windows ad altri sistemi

Abbiamo configurato l'array RAID 5 array usando P5DGC-V della Asus, che sfrutta l'ICH6 Southbridge.
Abbiamo configurato l'array RAID 5 array usando P5DGC-V della Asus, che sfrutta l'ICH6 Southbridge.
Uno scenario temuto da molti amministratori è la rottura di un controller. Solitamente, la sostituzione con un prodotto identico o simile non è sufficiente a ripristinare il vecchio ambiente di lavoro, rendendo così l'importazione di un array in un altro controller/sistema un'impresa davvero ardua. Il problema principale è che le firme RAID sono diverse e dipendono dagli adattatori RAID, che tipicamente non sono compatibili tra loro.
Abbiamo così voluto sapere se ci fosse stato lo stesso problema utilizzando gli array RAID software di Windows: è forse possibile ereditare le impostazioni di un sistema RAID semplicemente collegando i dischi a un altro sistema?
La macchina usata nelle prove si basa su Asus P5GDC-V, che a sua volta è basata sul chipset Intel 915G ed è dotata di Southbridge ICH6, con quattro porte Serial ATA native. Qui abbiamo collegato i nostri quattro dischi Western Digital WD740 Raptor.
Quando abbiamo scelto il sistema destinazione per importare il nostro array RAID, abbiamo volutamente selezionato un sistema con controller SATA non compatibili con i ICH6. L'AOpen AX4SPE MAX II è dotato di chipset 865P e Southbridge ICH5. Se da un lato questo sistema non è AHCI-compatibile, dall'altro è provvisto solo di due porte SATA, il ché ci ha costretti a collegare almeno due dischi al Silicon Image Sil3114.
Dobbiamo ammettere che non ci saremmo mai aspettati che lo scambio dati andasse così liscio. Tutto quello che abbiamo dovuto fare è attaccare i cavi SATA ad una qualsiasi delle porte libere del sistema destinazione. Nemmeno l'ordine di collegamento dei dischi ha rappresentato un problema. Così come nessuna differenza è stata notata nel collegare il singolo controller Silicon Image piuttosto che la suddivisione dell'array in due parti per collegare sia l'ICH5 che il Sil3114.

Far funzionare l'array RAID di quattro dischi su un altro sistema è stato piuttosto semplice. Nulla da riconfigurare, e nessuna scelta forzata per quanto riguarda le porte SATA collegate.

Far funzionare l'array RAID di quattro dischi su un altro sistema è stato piuttosto semplice. Nulla da riconfigurare, e nessuna scelta forzata per quanto riguarda le porte SATA collegate.

Configurazione di prova

Processori Intel (Socket 775)
800 MHz FSB (Dual DDR) Intel Pentium 4 Processor 520 (2.8 GHz)
Schede Madri
Socket LGA-775 ASUS P5GDC-V Deluxe
Intel 915P Chipset
BIOS 1002
Memoria
DDR SDRAM 2x 512 Crucial Ballistic
Timings: CL 2.5-3-3-7
Hardware In Comune
Scheda Grafica nVIDIA GeForce 6 Series
GPU: NVIDIA GeForce 6800 GT
Memoria: 256 MB GDDR3-SDRAM
Hard Disk I - OS Hitachi HDS722525VLSA80
250 GB, 8 MB Cache, 7200 rpm
Hard Disk II - RAID Western Digital WD 740 Raptor
74 GB, 8 MB Cache, 10,000 rpm
DVD/CD-ROM MSI MS-8216 16x DVD
Software
NVIDIA Graphic NVIDIA Detonator 61.77
Intel Chipset Driver Installation Utility 6.0.1.1002
DirectX 9.0c
OS WindowsXP Professional 5.10.2600, Service Pack 1
Benchmarks & Risultati
Applicazioni Office ZD WinBench 99 - Business Disk Winmark 2.0 c't h2benchw
Applicazioni Ad Alto Livello ZD WinBench 99 - High-End Disk Winmark 2.0
Misurazione Prestazioni c't h2benchw
Prestazioni I/O Intel I/O meter 2003.05.10