Prossimamente mi troverò a configurare un fileserver, che dovrà servire una cinquantina di directory condivise attraverso Samba. L’hardware scelto è un Lenovo ThinkCentre M58, con due dischi SATA da 500GiB: so che l’ideale sarebbe stato un vero controller RAID, ma i prezzi sono quelli che sono e questo passa il convento. Per quanto riguarda il sistema operativo, sarà Debian Lenny: non è ancora stata rilasciata come stable, ma per quanto mi riguarda lo è a sufficienza.

Ho in mente una configurazione basata su RAID software (che mi dicono essere decisamente più stabile e performante rispetto a dmraid) e LVM, ma mi piacerebbe sentire qualche opinione da qualcuno più esperto di me, onde evitare di commettere errori banali.

Configurazione dei dischi

Probabilmente qualcuno storcerà il naso perché le partizioni di root e swap non sono gestite da LVM, ma c’è un motivo: pare che GRUB abbia qualche problema a fare il boot da LVM (l’installazione di Debian in qualche modo me lo conferma, proponendo LILO), quindi ho preferito mantenerle fuori. D’altra parte, se ci sarà una partizione che potrebbe avere bisogno di più spazio, non sarà nè quella di root nè la memoria virtuale.

Aggiungere dischi

Se mai ci fosse la necessità di avere più spazio, basterà comprare un altro paio di dischi, configurarli in RAID-1, aggiungerli al gruppo di volumi e allargare la partizione (cosa che con XFS si può fare a partizione montata).

Test prima di mettere la macchina in produzione

  • mettere, una alla volta, le partizioni in fail (anche per controllare il funzionamento delle mail di notifica) e poi aggiungerle nuovamente all’array, giusto per verificare che tutto continui a funzionare ed avere una stima dei tempi di sincronizzazione del RAID
  • avviare il sistema con un disco alla volta e verificare che parta correttamente
  • preparare un CD di avvio di emergenza con GRUB e provarlo prima che sia necessario usarlo veramente, giusto perchè non si sa mai
  • definire e provare una procedura per la sostituzione di un disco, stamparla e incollarla al case. Giusto per non trovarsi a fare cazzate, presi dalla fretta, quando sarà necessario
  • provare un backup e un ripristino, cosa da fare indipendentemente da RAID e LVM
  • qualcos’altro?

E quindi?

Quindi mi sembra di non aver dimenticato nulla, ma siccome non si sa mai chiedo consiglio: c’è qualcosa che non ho considerato?


Ti è piaciuto l'articolo, eh? OFFRIMI UNA BIRRA! (è sufficiente essere iscritti a Paypal o avere una carta di credito, anche Postepay)

Condividi :
  • Facebook
  • Twitter
  • FriendFeed
  • OKNotizie
  • Fai.Info
  • Diggita
  • ZicZac
  • Upnews
  • NotizieFlash
  • Wikio IT
  • del.icio.us
  • StumbleUpon
  • Technorati
  • Netvibes
Ti è piaciuto l'articolo? Vota Ok oppure No. Grazie Mille!

Puoi votare l'articolo anche qui, gli articoli precedenti qui.

Articoli consigliati...

27 commenti per questo articolo

  1. 02/02/2009, 10:04sandro (permalink)

    Mi chiedo che cosa succede alla swap quanto un disco và in fault. Il sistema è in grado di disattivarla o quando tenterà di usarla il kernel andrà in crash ?

  2. 02/02/2009, 10:06sandro (permalink)

    Che cosa succedde alla swap area quando un disco si guasta? viene disattivata? spero di si altrimenti …

  3. 02/02/2009, 10:59CDF (permalink)

    Il mio consiglio è di tenere solo /boot fuori da LVM, il resto (quindi root e swap) lo metterei dentro LVM, si sà mai … :) (a questo punto puoi fare le cose bene e predisporre una partizione separata per /tmp e per /var ).

    Altra cosa: hai detto che devi gestire una cinquantina di directory, sono tutte di utenti? Se devi gestire altro (directory condivise, aree particolari, pool di stampa) ti conviene creare più volumi logici.

    Altro suggerimento, a prescindere dal raid e lvm: utilizza fin da subito quote per gli utenti.

    Ultima cosa: nel disegno “volume fisico LVM” e md[23] sono la stessa cosa, togliere la riga con “volume fisico LVM” per non complicare lo schema.

    Bel post! :-D

  4. 02/02/2009, 11:34Matteo (permalink)

    In effetti dovrebbe bastare /boot fuori da LVM, stasera faccio una prova su macchina virtuale separando meglio le cose. Le directory da servire sono una per utente, più una decina condivise fra alcuni utenti (quindi dovrò lavorare un po’ anche a livello di gruppi per non trovarmi incasinato nel giro di qualche mese). Per ora non ci saranno stampanti, e onestamente dubito che ne verranno aggiunte.

    Non avevo pensato alla quota, in effetti è una cosa da tenere in considerazione: dovrò studiarmi un po’ come funziona, ma non credo sia così complicato.

    Lo strato del volume fisico l’ho aggiunto per ricordarmi che devo creare le partizioni come “PV” per usarle poi con LVM, in effetti poi coincidono.

    Grazie per i consigli, farò sapere come procede! :)

  5. 02/02/2009, 21:00Luigi Cassolini (permalink)

    Io opterei per una soluzione del genere:
    - no raid (fanc. al raid), poi se vuoi usare un RAID 0 per la macchina virtuale…
    - uso lo stesso due dischi ma in uno installo linux con vmware e dentro vmware installo l’OS
    vero e proprio.
    - l’altro disco lo uso per il backup.
    Vantaggi una volta clonata la macchina virtuale la posso spostare dove voglio ed avviarla in caso di guasto. Un raid da cosa mi salva se salta il controller della mobo? O peggio se si prende una stecca e salta TUTTO?
    Un disco esterno e il clone mi parano il c…
    Ciao

  6. 02/02/2009, 21:26Davide (permalink)

    Il mio consiglio è di non complicarti troppo la vita:
    lvm+raid sw+xfs
    più ti allontani dallo standard più, se troverai casini, sarai da solo, evitalo per il primo server.
    prenditi un controllerino sata della 3ware, ne trovi anche a 300€, e sono ottimi.
    usa ext3, sarà un pò meno performante ma è più testato e poi potrai aggiornare facilmente al prossimo ext4. Per il partizionamento con la scelta di lvm sulla dati concordo.

  7. 02/02/2009, 22:38Matteo (permalink)

    @Luigi:
    Soluzione interessante, ma non tiene conto di un paio di fattori:
    prestazioni: con una VM si aggiunge uno strato software
    sicurezza: se il secondo disco fosse collegato alla stessa linea di corrente del server, correrebbe i suoi stessi rischi quanto a sbalzi

    Che poi lavorare su macchine virtuali sia indubbiamente più comodo, sono d’accordo con te: per realtà più complesse sarebbe certamente una soluzione ideale, ma per un singolo server potrebbe diventare una complicazione ulteriore.

    La virtualizzazione, a prescindere da questo fileserver, è comunque una soluzione che prima o poi dovrò studiare come si deve.

  8. 02/02/2009, 22:43Matteo (permalink)

    @Davide:
    Non è proprio il primo server :)
    Comunque dici bene, allontanarsi dalle soluzioni “standard” può diventare un problema in caso di rogne: un controller aggiuntivo è al di fuori di quello che passa il convento, quindi dovrò usare quello integrato, ma penso che in definitiva non sia un grosso limite.

    Per quanto riguarda ext3 non sono molto d’accordo. Oltre alle performance, xfs è comunque un filesystem più evoluto: supporta, ad esempio, backup/restore/ridimensionamento delle partizioni mantenendo il filesystem in uso, cose non da poco in un fileserver.

    Ti ringrazio per i consigli!

  9. 02/02/2009, 23:08Marco (permalink)

    Ho fatto server simili. E’ tutto ok tranne lo swap: IMHO, non ha senso ridondare lo swap.
    Quindi sda2 e sdb2 due partizioni di swap separate, ci pensa il kernel ad usarle nel migliore dei modi: 1 sola se hai un disco o tutte e due con il doppio dello spazio.

  10. 02/02/2009, 23:35Matteo (permalink)

    @Marco:
    Lo swap in RAID o no è una delle questioni “eterne”: a rigor di logica non ce ne sarebbe bisogno, ma se lo swap sta fuori dal RAID e il suo disco va a donnine facili, l’intero sistema potrebbe seguirlo. Quindi, almeno da quello che ho letto, meglio “sprecare” un po’ di spazio e tenerlo dentro il RAID.

  11. 02/02/2009, 23:39Davide (permalink)

    La swap in raid software è sconsigliata:
    http://tldp.org/HOWTO/Software-RAID-HOWTO-2.html#ss2.3

  12. 03/02/2009, 08:58Luigi Cassolini (permalink)

    @Matteo
    Probabilmente non conoscendo le VM non ne conosci a fondo le potenzialità.
    Ok aggiungi uno strato sw, ma se hai un server con 4GB di RAM non ne risente.
    OK il secondo disco, ma se “spegni” la VM alle 01,00 e la salvi per intero su un hd esterno di capacità superiore dello spazio occupato dalla VM, puoi succesivamente archiviarla dove vuoi.
    MA in caso di crash hw quanti impieghi a rimettere su il server? Quanto tempo di disservizio “procuri” al cliente? Con una VM e un serverino “povero” pronto per l’occasione risolvi il problema in un periodo di tempo veramente esiguo. Ovvio che il cliente dovrà esserne a conoscenza e dovrà renumerare questo servizio. Se poi preferisce rimanere un giorno fermo o anche più. Beh… affari suoi e la tua via è la migliore (con ext3 e vicino agli standard).
    Ciao
    P.S.
    Il mio sito gira su una VM clonato da una phisical, uptime +60gg senza 1 problema, riavviata per aggiornamento kernel macchina host, quella dove ho installato vmware per intenderci.

  13. 03/02/2009, 09:41Matteo (permalink)

    Luigi, dici bene che non conosco a fondo le potenzialità della virtualizzazione, non avendo mai avuto la possibilità di provarla in produzione (virtualizzazione non è solo VMWare, ma questo è un altro discorso). Dico solo che il disco esterno su cui effettuare i backup della VM dovrebbe essere collegato a un impianto elettrico diverso da quello della macchina fisica, altrimenti sarebbe sottoposto agli stessi rischi di sbalzo.

    C’è anche da considerare la questione dei tempi di backup: supponendo di avere a disposizione una rete gigabit e di utilizzarla al 100%, la copia di 500GiB richiede meno di 1 ora e mezza (a livello teorico). Avendo a disposizione una rete a 100Mbps (che poi è quello che ho a disposizione) i tempi si decuplicano. Questo vale ovviamente anche per il backup che dovrò comunque fare (quello completo, a spanne, immagino che sarà settimanale).

    Non sto dicendo che la soluzione virtualizzata sia peggiore, semplicemente si tratta del primo server linux che metterò in azienda (è l’azienda per cui lavoro, non un cliente), per cui non vorrei mettere troppa carne al fuoco. Non è il primo server linux che configuro: viste anche le condizioni “ambientali”, che per ovvi motivi non posso mettermi a discutere qui, la virtualizzazione potrà essere uno dei passi successivi, ma non solo per questo server e non adesso.

    Ti ringrazio comunque per i consigli: non è che non siano validi, ma per ora non li considero adatti alla realtà in cui il server andrà piazzaato, prossimamente però le cose potrebbero cambiare.

  14. 03/02/2009, 09:50Marco (permalink)

    Se i requisiti sono di avere il servizio disponibile per il 99.9999% l’unica soluzione è un Cluster HA con i dischi mirrorati fra i due server con DRDB (per maggiori info http://www.linux-ha.org/).
    Quella della macchina virtuale non mi sembra una buona soluzione perchè:
    - Dischi in RAID 0: è vero che aumenti le performance, ma hai il doppio di probabilità di perdere i dati se uno dei dischi si rompe.
    - Backup notturno della VM: Ti perdi tutti i dati scritti durante il giorno dagli utenti.
    Ciao,

    M A R C O

  15. 03/02/2009, 09:56Matteo (permalink)

    @Marco:
    La necessità di uptime è commisurata alla quantità di denaro spendibile per la cosa, in questo caso circa un migliaio di euro. Ci sono soluzioni certamente più sicure (e certamente molto più costose), ma non è questo il mio caso: date le disponibilità economiche messe a disposizione, penso che una soluzione tipo quella che ho proposto possa essere un buon compromesso fra stabilità, prestazioni e affidabilità.

    Per quanto riguarda le VM, si possono anche fare snapshot durante la giornata, o semplicemente metterle direttamente dentro il RAID, avendo i vantaggi di entrambe le soluzioni a patto di sacrificare un po’ le pure prestazioni (che a livello di calcolo non sono fondamentali per un fileserver).

    Diciamo che, in questo caso, preferisco mantenere le cose semplici.

  16. 03/02/2009, 09:59Alan (permalink)

    Sto provando a fare una cosa del genere con OPENFILER su macchina virtuale, ma non ci riesco… Mi si pianta sempre con diversi errori dello script di installazione, se invece lascio il layout di partizionamento predefinito funziona tutto a meraviglia. Quali sono i mount *strettamente necessari*, a parte /boot, / e /home ?

  17. 03/02/2009, 10:02Matteo (permalink)

    @Alan:
    Di effettivamente fondamentale c’è solo il root filesystem, non conoscendo openfiler posso immaginare che il problema sia nel filesystem utilizzato per /boot. Con Ext3 dovresti essere tranquillo, se è questo il caso.

  18. 03/02/2009, 10:35Alan (permalink)

    Boh, ho provato a riprodurre esattamente il layout delle partizioni di default di OPENFILER, compresi i mount point, variando un po’ le dimensioni ed aggiungendo solo lo strato RAID1 e l’LVM per la /home. NADA, si pianta :(
    Se non specifico il mountpoint della /root, di default la monta usando la partizione di / ?

  19. 03/02/2009, 10:39Matteo (permalink)

    @Alan:
    Si, se non specifichi nulla è una normalissima directory dentro la partizione /
    Ah, quando dico “partizione di root” intendo /, non /root :-P

  20. 03/02/2009, 14:34Alessandro Gervaso (permalink)

    Io concordo con quanto detto da CDF, ed aggiungerei che lo swap (poco) lo metterei su di un file, visto che al giorno d’oggi non ha senso fare una partizione dedicata (con il kernel 2.6 non c’e’ perdita di prestazioni).

    Aggiungo anche che ti consiglio vivamente di tenerti alla larga da soluzioni con VMWARE Server che ha prestazioni PENOSE (come i film di John Holmes).
    Al limite se c’e’ da usare vmware senza cacciare soldi c’e’ ESXi che almeno e’ un vero hypervisor.
    O una soluzione alternativa basata su xen.

  21. 03/02/2009, 15:16Luigi Cassolini (permalink)

    @Alessandro Gervaso.
    VmWare dove lo hai provato?
    Io lo uso nella ns server farm (VmWare Infrastrucutre), due server in cluster con 64Gbyte di Ram a testa, dati su una SAN (oltre TByte) collegata in fiberchannel, controller con ram dedicata, schede di rete in bonding, diverse macchine virtuali e nessun decremento di prestazioni dalle macchine fisiche dov’erano in precedenza. Questo in azienda.

    A casa mia: PIV 2,4Ghz con HT attivato, 2,5 Gbyte di ram.
    Risultati: una macchina virtuale attiva=macchina fisica, due macchine virtuali attive perdita prestazioni intorno al 10-15% a naso (basandomi sui tempi di risposta).
    Certo che se utilizzo winzoz, la perdita di prestazioni è maggiore, ma con linux in modalità testuale va come una scheggia.
    Alessandro la mia non è ne pubblicità per i prodotti VmWare, ne una guerra di religione ma se parli male di un prodotto testato con un hw casalingo fa poco testo, mentre ti succede in azienda, fossi in te, aprirei una chiamata direttamente a VmWare…
    Saluti

  22. 03/02/2009, 15:34Alessandro Gervaso (permalink)

    @Luigi Cassolini

    non ho parlato di VMWARE Infrastructure (che anche io uso in due aziende tra cui una con 45TB di storage configurato in multipath, fabric infiniband e presto un gateway IB/FC/GbE bla bla bla se vogliamo fare a chi ce l’ha piu’ lungo :-) ) che sicuramente e’ un buon prodotto e vale i soldi che costa e sappiamo bene che sono ben piu’ di “un migliaio di euro”, hardware escluso.

    L’hardware casalingo su cui era stato usato VMWARE Server erano delle blade con dual Opteron Dual-Core con 8GB di ram cadauna e ripeto, le prestazioni erano assolutamente deludenti. Passando il sistema a Xen ci sono stati dei notevoli guadagni sia in termini di IO che di prestazioni nel calcolo (una delle attivita’ principali di quei nodi).
    Per questo mi sento di sconsigliare vmware server ad un amico, stara’ poi a lui valutare secondo le sue necessita’ e la sua esperienza. Se avesse il budget non avrei invece remore a consigliargli Infrastructure.

    Ciao

  23. 04/02/2009, 00:03Matteo (permalink)

    @sandro:
    Se lo swap è anch’esso in RAID non succede nulla, se non lo è il sistema può andare in crash

  24. 04/02/2009, 00:05Matteo (permalink)

    @Davide:
    Veramente l’howto che indichi dice il contrario: “Another reason to use RAID for swap is high availability. If you set up a system to boot on eg. a RAID-1 device, the system should be able to survive a disk crash. But if the system has been swapping on the now faulty device, you will for sure be going down. Swapping on a RAID-1 device would solve this problem

  25. 04/02/2009, 08:24sandro (permalink)

    @matteo
    Il paragrafo su swap on raid cita un (1) pro e un (1) contro. Penso che la soluzione proposta da @Alessandro Gervaso (cioè usare un file) taglia la testa al toro. Grazie Alessandro!

  26. 04/02/2009, 08:32Matteo (permalink)

    @sandro:
    Dice che lo swap su RAID non migliora le prestazioni, non che sia sconsigliato: successivamente lo consiglia per questioni di stabilità.

    Lo swap su file anzichè su partizione finirebbe comunque nel RAID, ma è certamente più flessibile in caso di (improbabili) modifiche. Penso che alla fine farò così. :)

  27. 24/10/2009, 16:38pedu (permalink)

    Ciao Matteo,
    ho passato qualche giorno, con un po di super macchine (Xeon 500Mhz, dell’anno 2001), messe in disuso per troppo utilizzo e ho eseguito un po di prove con Gluster 2.0, il quale non è stato intuitivo come sistema, ma una volta attivato, sono rimasto impressionato. Niente super controller e niente fiber channel. Premetto che c’erano dati di cui non mi importava niente e ho giocato con HD non Hot swap, come un tastierista dei Led Zeppelin!!! per creare una situazione critica sono dovuto scendere sotto il minimo, dove lo spazio non era più sufficente a contenere le informazioni compresse al che anche lui allo scollegare più vlte un HD si è arrabbiato :-)
    Le prestazioni sono naturalmente al tipo di hardware utilizzato, ma per fare backup e immagini è di prestazioni generose anche senza super computer. Anche una macchina scarsa aggiunta al cluster non penalizza il sistema.
    Consiglio di provarlo con vecchie e nuove macchine una una buona ubuntu 32 e 64 bit
    Grazie
    Giovanni

Indirizzo per il trackback | Segui i commenti a questo articolo

Partecipa alla discussione:

Feed RSS Commenti Segui la discussione via RSS! Non sai cos'è un feed RSS? GUARDA QUA!

C'è qualcuno che parla di questo articolo?

  1. 02/02/2009, 10:28upnews.it (permalink)

Indirizzo per il trackback | Segui i commenti a questo articolo



Additional comments powered by BackType