Hi!
Még anno 1 éve csináltam egy sw raid5-öt:
mdadm -C -l5 -n4 /dev/md10 /dev/hdi1 /dev/hdj1 /dev/hdk1 missing
Tökéletesen ment. Tegnapig!! :( Elszállt a /dev/hdi1
# mdadm --examine /dev/hdi1
/dev/hdi1:
Magic : a92b4efc
Version : 00.90.03
UUID : aa89fa58:db37e3b7:b0ff28ff:999d91c4
Creation Time : Sun Nov 5 05:50:58 2006
Raid Level : raid5
Device Size : 120053632 (114.49 GiB 122.93 GB)
Array Size : 360160896 (343.48 GiB 368.80 GB)
Raid Devices : 4
Total Devices : 3
Preferred Minor : 10
Update Time : Sun Feb 18 21:04:31 2007
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Checksum : bf52389 - correct
Events : 0.925102
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 4 56 1 4 spare /dev/hdi1
0 0 0 0 0 removed
1 1 56 65 1 active sync /dev/hdj1
2 2 57 1 2 active sync /dev/hdk1
3 3 0 0 3 faulty removed
4 4 56 1 4 spare /dev/hdi1
Amikor assemble:
# mdadm -A /dev/md10 /dev/hdi1 /dev/hdj1 /dev/hdk1
mdadm: /dev/md10 assembled from 2 drives and 1 spare - not enough to start the array.
hibát kapok, de
# cat /proc/mdstat
Personalities : [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [faulty]
md10 : inactive hdj1[1] hdi1[4] hdk1[2]
360160896 blocks
Eddig ok. Mivel inactive, elindítom:
# mdadm -R /dev/md10
mdadm: failed to run array /dev/md10: Input/output error
Kernel üzenet erre a parancsra:
raid5: device hdj1 operational as raid disk 1
raid5: device hdk1 operational as raid disk 2
raid5: not enough operational devices for md10 (2/4 failed)
RAID5 conf printout:
--- rd:4 wd:2
disk 1, o:1, dev:hdj1
disk 2, o:1, dev:hdk1
raid5: failed to run raid set md10
md: pers->run() failed ...
Megnéztem, hogy amikor még elindult, akkor ezzel a sorral kezdődött:
raid5: device hdi1 operational as raid disk 0
Nézzük csak meg most:
# cat /proc/mdstat
md10 : inactive hdj1[1] hdi1[4](S) hdk1[2]
360160896 blocks
# mdadm -D /dev/md10
/dev/md10:
Version : 00.90.03
Creation Time : Sun Nov 5 05:50:58 2006
Raid Level : raid5
Device Size : 120053632 (114.49 GiB 122.93 GB)
Raid Devices : 4
Total Devices : 3
Preferred Minor : 10
Persistence : Superblock is persistent
Update Time : Sun Feb 18 21:04:31 2007
State : active, degraded, Not Started
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
UUID : aa89fa58:db37e3b7:b0ff28ff:999d91c4
Events : 0.925102
Number Major Minor RaidDevice State
0 0 0 0 removed
1 56 65 1 active sync /dev/hdj1
2 57 1 2 active sync /dev/hdk1
3 0 0 3 removed
4 56 1 - spare /dev/hdi1
Azt nem értem, hogy miért nem viszi /dev/hdi1 -et disc 0-ának, tehát miért nem indítja el.
Tudom, hogy RAID5 nem biztonságos 3 HDDvel, ismerek mindent ezzel kapcsolatban.
Mivel /dev/hdi1 nem halt meg, szerintem rajta van minden, és mdadm --examine /dev/hd[i,j,k]1 mindenhol azt írja "State: clean", így biztosan működik is mindhárom HDD.
mdadm -nak kéne megmondani, hogy /dev/hdi1 nem spare disc, hanem a tömb disc 0 eleme. Hogy bírom rá erre?
# cat /sys/block/md10/md/dev-hdi1/state
spare
# cat /sys/block/md10/md/dev-hdj1/state
in_sync
# cat /sys/block/md10/md/dev-hdk1/state
in_sync
Nézegettem sysfs-t is, de ezenkívül nem találtam semmit. Írni pedig nem tudom:
# echo "in_sync" > /sys/block/md10/md/dev-hdi1/state
-bash: echo: write error: Invalid argument
Várom az ötleteket.