February 11, 2012

Il mio server, la mia download station!

Finalmente ieri ho finito di configurare il serverino domestico!
Il mio intento era di realizzare una download station economica, ad alta capacità ma nel frattempo molto affidabile. Penso di esservi riuscito!

L'hardware è composto da:
  • Acer EasyStore H340 (qui trovate una recensione)
  • 2 GByte di Ram
  • disco di sistema: Western Digital Caviar Blue da 160 Gbyte Sata II
  • dischi di storage: 3x Western Digital Caviar Green da 2 TByte Sata II
  • Box esterno eSata della Sans Digital (qui trovate un link)
  • dischi di storage: 4x Western Digital Caviar Green da 3 TByte Sata II (inseriti nel box esterno)

Come sistema operativo mi sono basato esclusivamente su Debian Linux perché ne prediligo le prestazioni, l'affidabilità e soprattutto il concetto di open e free!


Riassumendo velocemente i passi dell'installazione sono stati:
  • installare wheezy via net-install sul disco di sistema. Ho creato una partizione di swap di soli 256 Mbyte perché il kernel lavora meglio quando ne ha una a disposizione e non perché il server ne abbia veramente bisogno. L'installazione è la minima assoluta ed è esclusivamente senza desktop grafico.
  • installare aufs-tools e jfsutils.
  • creare le tre partizioni sui dischi da 2 TByte (ricordo che hanno settori da 4k quindi sono da allineare), formattare quindi le partizioni in jfs (ritengo sia la migliore soluzione per un server poiché fornisce ottime prestazioni con files di tutte le dimensioni e occupa pochissimo la cpu). Il passo successivo è stato quello di modificare fstab per far montare in automatico i dischi (io uso sempre l'opzione noatime per massimizzare le prestazioni).
  • installare samba e configurarlo (oltre che ad ottimizzarlo); poiché al server accedono solo i miei pc ed i miei media center ho impostato la condivizione su share (quindi senza password) bloccando però l'accesso dall'esterno e ad utenti diversi da guest. Dopo l'ottimizzazione di samba la velità di trasferimento dati tra il mio pc (Windows Vista sp2) ed il nas oscilla tra i 93-98 Mbyte al secondo (ho una rete gigabit e sposto soprattutto files di grosse dimensioni, tra i 4 e i 30 Gbyte).
  • installare transmission-daemon e quindi configurarlo. Poiché è un server (senza tastiera, mouse o monitor) la gestione di transmission avviene tramite il webserver integrato (l'indirizzo di default è http:\\ip-del-server:9091 ma può essere cambiato). Ho scelto transmission (qui il link alla pagina web) poiché è veloce, occupa pochissime risorse, è molto affidabile e gestisce sia i files torrent che i magnet links anche attraverso il webserver; in parole povere è perfetto per il mio uso.
  • installare ssh per la gestione remota; ogni tanto dovrò fare gli aggiornamenti di sicurezza o spegnerlo, non trovate?!? ;-)
    Inoltre preferisco collegarmi via ssh per spostare i files scaricati dal disco di sistema a quelli di storage.
  • installare smartmontools per controllare e monitorare lo stato dei dischi; questo secondo me è fondamentale per evitare perdite di dati... certo, la fortuna è cieca e la sfiga ci vede benissimo però per me quest'ultima va aiutata il meno possibile!
  • configurare aufs (inserendo i giusti comandi in fstab) affinché il contenuto dei tre hd di storage venga virtualmente raggruppato in una cartella, condivisa via samba. Questa mia scelta è votata dal fatto che quando uso il media center odio andare a cercare le mie foto, i miei video o la mia musica attraverso tutti gli hd. Sono pigro, lo so!
    Devo ammettere che ho sbattuto parecchio la testa contro questo comando perché non riuscivo ad ottenere quello che volevo ma grazie ad un suggerimento (il blog di chi mi ha dato la dritta è
    questo) sono infine riuscito a configurarlo al meglio. Onestamente non sta impattando molto sulle prestazioni (il transfer rate è sceso solo di 1 o 2 Mbyte al secondo su 93-94.. non posso lamentarmi). Precedentemente avevo provato mhddfs ma l'overhead era mostruoso!
  • configurare hdparm affinché spenga i dischi quando non sono utilizzati (in pratica sempre visto che putroppo sia io che mia moglie abbiamo pochissimo tempo libero. Questo è utile sia a ridurre il consumo elettrico e di conseguenza la bolletta sia ad allungare la vita dei dischi. Attenzione!!! Se al contrario di me utilizzate spesso i dischi una politica troppo energy-saving potrebbe uccidere prematuramente i vostri preziosi dischi poiché i continui accendi-spegni non fanno bene!
  • installare e configurare acupsd. Sempre per non aiutare la signora sfortuna (che ricordo ci vede benissimo!!!) preferisco proteggere i miei computers con un ups (anche perché qui in Brasile la tensione oscilla parecchio... e ciò non fa particolarmente bene alle apparecchiature). Il server ed il box eSata sono protetti da un ups della APC (esistono molte altre marche altrettanto valide) e pertanto ho configurato acupsd affinché spenga il box eSata ed il server quando la riserva di corrente si approssima al 10%. Io ho scelto questa percentuale perché nel mio caso corrisponde (da prove effettuate) a circa altri 10-12 minuti di runtime (ho un buon ups). Consiglio di non prenderlo sottodimensionato e di fare delle prove di autonomia per poi impostare dei valori conservativi. Il manuale di acupsd lo trovate qui.
    Un suggerimento se come me avete un box eSata: nel file di configurazione di acupsd fate "smontare" i dischi esterni prima dello spegnimento del server altrimenti può capitare che il box non si accorga che il server è spento e quindi può rimanere acceso.
  • configurare fstab affinché monti in automatico i dischi sata inseriti nel box esterno quando questo viene acceso. Non ho ancora collegato questi dischi con aufs perché prima voglio vedere come si comporta.
Cosa fare nel prossimo futuro? Allineare le partizioni degli altri 4 dischi (quelli contenuti nel box eSata), decidermi se usare (e quindi installare e configurare) plowshare o pyLoad per gestire gli altri tipi di download ed infine ricompilare il kernel rimuovendo parecchie schifezze inutili e ottimizzandolo quindi per la cpu Atom.

Alla prossima! :-)