Saya mengalami masalah berikut dengan partisi serangan perangkat lunak RAID1 pada sistem Ubuntu saya (10,04 LTS, 2.6.32-24-server jika itu penting).
Salah satu disk saya (sdb5) melaporkan kesalahan I / O dan karena itu ditandai salah dalam array. Array kemudian diturunkan dengan satu perangkat aktif. Oleh karena itu, saya mengganti harddisk, mengkloning tabel partisi dan menambahkan semua partisi baru ke array serangan saya. Setelah menyinkronkan semua partisi berakhir dengan baik, memiliki 2 perangkat aktif - kecuali salah satunya. Partisi yang melaporkan disk yang rusak sebelumnya, bagaimanapun, tidak termasuk partisi baru sebagai perangkat aktif tetapi sebagai disk cadangan:
md3 : active raid1 sdb5[2] sda5[1]
4881344 blocks [2/1] [_U]
Tampilan terperinci mengungkapkan:
root@server:~# mdadm --detail /dev/md3
[...]
Number Major Minor RaidDevice State
2 8 21 0 spare rebuilding /dev/sdb5
1 8 5 1 active sync /dev/sda5
Jadi, inilah pertanyaannya: Bagaimana saya memberi tahu serangan saya untuk mengubah disk cadangan menjadi yang aktif? Dan mengapa itu ditambahkan sebagai perangkat cadangan? Menciptakan atau memasang kembali array bukanlah pilihan, karena itu adalah partisi root saya. Dan saya tidak dapat menemukan petunjuk untuk subjek itu di HOWTO Raid Perangkat Lunak.
Bantuan apa pun akan dihargai.
Solusi Saat Ini
Saya menemukan solusi untuk masalah saya, tetapi saya tidak yakin bahwa ini adalah cara aktual untuk melakukannya. Setelah melihat lebih dekat pada serangan saya, saya menemukan bahwa sdb5 selalu terdaftar sebagai perangkat cadangan:
mdadm --examine /dev/sdb5
[...]
Number Major Minor RaidDevice State
this 2 8 21 2 spare /dev/sdb5
0 0 0 0 0 removed
1 1 8 5 1 active sync /dev/sda5
2 2 8 21 2 spare /dev/sdb5
jadi membaca perangkat sdb5 ke array md3 selalu berakhir dengan menambahkan perangkat sebagai cadangan.
Akhirnya saya baru saja membuat ulang array
mdadm --create /dev/md3 --level=1 -n2 -x0 /dev/sda5 /dev/sdb5
yang berhasil.
Tetapi pertanyaannya tetap terbuka bagi saya: Apakah ada cara yang lebih baik untuk memanipulasi ringkasan di superblock dan untuk memberitahu array untuk mengubah sdb5 dari disk cadangan ke disk aktif? Saya masih penasaran untuk jawabannya.