Saya memiliki array perangkat lunak RAID5 (Linux md) pada 4 disk.
Saya ingin mengganti salah satu disk dengan yang baru, tanpa meletakkan array dalam keadaan rusak , dan jika mungkin, online. Bagaimana itu mungkin?
Ini penting karena saya tidak ingin:
- mengambil risiko menekankan disk lain sehingga orang mungkin crash saat membangun kembali,
- mengambil risiko berada dalam "negara tanpa paritas" jadi saya tidak memiliki jaring pengaman untuk beberapa waktu.
Saya kira melakukannya secara online adalah terlalu banyak bertanya dan saya harus menyalin mentah-mentah ( dd
) data dari disk lama ke yang baru offline dan kemudian menggantinya, tapi saya pikir secara teori itu mungkin ...
Beberapa konteks : Semua disk itu telah berputar hampir terus menerus selama lebih dari 5,5 tahun. Mereka masih bekerja dengan sempurna untuk saat ini dan mereka semua lulus dari swa-uji SMART (panjang). Namun, saya punya alasan untuk berpikir bahwa salah satu dari 4 disk itu tidak akan bertahan lebih lama (dugaan kegagalan prediksi).
sumber
mdadm --add
masih dibutuhkan sebelum--replace
akan bekerja. (mdadm
3.3, Ubuntu 15.10). Jika Anda melakukan--add
setelahnya--replace
, penyalinan akan dimulai segera setelah cadangan ditambahkan. (Perangkat tetap ditandai sebagai "ingin penggantian").Ini mungkin memenuhi persyaratan
Tetapi bahkan jika yang berikut ini mungkin berhasil Anda mungkin tidak akan menemukan rekomendasi semacam itu "di dalam buku" ...
Ide:
mdadm --manage /dev/raid5 --fail /dev/OLD
mdadm --build /dev/md42 --level=mirror --raid-devices=2 /dev/OLD /dev/NEW
mdadm --manage /dev/raid5 --re-add /dev/md42
Apa yang harus :-) terjadi:
Tonton kemajuan sinkronisasi (
cat /proc/mdstat
ataumdadm --monitor
). Jika sinkronisasi selesai, keluarkan RAID-1 dari RAID-5, hentikan RAID-1, tambahkan kembali / dev / NEW ke RAID-5. Jika semuanya baik-baik saja, timpa superblok kunci mdraid pada / dev / OLD untuk menghindari masalah:mdadm --zero-superblock
Peringatan: Sinkronisasi RAID-5 cepat hanya dapat berfungsi jika Anda menggunakan bitmap. Jika Anda tidak memilikinya maka lebih baik lakukan tes dengan dummy RAID-5 (tanpa bitmap) terlebih dahulu. Atau tambahkan satu. Setidaknya menambahkan yang eksternal harus dimungkinkan. Kalau tidak, mungkin perlu untuk menghentikan RAID-5 sebelum mengubah perangkat. Jika Anda mem-boot dari RAID-5, ini akan menjadi sedikit rumit.
sumber
Jika Anda tidak keberatan menjalankan RAID-6 (2 disk paritas daripada 1), dan jika Anda menjalankan mdadmin 3.1.x atau lebih tinggi, Anda bisa mengonversi array RAID-5 ke RAID-6 untuk menambahkan disk paritas tambahan . Ini akan menempatkan array di bawah tekanan selama pembangunan kembali. Dan itu memiliki beberapa implikasi kinerja karena ada lebih banyak disk paritas untuk diperbarui selama penulisan.
Tetapi jika selesai dengan sukses, maka Anda dapat menyimpan disk yang gagal di tempatnya dan ketika akhirnya gagal, Anda masih memiliki perlindungan paritas untuk array. Saya pikir Anda dapat mengubah array dari RAID6 kembali ke RAID5 jika Anda tidak menunggu untuk menyimpannya sebagai RAID6.
Saya tidak tahu cara online untuk mempertahankan array sebagai RAID-5 dan mengganti disk tanpa meletakkan array dalam mode terdegradasi, karena saya pikir Anda harus menandainya sebagai gagal untuk menggantinya. Gagasan menyalin dd Anda mungkin merupakan cara untuk melakukannya.
sumber