Bagaimana saya menumbuhkan array RAID10 menggunakan mdadm?
Jelas saya perlu menambahkan 2 drive sekaligus, atau haruskah 4 drive?
Saya punya perasaan itu hanya ide yang buruk.
Atau akan lebih bijaksana untuk hanya memilih RAID5?
Bagaimana saya menumbuhkan array RAID10 menggunakan mdadm?
Jelas saya perlu menambahkan 2 drive sekaligus, atau haruskah 4 drive?
Saya punya perasaan itu hanya ide yang buruk.
Atau akan lebih bijaksana untuk hanya memilih RAID5?
Jawaban:
Terakhir kali saya memeriksa, mdadm tidak akan membiarkan Anda - tumbuh raid10. Saya melirik manpage mdadm sekarang dan masih mengatakan: Saat ini mendukung opsi pertumbuhan termasuk mengubah ukuran aktif perangkat komponen dan mengubah jumlah perangkat aktif di level RAID 1/4/5/6, mengubah level RAID antara 1, 5, dan 6, mengubah ukuran chunk dan layout untuk RAID5 dan RAID5, serta menambah atau menghapus bitmap write-intent.
Untuk menumbuhkan RAID 10 Anda membutuhkan mdadm dalam versi min. 3.3 dan versi kernel min 3.5. Anda juga memerlukan jumlah disk yang genap - yang tidak berpasangan hanya dapat berfungsi sebagai cadangan atau, pada akhirnya, tumbuh menjadi mode terdegradasi (tidak diuji).
Ini dia contoh pertumbuhan RAID 10 dari 4 drive menjadi 6 menggunakan mdadm 3.3-2ubuntu2 @ Linux 4.2.0-10-generic. Diuji dengan data ext4 di atasnya, filesystem tidak terpasang, ext4 diperpanjang setelah RAID tumbuh tanpa masalah.
~$ cat /proc/mdstat
md126 : active raid10 sdd1[1] sdc1[0] sdf1[3] sde1[2]
976428032 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 0/8 pages [0KB], 65536KB chunk
~$ sudo mdadm /dev/md126 --add /dev/sdi1 /dev/sdj1
mdadm: added /dev/sdi1
mdadm: added /dev/sdj1
~$ sudo mdadm --grow /dev/md126 --raid-devices=6
~$ cat /proc/mdstat
md126 : active raid10 sdj1[5] sdi1[4] sdd1[1] sdc1[0] sdf1[3] sde1[2]
1464642048 blocks super 1.2 512K chunks 2 near-copies [6/6] [UUUUUU]
bitmap: 0/6 pages [0KB], 131072KB chunk
Saya menyadari ini lebih dari satu tahun tetapi seseorang mungkin menemukan ini membantu ...
Anda dapat memperluas array serangan 10, tetapi tidak seperti yang Anda harapkan. Anda harus membuat sarang beberapa tingkat serangan. Hal ini dapat dilakukan dengan mdadm pada 2 drive dalam raid 10, yang kinerjanya cukup bagus tergantung pada tata letak, tetapi Anda harus membuat beberapa 2 disk raid 10 array, kemudian melampirkannya ke node logis. Kemudian untuk memperluas tambahkan beberapa, dan garis di itu. Jika itu adalah use case Anda (perlu banyak dikembangkan) maka Anda akan lebih bijaksana untuk menggunakan array paritas, yang dapat ditanam.
Ini adalah batasan yang Anda dapatkan dengan serangan 10, sambil mempertahankan kinerja baca / tulis yang lebih baik secara keseluruhan. Dan klarifikasi, serangan 5/6 sama sekali tidak "Secara umum, memberikan kinerja penulisan yang lebih baik ...". Raid 5/6 memiliki pro / kontra masing-masing seperti halnya raid 10, tetapi kinerja tulis bukan pro untuk raid 5/6.
Juga, Anda tidak menentukan ukuran drive Anda, tetapi waspadalah terhadap serangan 5 pada drive besar baru. Meskipun jika Anda berhati-hati, Anda dapat pulih dari kesalahan baca yang tidak dapat dipulihkan, Anda berisiko downtime dan kemungkinan tidak dapat pulih sama sekali.
--edit untuk menambahkan info-- Gunakan alat seperti hdparm (hdparm -i) dan lshw untuk mendapatkan nomor seri bersama dengan nama perangkat (/ dev / sda) ketika Anda mengalami kegagalan. Ini akan memastikan Anda menghapus perangkat yang benar saat mengganti. Up-panah pada komentar Travis karena sangat benar dan tata letak yang bagus, tetapi seperti biasa, bobot pro dan kontra dari setiap solusi.
Beberapa berita bagus dari pengumuman rilis untuk mdadm 3.3:
Ini adalah rilis baru utama jadi jangan terlalu terkejut jika ada beberapa masalah ...
Beberapa hal penting adalah:
...
- Array RAID10 dapat dibentuk ulang untuk mengubah jumlah perangkat , mengubah ukuran chunk, atau mengubah tata letak antara 'dekat' dan 'offset'. Ini akan selalu mengubah data_offset, dan akan gagal jika tidak ada ruang untuk data_offset dipindahkan.
...
Menurut jawaban ini pada U&L, Anda memerlukan setidaknya linux 3.5 juga.
Saya tahu ini lebih banyak pekerjaan dan bisa membingungkan, tetapi Anda selalu dapat menghapus beberapa cermin.
Sebagai contoh saya baru saja mengatur 4 drive raid 10 array dan yang terakhir ingin menambahkan 4 drive raid 10 array. Cukup gunakan mdadm untuk membuat array serangan 10 baru pada drive baru. Anda kemudian dapat membuat array 0 raid lain menggunakan dua perangkat raid yang ada. Namun saya akan menggunakan fitur lvm untuk membuat garis, sehingga menjaga konfigurasi mdadm dan / dev / md perangkat dalam keadaan yang mudah dimengerti. Salah satu metode akan bekerja, dan mungkin ada lebih banyak tetapi itulah yang bisa saya lakukan di atas kepala saya.
Anda tidak dapat menumbuhkan array RAID10, ini benar. Tapi Anda bisa mulai dengan dua drive (dengan biaya tidak ada redundansi pada titik ini) dan kemudian, tambahkan dua lagi. Saya telah menggunakan metode ini untuk beralih dari array RAID5 dengan empat drive disk ke RAID10 dengan empat drive disk.
Saya menurunkan RAID5 dan menghapus satu disk dari array. Ini memberi saya dua disk yang bebas untuk digunakan. Kemudian saya membuat RAID10-array dengan sesuatu di sepanjang baris 'mdadm --create --level 10 / dev / md0 / dev / sda1 missing / dev / sdc1 missing'. Ini cukup untuk memulai array.
Ketika saya telah memindahkan data dari RAID5-array yang terdegradasi ke RAID10-array, saya menambahkan dua disk RAID5 ke RAID10-array dan menambahkan yang ekstra sebagai cadangan.
Mungkin ide yang bagus jika seseorang yang lebih berpengetahuan daripada yang bisa saya bicarakan tentang dampak kinerja apa pun yang mungkin terjadi. Tetapi alasan utama posting saya adalah untuk menunjukkan bahwa dimungkinkan untuk memulai dengan RAID10 dan dua drive.
Catatan: baca posting forum berikut yang menanyakan dan menjawab apakah urutan disk dalam mdadm penting .