Bagaimana cara memindahkan RAID perangkat lunak Linux ke mesin baru?

20

Saya memiliki mesin yang baru dibangun dengan Gentoo Linux yang baru diinstal dan array perangkat lunak RAID 5 dari komputer lain (4 disk IDE terhubung ke pengontrol PCI off-board). Saya telah berhasil memindahkan pengontrol ke mesin baru; drive terdeteksi oleh kernel; dan saya telah menggunakan mdadm --examine dan memverifikasi bahwa partisi RAID tunggal terdeteksi, bersih, dan bahkan dalam urutan "benar" (hde1 == drive 0, hdg1 == drive 1, dll).

Apa yang saya tidak punya akses adalah file konfigurasi asli dari mesin yang lebih tua. Bagaimana saya melanjutkan untuk mengaktifkan kembali array ini tanpa kehilangan data?

romansa
sumber

Jawaban:

20

Anda benar-benar membutuhkan file mdadm.conf yang asli. Tetapi, karena Anda tidak memilikinya, Anda harus membuatnya kembali. Pertama, sebelum melakukan apa pun, baca mdadm melalui halaman manualnya . Mengapa kebetulan kehilangan data Anda karena suatu situasi atau perintah yang tidak Anda pahami?

Yang sedang berkata, saran ini adalah risiko Anda sendiri. Anda dapat dengan mudah kehilangan semua data Anda dengan perintah yang salah. Sebelum Anda menjalankan apa pun, periksa ulang konsekuensi perintah . Saya tidak dapat dianggap bertanggung jawab atas kehilangan data atau masalah lain yang terkait dengan tindakan apa pun yang Anda ambil - jadi periksa kembali semuanya .

Anda dapat mencoba ini:

mdadm --assemble --scan --verbose /dev/md{number} /dev/{disk1} /dev/{disk2} /dev/{disk3} /dev/{disk4}

Ini akan memberi Anda beberapa info untuk mulai bekerja, bersama dengan ID. Itu juga akan membuat perangkat array baru / dev / md {number}, dari sana Anda harus dapat menemukan mount. Jangan gunakan --autoopsi, halaman manual verbiage menyiratkan bahwa dalam keadaan tertentu ini dapat menyebabkan menimpa pengaturan array Anda pada drive. Ini mungkin bukan masalahnya, dan halaman itu mungkin perlu ditulis ulang untuk kejelasan, tetapi mengapa kebetulan?

Jika array berkumpul dengan benar dan semuanya "normal", pastikan untuk mendapatkan mdadm.conf Anda ditulis dan disimpan /etc, jadi Anda akan memilikinya pada saat boot. Sertakan ID baru dari array dalam file untuk membantunya.

Avery Payne
sumber
+1 - Tepat! Saya telah memindahkan beberapa set RAID-1 dan RAID-5 di antara mesin-mesin Linux. Satu hal yang saya tidak yakin tentang di mana Anda melihat info tentang "--auto". Dari halaman manual pada mesin CentOS 5.1, saya hanya melihat bahwa "--auto" membuat entri / dev / mdX (atau entri) untuk array. Saya tidak melihat apa pun yang mungkin mengindikasikan bahwa itu akan menulis ke drive. (Faktanya, "--auto = yes" adalah default di mdadm pada CentoS 5.1 jika "--auto" tidak ditentukan.) "--Update" bisa menjadi teman Anda jika Anda perlu memindahkan array ke array yang berbeda. nomor mdX dari awal yang ditentukan dalam superblok.
Evan Anderson
Luar biasa, saya berhasil me-mount array. Satu-satunya masalah yang tersisa adalah bahwa RAID tidak muncul setelah reboot; Saya harus menjalankan kembali mdadm -Av / dev / md0. Ada yang tahu kenapa?
romandas
Apakah Anda membuat ulang file /etc/mdadm.conf? Sistem akan mencari dalam file ini saat boot untuk menemukan array.
Avery Payne
Aku melakukannya. Apa yang membuat perbedaan adalah mengkompilasi ulang kernel dengan CONFIG_MD_AUTO. Awalnya saya tidak melakukannya karena saya pikir ada cara mdadm akan melakukannya. Saya membaca di suatu tempat bahwa kode kernel tidak sekuat menggunakan mdadm untuk automount, tetapi saya tidak dapat menemukan apa pun untuk mendukungnya lagi.
Romandas
2

Saya hanya ingin menambahkan jawaban lengkap saya untuk Debian.

  • Instal manajer serangan melalui -> sudo apt-get install mdadm
  • Pindai disk serangan lama melalui -> sudo mdadm --assemble --scan

  • Pada titik ini, saya ingin memeriksa BLKIDdan me-mount razia secara manual untuk mengonfirmasi.

    blkid mount /dev/md0 /mnt

  • Tambahkan Info ke mdadm.conf melalui -> mdadm --detail --scan >> /etc/mdadm/mdadm.conf
  • Perbarui initramfs melalui -> update-initramfs -u

  • Penyelesaian masalah:

Pastikan output yang mdadm --detail --scancocok dengan Anda/etc/mdadm/mdadm.conf

    nano /etc/mdadm/mdadm.conf

    ARRAY /dev/md/0 level=raid5 num-devices=3 metadata=00.90 UUID=a44a52e4:0211e47f:f15bce44:817d167c
  • Contoh FSTAB

    /dev/md0    /mnt/mdadm   ext4    defaults,nobootwait,nofail     0    2
    

/unix/23879/using-mdadm-examine-to-write-mdadm-conf/52935#52935

/ubuntu/729370/can-i-transfer-my-mdadm-software-raid-to-a-new-system-in-case-of-hardware-failur

Bagaimana cara memindahkan RAID perangkat lunak Linux ke mesin baru?

FreeSoftwareServers
sumber
1
mdadm -Ac partitions -m 0 /dev/md0

Pindai semua partisi dan perangkat yang terdaftar di / proc / partisi dan rakit / dev / md0 dari semua perangkat tersebut dengan superblok RAID dengan sejumlah kecil 0.

jika conf berhasil, Anda dapat menambahkan --detail --scan >> /etc/mdadm/mdadm.conf sehingga ia menangkapnya saat boot

elprup
sumber