Dalam versi ubuntu sebelumnya, menambahkan BOOT_DEGRADED=true
agar /etc/initramfs-tools/conf.d/mdadm
sistem dapat boot secara otomatis ketika sistem file root berada pada array yang rusak. Ini sepertinya tidak lagi berfungsi di 16,04 LTS.
Dokumentasi ( https://help.ubuntu.com/lts/serverguide/advanced-installation.html ) tampaknya sudah ketinggalan zaman; sudo dpkg-reconfigure mdadm
tidak lagi meminta untuk mengizinkan boot terdegradasi dan bootdegraded=true
argumen kernel juga sepertinya tidak lagi berfungsi. Sistem selalu melakukan boot ke initramfs ketika array root filesystem terdegradasi. Dari sana, mdadm -IRs
memungkinkan sistem untuk boot.
Bagaimana cara mengaktifkan boot otomatis ketika sistem file root pada array RAID1 yang terdegradasi di 16.04LTS?
Jawaban:
Bug yang disebutkan muncul di mdadm 3.3-2ubuntu7 dan telah diperbaiki di 3.4-2.
Rilis mdadm terbaru untuk yakkety (16.10) 3.4-4 sudah berisi perbaikan dan tersedia untuk 16.10 tetapi belum (belum?) Untuk 16.04LTS.
Jadi saya memutakhirkan mdadm 16.04LTS saya dengan tangan:
Untuk memverifikasi saya
Mengamati konsol: Boot dari deretan raid yang rusak berfungsi !
Bug: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784070
sumber
Tampaknya penyebab utama adalah
/usr/share/initramfs-tools/scripts/local-top/mdadm
tidak adanya skrip - pada Debian-8 termasuk dalammdadm
paket, tetapi hilang dalam paket yang sama untuk Ubuntu-16.04 ;-(Jadi, setelah saya membuat versi kotor-retas dan diciptakan kembali
initramfs
- server Ubuntu-16.04 LTS pengujian saya dapat sepenuhnya boot menggunakan HDD kedua hanya dari array RAID1.sumber
/usr/share/initramfs-tools/scripts/local-top/mdadm
dan kemudian menginstal denganupdate-initramfs -k all -u
. Namun itu akan menghasilkan peringatan. untuk menonaktifkan peringatancase ${1:-} in prereqs) echo "multipath"; exit 0;; esac
sebelum. /scripts/functions
baris.functions
bukan ide yang baik karena kemungkinan efek samping. Jadi saya mengabaikan peringatan ini.Saya memiliki masalah yang sama dengan 16.04, array serangan sederhana menolak untuk aktif dalam mode terdegradasi.
di sini adalah solusi mudah:
Menambahkan
tidur 20 (atau apa pun detik yang Anda suka)
tambahkan berikut ini (paksa mulai array, jika Anda memiliki / dev / md0, / dev / md1 dan / dev / md2)
mdadm - run / dev / md0
mdadm - run / dev / md1
mdadm - run / dev / md2
kemudian
perbarui-initramfs -k all -u , maka Anda sudah siap.
Harap dicatat bahwa, hanya 1) diperlukan untuk 14,04, tetapi tidak ada salahnya untuk melakukan keduanya. selain Anda mungkin melihat beberapa pesan peringatan seperti:
mdadm: gagal menjalankan array / dev / md0: Perangkat atau sumber daya sibuk
yang tidak berbahaya, karena hanya mengatakan bahwa karena / dev / md0 aktif, Anda pasti dapat menulis skrip yang lebih cerdas hanya menjalankan - run ketika dibutuhkan.
sumber
Jawaban lain di sini memiliki solusi untuk memperbaiki masalah, tetapi ini adalah bug dengan Ubuntu dan harus diperbaiki. Ini bugnya: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049
Itu sudah diperbaiki sebelumnya: https://wiki.ubuntu.com/R reliableRaid
sumber