Menambahkan drive ke RAID 10 Array

11

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?

stuartc
sumber
Biasanya, jika seseorang bertanya kepada saya apakah mereka membutuhkan RAID 10, itu berarti mereka tidak membutuhkannya. Mengapa tidak Raid 5 atau Raid 6?
surfasb
Saya berharap untuk kinerja penulisan yang lebih baik daripada RAID5 .. Tapi saya kira kurangnya fleksibilitas aturan yang keluar ..
stuartc
Secara umum, RAID 5/6 akan memberikan kinerja penulisan yang lebih baik daripada RAID 10/01. Karena Anda mendistribusikan penulisan di semua drive versus hanya setengah drive.
surfasb
6
@surfasb "RAID 5/6 akan memberikan kinerja penulisan yang lebih baik daripada RAID 10" tidak, tidak, karena mendistribusikan penulisan melalui lebih banyak drive lebih berat dibandingkan
@JackDouglas: Informasi yang sangat bagus.
surfasb

Jawaban:

5

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.

ikan pari
sumber
Terima kasih! Dihormati, juga petunjuk lain yang baik bahwa hal ini tidak akan terjadi dengan cepat adalah bahwa saya tidak dapat menemukan satu kartu RAID perangkat keras yang melakukannya juga .. RAID5 itu ..
stuartc
2
RAID5 bisa sangat lambat pada beberapa beban kerja. Apa yang ingin Anda lakukan?
Stingray
Sebagian besar hanya menyimpan media, tetapi juga memasang berbagi NFS untuk mengedit foto, jadi berharap untuk beberapa kecepatan tulis yang baik serta membaca.
stuartc
16

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
Cieniek
sumber
1
Ini harus menjadi jawaban yang diterima saat ini. Saya sudah melakukannya sendiri.
Kyle
karena saya baru tahu sendiri cara yang sulit, ini hanya berlaku untuk serangan 10, dekat2 tata letak. raid10, far2 masih belum bisa ditanam. lihat contohnya di sini: wiki.archlinux.org/index.php/RAID#Nested_RAID_levels
gabtub
9

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.

edong23
sumber
9

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.

Komunitas
sumber
3
Saya bereksperimen dengan menumbuhkan mdadm raid10 menggunakan mdadm v3.3.2 dengan hasil yang beragam. Saya menemukan bahwa saya tidak bisa menumbuhkan serangan10 yang saya buat dengan versi mdadm sebelumnya. Serangan 10 yang dibuat dengan v3.3, saya bisa membentuk kembali / tumbuh. Jadi jika Anda berada dalam situasi ingin menumbuhkan raid10 (tetapi tidak bisa), mungkin ide yang bagus untuk membuat raid10 baru menggunakan mdadm terbaru.
adalle
6

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.

Travis
sumber
Cara hebat mengelola dataset yang tumbuh, jauh lebih mudah daripada kebanyakan. Bagian yang sulit adalah melacak drive mana yang gagal di mana mirror diatur. Tapi ya saran yang bagus!
stuartc
3

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 .

drum
sumber