Saya membuat RAID 5 berbasis mdadm dari enam hard drive menggunakan perintah berikut:
# mdadm --create /dev/md0 --level=5 --raid-devices=5 \
/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 \
--spare-devices=1 /dev/sdg1
Saya berharap array memiliki satu cadangan panas, yaitu / dev / sdg1. Namun, memeriksa mdadm --detail
menunjukkan 2 suku cadang:
# mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 spares=2 name=...
Juga, ukuran array seperti yang ditunjukkan oleh df
adalah 2 TB, yang akan sesuai dengan hanya empat dari 500 GB drive saya yang digunakan.
Jadi apa sebenarnya semantiknya --spare-devices
? Halaman manual menyatakan bahwa "Menentukan jumlah perangkat cadangan (eXtra) dalam array awal.", Tapi sepertinya tidak demikian di sini.
mdadm
software-raid
jstarek
sumber
sumber
mdadm --detail
termasuk drive paritas dalam hitungan "suku cadang".) Anda dapat memeriksa ini dengan membuat array RAID 6 tanpa cadangan panas; jika teori saya berlaku, itu juga akan menunjukkan suku cadang = 2.cat /proc/mdstat
), saya pikir Anda akan melihat 1 yang diharapkanJawaban:
Output itu benar. Anda membuat RAID 5 dengan 5 disk (hanya 4 di antaranya yang akan "digunakan" untuk ruang). Dan Anda menambahkan drive cadangan ekstra.
Jadi Anda sebenarnya memiliki RAID 5 yang memungkinkan satu kegagalan disk + drive cadangan ekstra.
Jika yang Anda inginkan sebenarnya adalah RAID 5 dengan 6 disk dan memiliki ruang 5 disk maka Anda perlu mengubah perintah Anda menjadi:
Tetapi dalam hal ini Anda hanya dapat mentolerir satu kegagalan disk sesuai spesifikasi RAID 5.
EDIT: Menambahkan tautan dari halaman serangan resmi: Anda dapat melihat serangan 5 dengan 6 disk dan menyatakan cadangan = 1: Pembuatan Array Awal
UPDATE: Saya memutuskan untuk membuat serangan 5 di sistem saya dan nilai cadangan menghilang setelah array dalam keadaan bersih:
Kondisi bersih:
Demikian juga dengan komentar OP, selama pembuatan raid 5 awal ia memiliki drive cadangan hingga raid build / sync selesai.
sumber
Demi kejelasan, saya akan mengumpulkan informasi yang diberikan oleh derobert dan Alexandre Alves dan beberapa pengujian lebih lanjut dari saya di sini:
mdadm
's--spare-devices
parameter tidak bekerja sebagai negara halaman manual, yakni mendefinisikan jumlah 'hot spare' drive dalam array. "Cadangan panas", seperti dalam terminologi RAID normal, tidak ada hubungannya dengan drive tambahan yang ada dalam array RAID 5 atau RAID 6 - drive tambahan ini dimaksudkan untuk mengambil alih segera setelah drive dalam array telah gagal.Jumlah drive cadangan diberikan pada waktu pembuatan array. Nantinya, bisa diperiksa menggunakan
#mdadm --detail --scan
.Namun, selama periode singkat inisialisasi RAID 5 berbasis mdadm, ada optimasi, dijelaskan dalam https://raid.wiki.kernel.org/index.php/Initial_Array_Creation , yang membuat drive cadangan tambahan muncul di output dari perintah itu:
"Untuk raid5 ada optimasi: mdadm mengambil salah satu disk dan menandainya sebagai 'cadangan'; kemudian menciptakan array dalam mode terdegradasi. Kernel menandai cadangan disk sebagai 'membangun kembali' dan mulai membaca dari 'baik' disk, hitung paritas dan tentukan apa yang seharusnya ada pada disk cadangan dan kemudian tulis saja. "
Setelah inisialisasi array selesai, jumlah suku cadang yang dilaporkan kembali ke jumlah yang dipilih pada waktu pembuatan.
sumber