[gull] Disques de tailles différentes et Raid-0 (striping)
Félix Hauri
felix at f-hauri.ch
Wed Aug 6 18:01:40 CEST 2008
Bonjour,
Que se passe-t-il si j'associe en raid-0 2 disques de taille différente?
A priori, cela fonctionne, en ce sens que j'obtiendrais bien un raid
présentant une taille totale égale à la somme des tailles inclues, mais
du point de vue du ``striping''...
Pennons un exemple: deux disques sda 1Mo sdb 1.5Mo...
# dd if=/dev/zero bs=1024 count=1024 of=sda
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.00558941 seconds, 188 MB/s
# dd if=/dev/zero bs=1024 count=1536 of=sdb
1536+0 records in
1536+0 records out
1572864 bytes (1.6 MB) copied, 0.00910629 seconds, 173 MB/s
# losetup -f sda
# losetup -f sdb
# losetup /dev/loop/0
/dev/loop/0: [0905]:327044 (sda)
# losetup /dev/loop1
/dev/loop1: [0905]:327045 (sdb)
... que l'on associe en raid-0:
# mdadm --create /dev/md9 --level 0 --raid-devices 2 /dev/loop{0,1}
mdadm: array /dev/md9 started.
Bon, on s'accroche!
# i=0
# while printf "%16d\n%494s\n" $i ' ' |\
dd of=/dev/md9 seek=$i 2>log ;do \
echo -en \\r$((i++))\\e[K
done;echo
4863
(ou bien:
# i=0;
# while printf "%16d\n%494s\n" $i ' ';do
printf >/dev/stderr "\r%6d\e[K" $((i++));
done |\
dd of=/dev/md9
4991dd: writing to `/dev/md9': No space left on device
4865+0 records in
4864+0 records out
2490368 bytes (2.5 MB) copied, 1.87245 seconds, 1.3 MB/s
Bref...
# mdadm --stop /dev/md9
# losetup -d /dev/loop0
# losetup -d /dev/loop1
# strings sda | grep [0-9] >sda.nrs
# strings sdb | grep [0-9] >sdb.nrs
# diff sd[ab].nrs |\
grep ^[\<\>] |\
sort -k2 -n |\
sed s/\ .*$// |\
tr \<\> ab |\
uniq -c |\
column
128 a 128 a 128 a 128 a 128 a
128 b 128 b 128 b 128 b 128 b
128 a 128 a 128 a 128 a 128 a
128 b 128 b 128 b 128 b 128 b
128 a 128 a 128 a 128 a 128 a
128 b 128 b 128 b 128 b 1152 b
CQFD. Le striping s'opère naturellement par tranches régulière
tant que le mirroir est possible...
Le ``reste'' n'est pas ``stripé''.
--
Félix Hauri - <felix at f-hauri.ch> - http://www.f-hauri.ch
More information about the gull
mailing list