Cara merakit array RAID tertentu tanpa menggunakan /etc/mdadm.conf

9

Apakah mungkin untuk merakit array RAID tertentu menggunakan mdadm dan fungsionalitas pemindaiannya, tetapi tanpa memerlukan file konfigurasi?

Latar Belakang:
Saya menggunakan initramfs yang dibuat khusus untuk mengatur sistem saya (dm-crypt dan lainnya). Semuanya dilakukan dan dikonfigurasi dalam skrip init dan itulah cara saya ingin menyimpannya, yaitu tanpa file konfigurasi tambahan.

Tujuan saya:
Di dalam skrip init, saya ingin merakit satu array RAID khusus hanya menggunakan baris perintah. Array diidentifikasi melalui UUID-nya, nama perangkat md diberikan dan anggota array harus dipindai (karena misalnya stik USB yang terpasang atau perangkat yang gagal akan mengacaukan nama / dev / sdX). Semua perangkat lain dan potensi RAID array harus diabaikan, karena selama boot hanya satu array yang menarik (membawa sistem file root).


Setelah membaca halaman manual mdadm dan melakukan beberapa tes, saya menemukan ini:

mdadm --assemble --uuid <uuid> /dev/md0


Ini sepertinya berhasil, tetapi apakah ini cara yang tepat untuk melakukannya?


Dari halaman manual:
Jika tepatnya satu perangkat terdaftar, tetapi --scan tidak diberikan, maka mdadm bertindak seolah-olah --scan diberikan dan informasi identitas diekstraksi dari file konfigurasi.

maksim
sumber

Jawaban:

15

Jika Anda mengetahui array UUID, maka mdadm --assemble /dev/md0 --uuid <uuid>(perhatikan sedikit perbedaan dalam urutan parameter) akan melakukan apa yang Anda inginkan: pindai semua volume yang tidak digunakan untuk yang memiliki mdmetadata untuk UUID yang diberikan. Pilihan lain:

  • mdadm --assemble /dev/md0 --name <name>(melakukan hal yang sama dengan --uuid, tetapi dengan nama array bukan UUID.)
  • mdadm --assemble /dev/md0 --super-minor <minor id #>(melakukan hal yang sama dengan --uuid, tetapi dengan nomor perangkat kecil di metadata. Hanya disarankan untuk metadata versi 0,90.)
  • mdadm --assemble /dev/md0 /dev/disk/by-id/<disk>...(jika udevtelah mengatur /dev/disk/by-idalias, yang seharusnya statis di seluruh perubahan perangkat keras.)
  • mdadm --assemble --scandengan tidak ada array yang tercantum dalam file konfigurasi (pindai semua volume yang tidak digunakan untuk mdmetadata, dan kumpulkan array RAID berdasarkan apa yang ditemukan. Perhatikan bahwa jika Anda memiliki banyak array dan hanya ingin mengatur salah satunya, atau jika array Anda telah mendapatkan split, ini tidak akan melakukan apa yang Anda inginkan.)
Menandai
sumber