Si perde tutto quando si verifica un errore del disco rigido in un LVM multi-disco rigido che NON utilizza RAID?


16

Sto discutendo sull'uso di LVM per un media / file server perché vorrei combinare più dischi rigidi fisici in un volume. Non desidero utilizzare alcun RAID nel mio LVM, quindi la mia domanda è:

Se uno dei molteplici dischi rigidi del mio volume dovesse andare inattivo, perderei tutti i miei dati o perderei solo i dati memorizzati su quel singolo disco?

Inoltre, se dovessi semplicemente perdere i dati sul singolo disco, sarebbe semplice come sostituire quel disco e ripristinare ciò che era su un backup da ripristinare?

Risposte:


11

Se uno dei molteplici dischi rigidi del mio volume dovesse andare inattivo, perderei tutti i miei dati o perderei solo i dati memorizzati su quel singolo disco?

No, perderai i dati memorizzati sull'intero LVM

Inoltre, se dovessi semplicemente perdere i dati sul singolo disco, sarebbe semplice come sostituire quel disco e ripristinare ciò che era su un backup da ripristinare?

No, non è così semplice

Puoi leggere qui domande simili LVM e disaster recovery


7

Semplice: stai cercando mhddfs .
Finge di essere un file system di grandi dimensioni, scrive sui dischi nell'ordine in cui sono stati menzionati e alla fine sposta i file di grandi dimensioni su un dispositivo diverso, se il primo era troppo pieno. In realtà può anche utilizzare sottocartelle sui dischi, consentendo la stessa funzionalità.
I singoli dischi devono essere montati per primi e rimanere accessibili. Non altera affatto i filesystem e non importa quale file system sia attivo (purché lo spazio libero sia correttamente segnalato dal filesystem). Nel caso in cui un disco venga perso, dovrai rimontare nuovamente i tuoi mhddf (al volo) e i dati su quel disco spariranno.
Uso:

mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]

o dentro /etc/fstab

 mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0

Complesso e potente: vuoi unionfs .
Mentre mhddfs è bello ed estremamente semplice, ho avuto problemi con i permessi dei file quando ho concesso ad altri l'accesso tramite SSH. Non sono riuscito a trovare alcuna soluzione, ma ho trovato unionfs.
Unionfs ti consente anche di montare diverse cartelle su diversi filesystem in una, ma fa magie autorizzazioni. Puoi unire più cartelle di sola lettura e una scrivibile insieme, in modo che appaia come una. Le persone con cui hai condiviso la tua cartella unita possono quindi scrivere in una cartella di sola lettura - come appare loro - ma i file finiscono in una sola scrittura. I CD di avvio di Linux funzionano in questo modo, il disco scrivibile è un ramdisk. Le persone possono persino eliminare i file nelle cartelle di sola lettura, il che non elimina realmente il file, ma crea un file di whitelist nascosto nella loro directory di scrittura. Se catturi tutte le opzioni, puoi fondamentalmente usare il tuo filesystem come un SVN mans povero .
Se usi troppo le opzioni simili a SVN, potresti perdere i dati esistenti due volte (improbabile nel tuo scenario, ma possibile), mentre la tua cartella scrivibile si riempie di piccoli file nascosti della whitelist. Oltre a ciò, mantiene i tuoi dischi puliti e utilizzabili individualmente. Cosa succede se un file è troppo grande per un disco, non lo so ancora.
Uso:

 unionfs-fuse -o cow,max_files=32768 \
                 -o allow_other,use_ino,suid,dev,nonempty \
                 /path/to/dir1=rw:/path/to/dir2=ro:/dir3
                 /u/union/etc

dove =rwrende la cartella leggibile e scrivibile e la =rorende di sola lettura, anche se le autorizzazioni indicherebbero diversamente. In etc/fstabquesto è

unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0

Come si comportano questi con un disco rimovibile non collegato?
endolito,

@endolith Un mhddfs su un disco rimovibile significherebbe non sapere cosa finirà su di esso, un unionfs ha un senso reale, ma richiede di rimontarlo in modo diverso, a seconda della disponibilità del dispositivo rimovibile.
DennisH,

Non capisco il tuo commento. Se hai combinato 3 unità USB utilizzando mhddfs e hai inserito dei file su di essi, quindi ne hai rimosso uno, succede qualcosa di permanentemente negativo? Se lo ricolleghi, tornerà come prima?
endolith

3
@endolith La disconnessione durante la scrittura non è mai buona. Se si scollega dopo aver scritto, le unità USB sono tutte individualmente OK, nessun problema. È possibile scollegare un'unità, collegarla a PC2, utilizzarla, ricollegarla a PC1 e rimontarla per continuare a utilizzarla come prima. Tra il punto di montaggio sul tuo solito PC1 devi essere informato che hai preso l'unità (rimontaggio). Ma supponiamo che tu condivida 2 file con PC2, non puoi dire in quale unità dei mhddfs finiranno, o se è anche la stessa unità. Le unità sono ancora raggiungibili individualmente per verificare / garantire la posizione, ma ciò non comporta più mhddfs.
DennisH,

4

Se stai collegando più dispositivi insieme non ci sarebbe ridondanza, quindi potresti perdere i dati. Ma se stai usando un media / file server per un'azienda, non dovresti perdere nulla perché hai fatto il backup di tutto su un server di backup / unità nastro.

Perché stai evitando RAID? Il punto di RAID è la disponibilità; se non vuoi perdere tempo a causa di un errore del disco, puoi usare una configurazione RAID 1, che può anche velocizzare le tue letture. Non sono troppo costosi, si pagano da soli la prima volta che si verifica un errore del disco e se si sta davvero evitando di dover pagare per una scheda, è possibile configurare Linux per utilizzare il software RAID anche se ci vuole un po 'più di attenzione nella configurazione e risoluzione dei problemi per assicurarsi di sostituire l'unità corretta.

Altrimenti dovresti saltare attraverso alcuni cerchi per provare a recuperare quali dati puoi dai dischi rimanenti. Sarebbe possibile, ma stai chiedendo un po 'più di problemi che dovresti avere. Ottieni un buon backup sul posto e riconsidera il RAID.


1
Sto evitando RAID perché non sono preoccupato per la disponibilità. Questo è per uso personale. Sto cercando di evitare RAID perché cerco più affidabilità. Una piccola cosa va storta in RAID e perdi l'intero array e non mi va di occuparmene. Preferisco avere un grande deposito di file di cui posso fare il backup piuttosto che diversi.
Fujin

1
Non sono sicuro di capirlo. RAID ti fa perdere l'array se una cosa va storta. Non usare RAID è quando un errore ucciderà il tutto.
JOTN

4
@ user72630: hai gravi idee sbagliate su come funziona un RAID. Innanzitutto, esistono diversi livelli RAID, molti dei quali sono progettati per evitare la perdita di dati in caso di guasto del disco. Quindi è possibile configurare un RAID per avere un solo file system su più dischi, proprio come si sta pianificando con LVM. Si prega di leggere en.wikipedia.org/wiki/RAID
Sven

Quello che hanno detto gli altri. L'intero punto di avere RAID è mantenere la disponibilità ... ovvero, l'unità non funziona, i dati sono ancora accessibili. Con l'ingranaggio appropriato è possibile hot-swap l'unità guasta e non preoccuparsi di tempi di inattività a tutti .
Bart Silverstrim,

3

Se si utilizza un file system che copre tutti i volumi LVM, l'intero file system verrà danneggiato poiché l'FS non è a conoscenza dei volumi fisici sottostanti e non creerà strutture allineate ad esso. Potrebbe essere possibile salvare alcune parti sui dischi di lavoro, ma non esiste alcuna garanzia.

E il solo recupero dei file del disco danneggiato non funzionerà neanche per lo stesso motivo.


2

Penso che un percorso molto più semplice sarebbe configurare mdadm per la tua partizione multimediale. Se non disponi dell'hardware per "RAID reale", seguire la rotta mdadm sarebbe notevolmente più semplice e sembrerebbe soddisfare i tuoi requisiti di ridondanza e semplice sostituzione del disco.

# Format your drives first
# Create your MD
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2

# In the event that a drive fails do the following
mdadm /dev/md1 --fail /dev/sda1
# Format the new drive
mdadm --add /dev/md1 /dev/sda1

Per maggiori informazioni: http://en.wikipedia.org/wiki/Mdadm

Se uno dei molteplici dischi rigidi del mio volume dovesse andare inattivo, perderei tutti i miei dati o perderei solo i dati memorizzati su quel singolo disco?

Se usi mdadm e RAID 5, potresti perdere un'unità e avere l'array funzionante, anche se si verificherebbe un degrado delle prestazioni.


1

Penso che la cosa importante da capire che non è stata menzionata sia un file in un filesystem non sia necessariamente in un punto su un disco. È suddiviso in blocchi che possono risiedere ovunque all'interno del filesystem. Il primo 4K se il tuo file potrebbe essere su disk1, il successivo disk2, ecc. Puoi immaginare il caos di provare a recuperare qualcosa se perdi una parte del filesystem.


0

Btrfs è una buona scelta qui; puoi avere metadati resilienti alla perdita di un disco (il profilo del blocco "raid1"); i dati sugli altri dischi saranno comunque raggiungibili (solo così siamo chiari, che si traducono in file pieni di buchi ovunque si faccia riferimento al disco mancante). Questo viene fatto eseguendo btrfs balance con un filtro :

sudo btrfs balance start -m convert=raid1 /mnt/point
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.