Portál AbcLinuxu, 12. května 2025 12:53
/dev/md0:
Version : 00.90.03
Creation Time : Sat May 3 12:58:57 2008
Raid Level : raid5
Array Size : 1953535744 (1863.04 GiB 2000.42 GB)
Used Dev Size : 488383936 (465.76 GiB 500.11 GB)
Raid Devices : 5
Total Devices : 5
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sat May 3 12:58:57 2008
State : clean
Active Devices : 5
Working Devices : 5
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
UUID : e2ce479b:ab354b16:a99b9291:78c4236d
Events : 0.1
Number Major Minor RaidDevice State
0 33 1 0 active sync /dev/hde1
1 22 1 1 active sync /dev/hdc1
2 3 1 2 active sync /dev/hda1
3 57 1 3 active sync /dev/hdk1
4 56 1 4 active sync /dev/hdi1
Pridal jsem dalsi disk /dev/hdg1 , reshape se pustil, ale u 87% doslo k problemum s radicem a DMA a po rebootu se disk /dev/hde1 jiz nepriradil a oznacil jako SPARE, reshape zustal seknuty
md0 : active raid5 hdc1[1] hdg1[5] hdi1[4] hdk1[3] hda1[2]
1953535744 blocks super 0.91 level 5, 64k chunk, algorithm 2 [6/5] [_UUUUU]
[=================>...] reshape = 87.9% (429496704/488383936) finish=213875.0min speed=4K/sec
# mdadm -E /dev/hde1
/dev/hde1:
Magic : a92b4efc
Version : 00.91.00
UUID : 4374c362:3111dd76:c4e95663:32b5080f
Creation Time : Fri May 2 02:39:03 2008
Raid Level : raid5
Used Dev Size : 488383936 (465.76 GiB 500.11 GB)
Array Size : 2441919680 (2328.80 GiB 2500.53 GB)
Raid Devices : 6
Total Devices : 6
Preferred Minor : 0
Reshape pos'n : 2147471680 (2047.99 GiB 2199.01 GB)
Delta Devices : 1 (5->6)
Update Time : Sat May 3 11:41:12 2008
State : clean
Active Devices : 5
Working Devices : 6
Failed Devices : 0
Spare Devices : 1
Checksum : c2ad69ab - correct
Events : 0.286136
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 6 33 1 6 spare /dev/hde1
0 0 0 0 0 removed
1 1 22 1 1 active sync /dev/hdc1
2 2 3 1 2 active sync /dev/hda1
3 3 57 1 3 active sync /dev/hdk1
4 4 56 1 4 active sync /dev/hdi1
5 5 34 0 5 active sync /dev/hdg1
6 6 33 1 6 spare /dev/hde1
Zkousel jsem obnovit puvodni pole pomoci
mdadm -Cv /dev/md0 -l5 -n6 /dev/hde1 /dev/hdc1 /dev/hda1 /dev/hdk1 /dev/hdi1 /dev/hdg1 --assume-clean
a pak i pomoci:
mdadm -Cv /dev/md0 -l5 -n5 /dev/hde1 /dev/hdc1 /dev/hda1 /dev/hdk1 /dev/hdi1 --assume-clean Avsak mount hlasi: mount: /dev/md0: superblok nelze přečíst, takze ocekavam ze timto zpusobem se na data nedostanu. S daty nebylo dale nijak manipulovano a ani neprobehl dalsi sync, pripadne reshape.
a
,c
,k
a i
.
Co bych zkusil já, kdyby mi nikdo neporadil něco lepšího, je vyhodit ten hde1 disk jako spare (mdadm --remove /dev/md0 /dev/hde1
) a vrátit ho tam jako aktivní (mdadm --re-add /dev/md0 /dev/hde1
)
To fungovat může a nemusí, záleží na implementaci v jádře. Víceméně můžou nastat následující varianty:
1. Jádro si vzpomene, že hde už v tom poli byl, tím pádem že pole je ve stejném stavu, jako před tím rebootem a že se může jen tak pokračovat v reshape.
2. Jádro sesynchronizuje ten reshapovaný začátek na hde tak, že už poběží na šesti discích, pak dokončí reshape z těch disků, které jsou aktuálně v poli přítomné
3. Jádro sesynchronizuje ten reshapovaný začátek na hde tak, že už poběží na šesti discích, pak dokončí reshape z těch disků, které jsou aktuálně v poli přítomné, jenže na hdg jsou nesmysly, takže to nedopadne dobře.
4. Jádro zapomene, že se děl nějaký reshape, sesynchronizuje celý hde podle těch ostatních dopočítáním dat
5. Něco úplně jinýho, co mě teď nenapadlo
Je vidět, že jenom varianta 1 s určitostí nevede ke ztrátě dat a zrovna tuhle variantu považuju za dost nepravděpodobnou, takže předtím, než to uděláš, doporučuju
a) počkat, až někdo zkušenější v mém návrhu najde a opraví chyby
b) zazálohovat někam obsah všech hdX1 oddílů těch disků; když postup selže, budeš mít k dispozici druhý pokus. Pokud při tom, co všechno se stalo, něco nezměnilo obsah těch oddílů, tak by v nejhorším případě mělo jít data obnovit ručně tak, že bys je načetl přímo z těch oddílů a poskládal je sám.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.