Bir süre önce evde bir RAID5 sistemim vardı. 4 disklerden biri başarısız oldu, ancak kaldırdıktan ve geri koyduktan sonra Tamam gibi görünüyordu, bu yüzden bir resync başlattım. Bittiğinde, dehşetime göre, 4 diskten 3'ünün başarısız olduğunu fark ettim. Ancak bunun mümkün olduğuna inanmıyorum. Disklerde farklı bir RAID dizisinin her bir parçası için birden çok bölüm vardır.
- md0, sda1, sdb1, sdc1 ve sdd1'den oluşan bir RAID1 dizisidir.
- md1, sda2, sdb2, sdc2 ve sdd2'den oluşan bir RAID5 dizisidir.
- md2, sda3, sdb3, sdc3 ve sdd3'ten oluşan bir RAID0 dizisidir.
md0 ve md2 tüm diskleri bildirirken md1 3 bildirimi başarısız oldu (sdb2, sdc2, sdd2). Benim sabit fikrim başarısız olduğunda tüm bölümlerin sadece ortadaki bölümlerin değil, kaybolması gerektiğine inanıyorum.
Bu noktada bilgisayarı kapattım ve sürücüleri söktüm. O zamandan beri o bilgisayarı daha küçük bir diskle kullanıyordum.
Verileri kurtarma umudu var mı? Bir şekilde mdadm'ı disklerimin gerçekten çalıştığına ikna edebilir miyim? Gerçekten bir sorun olabilir tek disk sdc ama bu da diğer diziler tarafından bildirilir.
Güncelleme
Sonunda eski diskleri bağlama ve bu makineyi SystemRescueCd'den önyükleme şansım oldu. Yukarıdaki her şey bellekten yazılmıştır. Şimdi bazı zor verilerim var. İşte çıktımdadm --examine /dev/sd*2
/dev/sda2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:40:48 2010
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 1
Spare Devices : 1
Checksum : 68b48835 - correct
Events : 53204
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 8 2 0 active sync /dev/sda2
0 0 8 2 0 active sync /dev/sda2
1 1 8 18 1 active sync /dev/sdb2
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdb2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Checksum : 68b4894a - correct
Events : 53205
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 1 8 18 1 active sync /dev/sdb2
0 0 0 0 0 removed
1 1 8 18 1 active sync /dev/sdb2
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdc2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 1
Working Devices : 2
Failed Devices : 2
Spare Devices : 1
Checksum : 68b48975 - correct
Events : 53210
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 2 8 34 2 active sync /dev/sdc2
0 0 0 0 0 removed
1 1 0 0 1 faulty removed
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdd2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 1
Working Devices : 2
Failed Devices : 2
Spare Devices : 1
Checksum : 68b48983 - correct
Events : 53210
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 4 8 50 4 spare /dev/sdd2
0 0 0 0 0 removed
1 1 0 0 1 faulty removed
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
Görünüşe göre son açılıştan bu yana işler değişti. Bu doğru sda2 okuyorsanız, sdb2 ve sdc2 çalışıyor ve senkronize veriler içeriyor ve sdd2 yedek. Kesinlikle 3 başarısız disk gördüğümü hatırlıyorum ama bu iyi haber. Ancak dizi hala çalışmıyor:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md125 : inactive sda2[0](S) sdb2[1](S) sdc2[2](S)
1875194880 blocks
md126 : inactive sdd2[4](S)
625064960 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
md0, md127 olarak yeniden adlandırıldı. md125 ve md126 çok garip. Bunlar iki değil bir dizi olmalıdır. Buna md1 denirdi. md2 tamamen gitti ama benim takasımdı bu yüzden umrumda değil.
Farklı isimleri anlayabiliyorum ve gerçekten önemli değil. Ama neden 3 "aktif senkronizasyon" diski olan bir dizi okunamıyor? Ve sdd2'nin ayrı bir dizide olmasının nesi var?
Güncelleme
Süper blokları yedekledikten sonra aşağıdakileri denedim:
root@sysresccd /root % mdadm --stop /dev/md125
mdadm: stopped /dev/md125
root@sysresccd /root % mdadm --stop /dev/md126
mdadm: stopped /dev/md126
Çok uzak çok iyi. Sdd2 yedek olduğundan henüz eklemek istemiyorum.
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c}2 missing
mdadm: cannot open device missing: No such file or directory
mdadm: missing has no superblock - assembly aborted
Görünüşe göre bunu yapamam.
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c}2
mdadm: /dev/md1 assembled from 1 drive - not enough to start the array.
root@sysresccd /root % cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sdc2[2](S) sdb2[1](S) sda2[0](S)
1875194880 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
Bu da işe yaramadı. Tüm diskleri deneyelim.
mdadm --stop /dev/md1
mdadm: stopped /dev/md1
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c,d}2
mdadm: /dev/md1 assembled from 1 drive and 1 spare - not enough to start the array.
root@sysresccd /root % cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sdc2[2](S) sdd2[4](S) sdb2[1](S) sda2[0](S)
2500259840 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
Şanssız. Bu cevaba dayanarak denemeyi planlıyorum:
mdadm --create /dev/md1 --assume-clean --metadata=0.90 --bitmap=/root/bitmapfile --level=5 --raid-devices=4 /dev/sd{a,b,c}2 missing
mdadm --add /dev/md1 /dev/sdd2
Güvenli mi?
Güncelleme
Yorumumda bu tabloyu yapmak için kullandığım süper blok ayrıştırıcı komut dosyasını yayınlıyorum . Belki birisi bunu faydalı bulabilir. Yardımların için teşekkür ederim.
mdadm -A /dev/md1 /dev/sd{b,c,d}2
(belki --force
) ile yeni bir diziyi yeniden birleştirmeyi denediniz mi? (Eğer yapmadıysanız, önce süper blokları yedekleyin.)
/dev/sdd2
aynı UUID olmasına rağmen nasıl ayrı bir dizide olabilir hiçbir fikrim yok sd{a,b,c}2
.
mdadm --re-add
aradığınız şey bu değil. Son zamanlarda bir hafıza testi yaptın mı? Dizi hatasıyla ilgili herhangi bir günlük mesajınız var mı?