[LinuxLudus] Prove btrfs raid 1
Valerio Pachera
sirio81@gmail.com
Dom 23 Ott 2016 10:51:06 CEST
Con il classico raid 1 di mdam, se ho 4 dischi da 1T e li metto tutti in
raid 1 avrò come spazio utilizzabile 1T (1 disco lo uso, gli altri sono
cloni).
Il raid 1 di btrfs funziona diversamente.
Rimanendo sull'esempio dei 4 dischi, si preoccupa che sia 1 copia del dato
su uno qualsiasi degli altri 3 dischi. NON fa 3 copie!
Il bello di questo, approccio, oltre a sfruttare lo spazio di tutti i
dischi, è quello che poter rimuovere un disco e ribilanciare i dati.
Dopo aver ribilanciato i dati, posso rimuovere continuare a rimuovere un
disco alla volta, fin tanto che ho spazio.
Questo non è possibile neanche con il raid 5!
Un device lo posso perdere, ma non posso rimuovere ulteriori dischi, anche
se avrei spazio disponibile sugli hdd.
Ho fatto un veloce test con una macchina virtuale e si nota chiaramente
come vengono scritti i dati da parte di btrfs.
Ho notato anche però una cosa che non mi spiego e che vi evidenzio sotto:
mkfs.btrfs --force -d raid1 -m raid1 /dev/vd[bcde]
SMALL VOLUME: forcing mixed metadata/data groups
Btrfs v3.17
See http://btrfs.wiki.kernel.org for more information.
Turning ON incompat feature 'mixed-bg': mixed data and metadata block groups
Turning ON incompat feature 'extref': increased hardlink limit per file to
65536
Created a data/metadata chunk of size 8388608
adding device /dev/vdc id 2
adding device /dev/vdd id 3
adding device /dev/vde id 4
fs created label (null) on /dev/vdb
nodesize 4096 leafsize 4096 sectorsize 4096 size 2.00GiB
mount /dev/vdb /mnt/btrfs
btrfs fi show
Label: none uuid: 5034fded-00fc-4720-9c33-921aa40807f6
Total devices 4 FS bytes used 96.00KiB
devid 1 size 512.00MiB used 114.38MiB path /dev/vdb
devid 2 size 512.00MiB used 102.38MiB path /dev/vdc
devid 3 size 512.00MiB used 8.00MiB path /dev/vdd
devid 4 size 512.00MiB used 8.00MiB path /dev/vde
Btrfs v3.17
dd if=/dev/urandom of=/mnt/btrfs/c bs=1M count=100
100+0 record dentro
100+0 record fuori
104857600 byte (105 MB) copiati, 15,2875 s, 6,9 MB/s
# Ho scritto dei dati malo spazio utilizzato non sembra essere aumentato!!!
btrfs fi show
Label: none uuid:
5034fded-00fc-4720-9c33-921aa40807f6
Total devices 4 FS bytes used
96.00KiB
devid 1 size 512.00MiB used 114.38MiB path
/dev/vdb
devid 2 size 512.00MiB used 102.38MiB path
/dev/vdc
devid 3 size 512.00MiB used 216.00MiB path
/dev/vdd
devid 4 size 512.00MiB used 216.00MiB path
/dev/vde
Btrfs v3.17
dd if=/dev/urandom of=/mnt/btrfs/d bs=1M
count=100
100+0 record
dentro
100+0 record
fuori
104857600 byte (105 MB) copiati, 15,3394 s, 6,8 MB/s
# Ok, ora vedo che ha scritto dati cdd e
vde
btrfs fi show
Label: none uuid:
5034fded-00fc-4720-9c33-921aa40807f6
Total devices 4 FS bytes used
119.29MiB
devid 1 size 512.00MiB used 114.38MiB path
/dev/vdb
devid 2 size 512.00MiB used 102.38MiB path
/dev/vdc
devid 3 size 512.00MiB used 216.00MiB path
/dev/vdd
devid 4 size 512.00MiB used 216.00MiB path /dev/vde
Btrfs v3.17
dd if=/dev/urandom of=/mnt/btrfs/e bs=1M count=100
100+0 record dentro
100+0 record fuori
104857600 byte (105 MB) copiati, 15,2696 s, 6,9 MB/s
# Ora ha scritto i dati du vdb e vdc
btrfs fi show
Label: none uuid: 5034fded-00fc-4720-9c33-921aa40807f6
Total devices 4 FS bytes used 200.39MiB
devid 1 size 512.00MiB used 322.38MiB path /dev/vdb
devid 2 size 512.00MiB used 310.38MiB path /dev/vdc
devid 3 size 512.00MiB used 216.00MiB path /dev/vdd
devid 4 size 512.00MiB used 216.00MiB path /dev/vde
Btrfs v3.17
sync; dd if=/dev/urandom of=/mnt/btrfs/f bs=1M count=100
100+0 record dentro
100+0 record fuori
104857600 byte (105 MB) copiati, 15,2589 s, 6,9 MB/s
# Ora sembra non aver scritto niente, nonostante abbia lanciato il comando
sync
sync; btrfs fi show
Label: none uuid: 5034fded-00fc-4720-9c33-921aa40807f6
Total devices 4 FS bytes used 400.68MiB
devid 1 size 512.00MiB used 322.38MiB path /dev/vdb
devid 2 size 512.00MiB used 310.38MiB path /dev/vdc
devid 3 size 512.00MiB used 216.00MiB path /dev/vdd
devid 4 size 512.00MiB used 216.00MiB path /dev/vde
Btrfs v3.17
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/ll/attachments/20161023/cfb654cc/attachment.html>
Maggiori informazioni sulla lista
ll