Hardware

Quando iniziai il progetto per rendere disponibile sulla rete locale la mia collezione di 2000 CD, utilizzai un drive NETGEAR ND520, ma alla fine risultò essere incredibilmente lento e inaffidabile. Mi ritrovai a dover prendere l'ennesima decisione se comprare o costruire un server più stabile e con maggiore spazio.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Hardware

Una volta presa la decisione di utilizzare una struttura da 16 alloggiamenti, ho scelto il Ci Design SR316 come base dell'intero sistema. Può contenere fino a 16 drive hot-swap Serial ATA (SATA), un floppy drive, CD-ROM, triplo alimentatore ridondante e una moltitudine di schede madri.

Per queste ultime, ho scelto Tyan Thunder i7501 Pro con controller SCSI opzionale. Ho utilizzato schede madri Tyan in passato e sono sempre rimasto più che soddisfatto; supportano due processori Intel Xeon e i modelli che ho scelto, 3.06GHz/533MHz, avevano il miglior rapporto prezzo/prestazioni. Utilizzare due processori mi rende più tranquillo quando devo eseguire programmi in locale senza poter impattare le prestazioni del file server; spesso infatti, mi ritrovo ad utilizzare processi che richiedono un alto uso di CPU, come la conversione di immagini di CD in MP3 o l'esecuzione di checksum dei file, etc.

La scheda madre è provvista anche di tre porte Ethernet integrate, una da 10/100 Mbit e due da 10/100/1000 Mbit. Le prestazioni Ethernet Gigabit erano essenziali per questo progetto, e fortunatamente la scheda ne aveva già due integrate.

Per le memorie ho utilizzato esclusivamente prodotti Kingston, selezionando due KVR266X72RC25L/2G dall'elenco riportato nella lista dei moduli approvati da Tyan; 4GB sarebbero stati comunque abbondandi per la gestione dei buffer dei dischi. Nonostante la scheda madre supporti fino a 12GB di memoria (6 di questi moduli da 2 GB), ai tempi non era semplice trovare sistemi operativi che supportassero più di 4GB.

Uno dei componenti più importanti per un file server è il controller dei dischi; e per il mio progetto ho scelto gli AMCC 9500S-8MI di 3Ware, ognuno dei quali supporta otto drive e si connette al backplane del case tramite un cavo Multilane Interconnect (MI). Questo cavo ne sostituisce quattro SATA normali, riducendo così il numero di cavi totali da 16 a 4.

Infine, ho aggiunto cavi SCSI interni e terminatori esterni CS Electronics; costruiscono e spediscono qualsiasi tipo di cavo personalizzato in un solo giorno o due.

I 16 drive del sistema sono divisi in due gruppi indipendenti da 8 dischi l'uno, un gruppo per ogni controller. All'interno di ogni gruppo, 7 drive vengono usati in RAID 5 mentre l'ottavo viene tenuto come "hot spare", pronto a sostituire uno degli altri sette drive nel caso si guastasse.

Software

Come detto precedentemente, la scelta del sistema operativo è caduta su FreeBSD 6.x, Samba come software di server CIFS, rdiff-backup per la sincronizzazione dei RAIDzilla di backup con le unità locali e, naturalmente, una grande varietà di altri software minori. Uno dei vantaggi di RAIDzilla rispetto NAS standard, è la possibilità di eseguire un gran numero di software localmente, senza aver bisogno di costruire un OS NAS (ammesso che i sorgenti siano disponibili) e di cross-compilazione delle applicazioni.

Cosa farei di diverso oggi (due anni dopo - 2007)

Se oggi dovessi ricominciare un progetto simile da zero, il cambiamento più grosso consisterebbe nell'utilizzare un'unica scheda RAID a 16 canali, così da avere un solo disco di parità e un solo disco di spare, invece dei due per tipo che ho adesso.

Userei anche dell'hardware più moderno, come una scheda madre PCI Express e una scheda RAID, senza naturalmente dimenticare drive con capacità maggiori, 750GB o 1TB

Dato che il supporto per sistemi con più di 4GB di memoria è molto più diffuso, potrei anche fare qualche esperimento installandone il massimo consentito. Oggigiorno dovrebbe essere possibile utilizzare efficacemente 16GB, se non addirittura 32GB su schede madri di classe server.