[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux_var] btrfs



Ciao Luca,

ho leggo qualcos'altro. Da quanto ho capito..
si possono usare dischi di capacità differente, e in questo caso lo spazio utile sarà:
- se il disco di maggiori dimensioni non è più grande della somma di quelli di dimensione inferiore,
allora lo spazio utile è la somma di tutti i dischi diviso 2 : se d1<sum(d2+d3+..+dn) allora df=(d1+d2+d3+..dn)/2
- se il disco di maggiori dimensioni è più grande della somma di quelli di dimensione inferiore,
allora lo spazio utile è uguale alla somma delle capacità dei dischi di dimensione inferiore se d1>sum(d2+d3+..+dn) allora df=sum(d2+d3+..+dn)

il raid1 del btrfs è come dici tu solo un mirror del blocco dato su un altro disco, ma una sola copia,
non una copia identica su ogni device come i calssici raid1. la copia del dato può avvenire su un qualunque device. anzi
la coppia di blocchi dato è come dire su 2 dischi a caso.

RIFERIMENTO:
https://btrfs.wiki.kernel.org/index.php/SysadminGuide

"Btrfs's "RAID" implementation bears only passing resemblance to traditional RAID implementations.
Instead, btrfs replicates data on a per-chunk basis. If the filesystem is configured to use "RAID-1",
 for example, chunks are allocated in pairs, with each chunk of the pair being taken from a different
block device. Data written to such a chunk pair will be duplicated across both chunks.
Note that chunks within a RAID grouping are not necessarily always allocated to the same devices"

dal momento che esiste solo 1 copia del dato su un altro device, allora ho il dubbio su:
"- in RAID1 di n dischi puoi perdere fino a (n-1) dischi senza perdere dati, in btrfs puoi perdere un solo disco ed al secondo son madonne che volano"

credo, ma non ho ancora trovato niente in merito:
nella peggiore delle ipotesi, puoi perdere 1 solo disco su n.
nella migliore delle ipotesi, puoi perdere n-1 dischi.. se ho 10 dischi, 1 2 3 4 5 6 7 8 9 10, la copia dei dati è su 1 e 2,
posso perdere i dischi da 2 a 10 e avere tutto salvo su 1.

Anche Luca Carrozza continua ad affidarsi al buon vecchio RAID classico...


Il giorno 29 maggio 2013 17:54, Luca Lesinigo <lucky@luckyluke.org> ha scritto:
Il giorno 22/mag/2013, alle ore 17:43, Luca Carrozza <bizzarrone@gmail.com> ha scritto:
> dal momento che molti puntano su btrfs come il fs del futuro, mi sono fatto alcuni test e non mi spiego alcune cose riguardo la sua gestione dei dischi in raid1 dei dati con più di 2 dischi. Ho letto che non vengono effettivamente distribuiti secondo un classico raid1 ed effettivamente lo spazio risultante è strano.
Btrfs non fa un "RAID1" nel senso classico del termine (n copie dei dati sugli n dischi) ma fa esattamente due copie di ogni dato, su due dischi diversi, a prescindere dal numero dei dischi nel pool.

Esempio: se hai quattro dischi (A, B, C, D) un dato può finire in doppia copia su A e B, su A e C, su A e D, su B e C, su B e D, su C e D.
Ma non sarà in quadrupla copia su A,B,C,D né in tripla copia.

Quindi:
- in RAID1 di n dischi puoi perdere fino a (n-1) dischi senza perdere dati, in btrfs puoi perdere un solo disco ed al secondo son madonne che volano
- in RAID1 di n dischi la capacità utile è quella del singolo disco, in btrfs è [dovrebbe essere] di (somma della capacità totale / 2)
- in RAID1 devi usare dischi di uguale capacità, o comunque sfrutti solo fino alla capacità del più piccolo, mentre su btrfs [non sono del tutto sicuro] puoi usare dischi di capacità differenti in "raid1"

Alla fine molti concetti sono abbastanza copiati da quanto introdotto a suo tempo da ZFS, la grossa differenza è che btrfs non è ancora pronto per l'uso ma solo per giocarci e testare.
Lettura interessante in merito: http://www.anchor.com.au/blog/2013/04/the-btrfs-backup-experiment/

--
Luca Lesinigo che per linux continua ad affidarsi al buon vecchio RAID classico
_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking

_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking