Beberapa waktu lalu saya punya sistem RAID5 di rumah. Salah satu dari 4 disk gagal tetapi setelah menghapus dan meletakkannya kembali sepertinya OK jadi saya memulai sinkronisasi ulang. Ketika selesai saya menyadari, betapa ngerinya saya, bahwa 3 dari 4 disk gagal. Namun saya tidak percaya itu mungkin. Ada beberapa partisi pada disk, masing-masing bagian dari array RAID yang berbeda.
- md0 adalah array RAID1 yang terdiri dari sda1, sdb1, sdc1 dan sdd1.
- md1 adalah array RAID5 yang terdiri dari sda2, sdb2, sdc2 dan sdd2.
- md2 adalah array RAID0 yang terdiri dari sda3, sdb3, sdc3 dan sdd3.
md0 dan md2 melaporkan semua disk sementara md1 melaporkan 3 gagal (sdb2, sdc2, sdd2). Kesalahpahaman saya bahwa ketika hard drive gagal semua partisi harus hilang bukan hanya yang tengah.
Pada saat itu saya mematikan komputer dan mencabut drive. Sejak itu saya menggunakan komputer itu dengan disk baru yang lebih kecil.
Apakah ada harapan memulihkan data? Bisakah saya meyakinkan mdadm bahwa disk saya sebenarnya berfungsi? Satu-satunya disk yang mungkin benar-benar memiliki masalah adalah sdc tetapi satu juga dilaporkan oleh array lainnya.
Memperbarui
Saya akhirnya mendapat kesempatan untuk menghubungkan disk lama dan mem-boot mesin ini dari SystemRescueCd. Segala sesuatu di atas ditulis dari memori. Sekarang saya punya beberapa data. Berikut ini adalah output darimdadm --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
Tampaknya segala sesuatu telah berubah sejak boot terakhir. Jika saya membaca ini dengan benar sda2, sdb2 dan sdc2 berfungsi dan mengandung data yang disinkronkan dan sdd2 adalah cadangan. Saya ingat dengan jelas melihat 3 disk gagal tetapi ini adalah kabar baik. Namun array masih tidak berfungsi:
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 tampaknya diubah namanya menjadi md127. md125 dan md126 sangat aneh. Mereka harus menjadi satu array bukan dua. Itu dulu disebut md1. md2 benar-benar hilang tapi itu swap saya jadi saya tidak peduli.
Saya dapat memahami nama-nama yang berbeda dan itu tidak terlalu penting. Tetapi mengapa sebuah array dengan 3 disk "sinkronisasi aktif" tidak dapat dibaca? Dan ada apa dengan sdd2 berada di array yang terpisah?
Memperbarui
Saya mencoba yang berikut setelah mencadangkan superblok:
root@sysresccd /root % mdadm --stop /dev/md125
mdadm: stopped /dev/md125
root@sysresccd /root % mdadm --stop /dev/md126
mdadm: stopped /dev/md126
Sejauh ini baik. Karena sdd2 adalah cadangan, saya belum ingin menambahkannya.
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
Rupanya saya tidak bisa melakukan itu.
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>
Itu juga tidak berhasil. Mari kita coba dengan semua disk.
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>
Tidak berhasil Berdasarkan jawaban ini saya berencana untuk mencoba:
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
Apakah ini aman?
Memperbarui
Saya menerbitkan skrip parser superblock yang saya gunakan untuk membuat tabel itu di komentar saya. Mungkin seseorang akan merasakan manfaatnya. Terima kasih atas seluruh bantuan Anda.
mdadm -A /dev/md1 /dev/sd{b,c,d}2
(mungkin --force
)? (Jika Anda belum melakukannya, cadangkan superblock terlebih dahulu.)
/dev/sdd2
bisa dalam array yang terpisah walaupun memiliki UUID yang sama dengan sd{a,b,c}2
.
mdadm --re-add
bukan yang Anda cari. Apakah Anda melakukan tes memori baru-baru ini? Apakah Anda memiliki pesan log yang terkait dengan kegagalan array?