Fórumok
Sziasztok,
Két raid-et pakoltunk össze, a gépben elérhető véges mennyiségű kábel miatt mindkettőt első körben egy lemezes RAID1-ként, amit mihelyt rajta volt minden aminek lenni kell, kibővítettünk két-két diszkre. Újraindítás után minden működik, viszont feltűnt hogy az mdadm infó fura dolgokat ír - a detail és az examine kimenete nem egészen egyezik, viszont a két raid-tömb neve valamiért megegyezik:
# mdadm --detail --scan
ARRAY /dev/md/1 metadata=1.2 name=hostname:2 UUID=5ff16efb:5cd38c1b:8d9e76f1:e6b0e0c6
ARRAY /dev/md/2 metadata=1.2 spares=1 name=hostname:2 UUID=cae71073:523ffed2:c7c18ea2:3aab6909
# mdadm --examine --scan
ARRAY /dev/md/2 metadata=1.2 UUID=cae71073:523ffed2:c7c18ea2:3aab6909 name=hostname:2
ARRAY /dev/md/2 metadata=1.2 UUID=5ff16efb:5cd38c1b:8d9e76f1:e6b0e0c6 name=hostname:2
Az /etc/mdadm/mdadm.conf így néz ki:
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.0 UUID=794d60c2:69b0a0cf:f1bb71a6:5f09afb3 name=debian:0
ARRAY /dev/md/1 UUID=5ff16efb:5cd38c1b:8d9e76f1:e6b0e0c6
Minden rendben látszik működni, és reboot után se volt probléma, de azért egyrészt zavarja az ember OCD-jét, másrészt félő hogy egy esetleges bővítésnél lesz valami gond... Szerintetek mi lehet ez?
Hozzászólások
proc/mdstat mit mond?
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
Vidak kollega helyett es/vagy neveben irom -- konkretan most epp ezt mondja a /proc/mdstat a kerdeses gepukon:
md2 raid5-nek tűnik
"After successfully ignoring Google, FAQ's, the board search and leaving a undecipherable post in the wrong sub-forum don't expect an intelligent reply."
Az! Viszont nemsokara bovitjuk ha minden jol megy!
Ezt részleteznéd picit...?
Az a terv hogy a RAID5-be teszünk még legalább egy diszket, ha van rá összeg.
És ha nem lesz rá pénz? Egyébként van rajta adat?
Amíg nincs rá összeg addig marad két lemezes RAID5 (ami elvileg így azonos egy RAID1-gyel). Van rajta adat, persze.
Ööö, most RAID5 terén vagy tudsz valamit, amit én nem, vagy én tudok valamit, amit meg te nem... Nézzük. Nekem még mindig az van meg, hogy RAID5 az minimum 3 diszk és nagyon nem tükrözéssel oldja meg a redundanciát, mint a RAID1. Tehát a két lemezzel kb ez egy féllábas RAID5. Nem is értem, hogy sikerült ennyiből összeraknotok. Bár, mondjuk sosem próbálkoztam ilyesmivel :)
De lehet, hogy annyit változott már a tudomány, hogy a mai állása szerint a két diszkes RAID5 = RAID1 állítás teljesen rendben van. (De szerintem meg nem.)
Igazából ti dolgotok, mit csináltok, csak nehogy meglepetés legyen a végén belőle. :)
Na ez motoszkált bennem is, bár ha azt nézem, hogy n-1 adatblokkhoz jön egy checksum blokk, még jó is lehet - csak a bővíthetőségében nem vagyok biztos... Bár ugye aki raid5-öt használ, annak kell, hogy legyen visszatölthető mentése :-)
Persze hogy lehet:
501 dd if=/dev/zero of=/data/root/loop0 bs=1M count=128
502 dd if=/dev/zero of=/data/root/loop1 bs=1M count=128
503 dd if=/dev/zero of=/data/root/loop2 bs=1M count=128
504 losetup /dev/loop0 /data/root/loop0
505 losetup /dev/loop1 /data/root/loop1
506 losetup /dev/loop2 /data/root/loop2
507 cat /proc/mdstat
508 mdadm --create /dev/md42 -l 5 -n 2 /dev/loop[01]
509 cat /proc/mdstat
510 cat /proc/mdstat
511 cat /proc/mdstat
512 cat /proc/mdstat
513 mdadm --add /dev/md42 /dev/loop2
514 mdadm --grow /dev/md42 -l 5 -n 3
515 cat /proc/mdstat
516 cat /proc/mdstat
517 cat /proc/mdstat
518 cat /proc/mdstat
Bár ugye aki raid5-öt használ, annak kell, hogy legyen visszatölthető mentése :-)
valoban :)
És tényleg :)
mkfs.xfs /dev/md42
mount /dev/md42 /mnt
df -hlp /mnt
mdadm --add /dev/md42 /dev/loop2
mdadm --grow /dev/md42 -l 5 -n 3
xfs_growfs /dev/md42
df -hlp /mnt
OK, most már értem, hogy sikerült összerakni.
De én még mindig le vagyok ott ragadva, hogy ha jól okoskodom akkor ez:
Ennél az én meglátásom szerint a RAID0 is jobb lenne (2 diszknyi hely, jobb performancia), de egy RAID1 tuti.
(De kérem javítsatok ki, ha bármiben is tévedek.)
2 diszkre csakis raid1, a raid5 öntökön szúrás 3 lemez + spare nélkül.
+backup nélkül.
Szamold ki a matekjat (paritasok, vandermonde-matrix helyett diagonalis + egysegsor az [n+1]x[n]-es matrixban, stb), es kijon hogy egy ketdiszkes raid5 meg egy ketdiszkes raid1 egzaktul ugyanaz. Marmint nemcsak redundancia szempontjabol hanem fizikailag is ugyanugy fog kinezni az adat.
(( Sot, egy 3 diszkes raid6 is ugyanaz lesz mint egy 3 diszkes raid1 ha jol szamolom es ha galois-testek feletti hatvanyozassal epitik fel a [n+2]x[n]-es matrix utolso oszlopat. [...] szerk: mondjuk ettol fuggetlenul maga az mdadm nem engedi letrehozni... de a matekja ugyanaz. ))
Es ott a peldaszkript, a hibatureset is tudod tesztelni (egy loop-ot kirugni nem olyan nehez :)). Jo ez.
Amit (meg) nem tud az mdadm/md-layer az a raid1 -> raid5 reshaping. Ugyhogy marcsak emiattis igy erdemes ezt csinalni.
Tehát: 2 diszk RAID5, abból RAID1, abból újra RAID5, ahhoz +1 diszk és azt már nem tudom megoldani, hogy abból -1 diszk és újra RAID1 legyen. Egész az utolsó pontig sikerült a fájlokat élve tartanom. A 3 lemezes RAID5-ből nem tudok 2 lemezest varázsolni újra.
Még egy kicsit agyalok rajta, mert viccesen hangzana, ha meg lehetne csinálni, de aztán ráhagyom.
(Viszont így a doksikat nézve újra elborzadtam rajta, hogy az írási tempója milyen gyalázatos.)
hibatűrése 0 (sőt, duplázva van az esélye a sérülésre)
Ennél az én meglátásom szerint a RAID0 is jobb lenne (2 diszknyi hely, jobb performancia), de egy RAID1 tuti.
A fenti szkript kiegeszitese:
# cat /proc/mdstat
Personalities : [raid1] [raid0] [linear] [multipath] [raid6] [raid5] [raid4] [raid10]
md42 : active raid5 loop1[2] loop0[0]
130048 blocks super 1.2 level 5, 512k chunk, algorithm 2 [2/2] [UU]
# dd if=/dev/urandom bs=1M count=64 of=test.bin
# md5sum test.bin
46a763ef483d1ad52038125919fe5078 test.bin
# dd if=test.bin of=/dev/md42
# sync
# mdadm --stop /dev/md42
# dd if=/dev/loop1 bs=1M skip=1 count=64 2>/dev/null | md5sum
46a763ef483d1ad52038125919fe5078 -
# dd if=/dev/loop0 bs=1M skip=1 count=64 2>/dev/null | md5sum
46a763ef483d1ad52038125919fe5078 -
Hm, thx! Megnézem majd, eljátszom vele ha lesz egy kis időm. Hátha okosabb leszek. (Az néha nem árt.)
Bevallom töredelmesen, sosem szimpatizáltam az 5-el, szoftveresen egy helyen használom: otthon a gyerekek meséi vannak rajta. 4 diszk, ha elszáll, i.j. (Azért, fejfájást kerülendő van a fiókban pár cold-spare) De ez is olyan döntés volt, amit napokig forgattam magamban, hogy jó lesz-e nekem. Hát, helyem rengeteg lett, a többit meg majd meglátjuk. Idővel kiderül.
hat ez alapjan az mdadm.conf szar. generalj ujat /usr/share/mdadm/mkconf, ha jonak tunik minden akkor az outputot ird bele az mdadm.conf-ba. utana kell update initramfs.
ha a mount uuiddel megy, akkor at is nevezheted md0,md1-re oket.
mondjuk az a ket lemezes raid5 eleg erdekes....
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
Eztet generalta le:
Azaz ez sem jo, duplazza az md2-t. Pont ugyanugy mint az `mdadm --examine --scan`. Mondjuk a forraskodjat elnezve pontosan ez is ezt csinalja :)
Ami meg feltunt, hogy az `mdadm --detail /dev/sd*` ill az `mdadm --detail /dev/md*` is azt mondja, hogy:
Azaz mar mintha a diszken levo metaadat lenne rossz. Lehet hogy azt kene inkabb fixalni...?
Egy kis update:
Közben rájöttem hogy az /etc/fstab-ban nem volt benne a /boot, így az update-initramfs eleve hibát dobott. Az mdadm.conf-ban még egy régi kötet szerepelt - ezeket javítottam, az mdadm.conf-ot átírtam arra ami a helyes lenne, reboot, de a helyzet ugyanaz:
Így nem tudom, érdemes erőltetni az
update-initramfs
-t? Amit apal kolléga javasolt - a metaadat javítása - meg lehet oldani valahogy úgy hogy a RAID-eken levő adatok rendben megmaradjanak?