Konversi raid software linux dari raid5 ke raid6

11

Saat ini saya memiliki file server dengan 3 disk 1,5TB dalam array RAID5. Karena cukup penuh, saya mendapat tiga disk tambahan (masing-masing juga 1,5TB).

Sekarang saya ingin beralih ke RAID6 karena ruang 6TB cukup dan saya ingin meningkatkan keamanan raid6. Meskipun saya memiliki cadangan lengkap - yaitu saya cukup membuat array baru dan mengembalikan cadangan - saya lebih suka untuk beralih tanpa harus mengembalikan cadangan. Apakah ini mungkin dan jika ya, bagaimana?

Pencuri
sumber

Jawaban:

9

Terminologi yang Anda cari adalah "migrasi level RAID".

Menurut ini , itu mungkin. Saya belum melakukannya, tetapi prosedurnya seperti Anda harus menambahkan drive baru sebagai hotspare ke array yang ada, kemudian gunakan mdadm untuk memperbarui tingkat serangan dan jumlah perangkat serangan ..

Anda memerlukan mdadm terbaru untuk melakukan ini: mdadm-2.6.9 (mis. Centos 5.x) tampaknya tidak mendukungnya, tetapi mdadm-3.1.4 (mis. Ubuntu 11.10) melakukan:

   Grow   Grow (or shrink) an array, or otherwise reshape it in some way.  Currently supported growth options including changing the active size of component devices and
          changing the number of active devices in RAID levels 1/4/5/6, changing the RAID level between 1, 5, and 6, changing the chunk size and  layout  for  RAID5  and
          RAID5, as well as adding or removing a write-intent bitmap.

Misalnya, tambahkan perangkat hotspare baru, / dev / sdg, ke array RAID5 terlebih dahulu:

$ sudo mdadm --manage /dev/md/md0 --add /dev/sdg

Kemudian konversikan ke dalam array RAID6 dan buatlah untuk membangun kembali ke kondisi bersih. The --raid-devices 4 memberi tahu Anda jumlah total drive yang Anda miliki dalam array baru.

$ sudo mdadm --grow /dev/md/md0 --raid-devices 4 --level 6

Saya tidak tahu seberapa cepat ini akan terjadi. Dalam pengalaman saya dengan melakukan migrasi tingkat serangan pada pengontrol RAID perangkat keras, lebih cepat membuat array baru dari awal dan memulihkan cadangan Anda ke sana.

Daniel Lawson
sumber
3
Memigrasi RAID 5 ke RAID 6 memiliki dua operasi lambat - strip ulang data di seluruh disk dan menghitung nilai paritas kedua untuk disk paritas tambahan. Wipe / restore mungkin akan memakan waktu yang sama dengan ukurannya.
Andrew
1
Itu juga membutuhkan versi kernel tertentu. Menemukan ini dengan cara yang sulit.
Sirex
Karena saya menggunakan gentoo, kernel dan mdadm saya adalah versi yang cukup baru - sehingga seharusnya tidak menjadi masalah.
ThiefMaster
1
Tautan yang Anda lihat ditulis oleh saya. Harap dicatat: Saya tidak benar-benar membaca dokumen tentang bagaimana sebenarnya melakukannya. Saya baru saja membuat mesin virtual dengan 30 drive (sesuatu seperti itu) dan mulai mengutak-atik. Jadi, ambil semua pos dengan sebutir garam, itu hanya braindump ...
Martin M.
1
@ServerHorror: Tercatat. Internet yang lebih luas, termasuk halaman manual mdadm, mengklaim bahwa migrasi tingkat serangan dimungkinkan. :)
Daniel Lawson
7

Peringatan wajib: Rencanakan kegagalan. Siapkan cadangan dan pertimbangkan kemungkinan downtime.

Juga, coba di VM atau yang serupa sebelumnya, ini dari catatan saya dan saya belum pernah melakukan ini dalam waktu yang lama. Ini mungkin tidak lengkap.

  1. Anda perlu adddisk ke array:

    mdadm --manage /dev/md0 --add /dev/sdf  
    

    Lakukan ini untuk masing-masing dari tiga disk dan ganti nama perangkat yang sesuai.

  2. Tumbuhkan susunan:

    mdadm --grow /dev/md0 --level 6 --raid-devices 6 
    
Sven
sumber
3

Manfaatkan --backup-fileopsi ini, sehingga jika terjadi kehilangan daya, Anda dapat terus mengembangkan perangkat setelah reboot dan memastikan tidak ada kehilangan data.

mdadm --grow /dev/md0 --level=raid6 --raid-devices=6 --backup-file=/root/mdadm5-6_backup_md0

File cadangan harus disimpan pada sistem file bukan bagian dari array yang akan Anda kembangkan.

--backup-file=diperlukan saat --growdigunakan untuk menambah jumlah perangkat raid dalam RAID5 atau RAID6 jika tidak ada perangkat cadangan yang tersedia, atau untuk menyusut, ubah level atau tata letak RAID. Lihat bagian GROW MODE di bawah ini pada PERUBAHAN PERANGKAT RAID-PERANGKAT. File harus disimpan pada perangkat yang terpisah, bukan pada array RAID yang sedang dibentuk ulang.

--continuemelengkapi --freeze-reshapeopsi untuk perakitan. Ini diperlukan ketika --growoperasi terganggu dan tidak dihidupkan ulang secara otomatis karena --freeze-reshapepenggunaan selama perakitan array. Opsi ini digunakan bersama dengan -G, ( --grow) perintah dan perangkat untuk membentuk kembali yang akan dilanjutkan. Semua parameter yang diperlukan untuk membentuk kembali kelanjutan akan dibaca dari metadata array. Jika --growperintah awal telah meminta --backup-file=opsi untuk diatur, opsi kelanjutan akan perlu memiliki file cadangan yang sama juga.

Parameter lain yang dilewatkan bersama dengan --continueopsi akan diabaikan.

Guggi
sumber