Pool di archiviazione file server Linux


8

È possibile ottenere un server Linux per condividere diversi dischi rigidi come un pool di archiviazione tramite Samba? In modo che quando uso la condivisione non devo preoccuparmi di salvare su un determinato disco che abbia spazio libero, ma piuttosto salvo nel pool che si occupa di tutto ciò.

Immagino di poterlo fare attraverso una sorta di raid (software), ma molti dei miei file non hanno davvero bisogno di essere razziati. Il mio obiettivo è quello di avere una configurazione in cui ho fatto irruzione di ~ 500 GB e pochi TB di spazio libero.

Al momento ho un server W2008 leggero e vorrei passare a Linux e questa sarebbe davvero una bella funzionalità.

Risposte:


19

Su Linux, è possibile utilizzare LVM per riunire diversi dischi rigidi (PV) in un gruppo di volumi (VG) e partizionarlo con i volumi logici (LV) che si desidera condividere tramite samba.

Vedi questo link per maggiori informazioni.

Schema LVM


1
Grande scelta di immagini per illustrare il concetto.
Andol,

7

Vorrei secondare il suggerimento di Raphink su LVM (e in effetti lo ho votato) - questo è praticamente esattamente ciò per cui LVM è progettato e funziona bene nella mia esperienza.

Una cosa da notare è che l'uso di LVM su un gruppo di unità è solo un po 'più sicuro di RAID0: se un'unità si guasta, si potrebbe perdere più di un file system di sistemi a causa dei volumi logici che attraversano i limiti delle unità. Quindi, mentre "molti dei miei file non hanno davvero bisogno di essere razziati", assicurati di avere un buon piano di backup per quei file che non sono così facili da sostituire.

Se è probabile che il server di archiviazione rilevi molte attività, è possibile considerare l'utilizzo di RAID0 e LVM. Ciò fornirà un significativo aumento delle prestazioni per molti modelli di I / O e non ridurrà lo spazio di archiviazione totale disponibile (poiché RAID0 non offre ridondanza, quindi non utilizza spazio per dati speculari o blocchi di parità). Dopo aver collegato alcune unità in un array RAID0, è possibile rendere l'array un PV LVM come qualsiasi altra unità / partizione e utilizzare i volumi logici per partizionare lo spazio secondo necessità.

Ovviamente con RAID0 si perde praticamente tutto se un'unità si spegne, ma se si dispone di un piano di backup sufficiente per JBOD (che è ciò che si sta facendo con solo LVM, è equivalente a ciò che alcuni riferimenti RAID chiamano "modalità lineare" ") ne hai uno sufficiente per i dati su RAID0 (e chiunque affermi di non essere abbastanza paranoico sui dati che hanno su più unità usando LVM!).

È possibile combinare e abbinare i livelli RAID sulle stesse unità. Su una delle macchine sotto il mio controllo che funziona come host di macchine virtuali per lo sviluppo e il test, le unità nel suo array hanno alcune parti come RAID0 (per le macchine virtuali stesse) e alcune come RAID1 (per i backup delle macchine virtuali). Ognuna delle unità è suddivisa in partizioni ~ 100Gb e ogni set o partizioni può essere un array RAID. I primi due su ogni unità sono attualmente RAID0 (collegati come un volume logico da LVM), gli ultimi tre RAID1 (ancora collegati come un LV) e quelli lasciati nel mezzo sono liberi di essere quando è necessario più spazio. Se lo fai, devi ovviamente diffidare della contesa I / O (non è questo è un problema nel mio caso in quanto i due array RAID raramente vedono attività evidenti allo stesso tempo perché il set RAID1 accede sempre e solo quando si esegue un nuovo backup o ripristinando uno vecchio) e movimenti della testa in eccesso quando entrambi gli array sono in uso attivo (come si trovano alle estremità opposte delle unità), ma è necessario essere consapevoli di quelli per il solo utilizzo di LVM senza RAID. Questa disposizione significava che non dovevo indovinare con precisione, al momento dell'installazione, quale equilibrio di spazio ad alta velocità (R0) e spazio di alta sicurezza (R1) sarebbe necessarioX mesi lungo la linea senza scendere a compromessi e optando per un singolo array RAID10.


"se un'unità si esaurisce, è possibile che vadano persi più di un file system di file a causa di volumi logici a cavallo tra i limiti delle unità." Grazie per questa pepita, sembra che dovrò rivedere il mio piano in qualche modo.
Illotus,

Nota che questo è lo stesso problema che avrai con un sistema RAID0: se un'unità si guasta, perdi i dati. Come suggerito nella risposta di David, è possibile combinare RAID e LVM. La combinazione di un sistema RAID0 con LVM è ridondante e inutile, ma la combinazione di un RAID1, 10, 4, 5 o 6 con LVM garantisce che i dati non vengano persi se si perdono uno o più dischi rigidi. Ti costerà anche di più in hardware, dal momento che hai bisogno di più spazio su disco rispetto allo spazio dati utilizzabile effettivo. Il tipo di RAID dipende principalmente dal tipo di utilizzo che si fa per realizzarlo. Se non si dispone di un RAID hardware, è possibile utilizzare LVM su mdadm.
ℝaphink,

3
La combinazione di RAID0 con LVM non è inutile - a seconda del carico di I / O (ad esempio, molte operazioni di file simultanee sulla rete Gbit) potresti notare un notevole aumento delle prestazioni dallo striping eseguito da RAID0. Anche su un collegamento a 100 Mbit potresti notare una differenza per diversi accessi simultanei e / o molto non sequenziali. Per un carico I / O meno arduo, la differenza può essere insignificante.
David Spillett,

La combinazione di RAID-0 con LVM non è inutile. LVM per impostazione predefinita alloca lo spazio in sequenza dall'inizio. Ciò può influire sulle prestazioni se una parte del set LVM ottiene tutta l'attenzione I / O, concentrando tale attività su un disco. RAID-0 esegue lo striping esplicito dei dati su tutti i dischi dell'array RAID-0. Questo può velocizzare l'attività di lettura e scrittura. La differenza è che se un disco in un set LVM fallisce, probabilmente perderai almeno alcuni dati. Se un disco in un set RAID-0 ha esito negativo, PERderete TUTTI i dati. L'idea RAID-5 proposta da Raphink ti dà almeno l'illusione di una certa protezione contro i guasti del disco
David Mackintosh,

Grazie per questi chiarimenti, David e David, è molto interessante da considerare. Ritenete che valga la pena LVM su RAID0 anche se utilizzate un sistema RAID software come mdadm o solo con un sistema RAID hardware?
inkaphink,

2

Consiglierei anche di dare un'occhiata a ZFS che contiene anche il pool di unità e il mirroring RAID integrati.

Ci sono alcuni problemi con le licenze che la rendono un po 'scomoda da implementare ma l'ho eseguita sul mio sistema di casa con unità da 3 x 1 TB senza problemi.


2
Sono un grande fan di ZFS ma non consiglierei di eseguirlo su Linux come file system FUSE in un ambiente di produzione. Per Linux stai meglio aspettando che BTRFS maturi. BTRFS ha un design migliore di ZFS ma penso che sia ancora almeno un anno, forse un paio, dall'essere pronto per la produzione.
3dinfluence,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.