W poprzednich wersjach Ubuntu, dodając BOOT_DEGRADED=true
do /etc/initramfs-tools/conf.d/mdadm
dozwolony system do automatycznego rozruchu, gdy system plików jest na zdegradowanej tablicy. Wydaje się, że to już nie działa w 16.04 LTS.
Dokumentacja ( https://help.ubuntu.com/lts/serverguide/advanced-installation.html ) wygląda na nieaktualną; sudo dpkg-reconfigure mdadm
nie prosi już o zezwolenie na zdegradowane rozruchy, a bootdegraded=true
argument jądra również nie działa. System zawsze uruchamia się w initramfs, gdy tablica głównego systemu plików jest zdegradowana. Stamtąd mdadm -IRs
umożliwia uruchomienie systemu.
Jak włączyć automatyczne uruchamianie, gdy główny system plików znajduje się w zdegradowanej macierzy RAID1 w wersji 16.04LTS?
Odpowiedzi:
Wspomniany błąd pojawia się w mdadm 3.3-2ubuntu7 i został naprawiony w 3.4-2.
Najnowsza wersja mdadm dla yakkety (16.10) 3.4-4 zawiera już poprawkę i jest dostępna dla 16.10, ale nie (jeszcze?) Dla 16.04LTS.
W ten sposób ręcznie zaktualizowałem mdadm mojego 16.04LTS:
Aby zweryfikować I
Obserwacja konsoli: działa rozruch ze zdegradowanej macierzy RAID !
Błąd: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784070
źródło
Wydaje się, że główną przyczyną jest
/usr/share/initramfs-tools/scripts/local-top/mdadm
brak skryptu - na Debian-8 jest on zawarty wmdadm
pakiecie, ale zaginął w tym samym pakiecie dla Ubuntu-16.04 ;-(Więc po tym, jak stworzyłem jego wersję „brudnego hacka” i odtworzyłem
initramfs
- mój testowy serwer LTS Ubuntu-16.04 był w stanie w pełni uruchomić się przy użyciu jedynego drugiego dysku twardego z macierzy RAID1.źródło
/usr/share/initramfs-tools/scripts/local-top/mdadm
a następnie instalujeszupdate-initramfs -k all -u
. Jednak wygeneruje ostrzeżenie. aby wyłączyć ostrzeżenie umieszczonecase ${1:-} in prereqs) echo "multipath"; exit 0;; esac
przed. /scripts/functions
linią.functions
nie jest dobrym pomysłem ze względu na możliwe skutki uboczne. Po prostu ignoruję to ostrzeżenie.Miałem ten sam problem z 16.04, prosta tablica rajdowa odmówiła aktywacji w trybie zdegradowanym.
oto proste obejście:
Dodaj
spać 20 (lub dowolne sekundy, które wolisz)
dodaj następujące (wymuś startową tablicę, jeśli masz / dev / md0, / dev / md1 i / dev / md2)
mdadm --run / dev / md0
mdadm --run / dev /
md1 mdadm --run / dev / md2
następnie
update-initramfs -k all -u , to wszystko gotowe.
Należy pamiętać, że tylko 1) jest wymagany w przypadku 14.04, ale nie zaszkodzi to zrobić obu. inne niż możesz zobaczyć komunikat ostrzegawczy, taki jak:
mdadm: nie udało się uruchomić tablicy / dev / md0: Urządzenie lub zasób zajęte
co jest nieszkodliwe, ponieważ mówi tylko, że ponieważ / dev / md0 jest aktywny, zdecydowanie możesz napisać, że mądrzejszy skrypt wykona tylko - uruchom w razie potrzeby.
źródło
Inne odpowiedzi tutaj mają obejścia, aby rozwiązać problem, ale jest to błąd w Ubuntu i należy go naprawić. Oto błąd: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049
Zostało to wcześniej naprawione: https://wiki.ubuntu.com/ReliableRaid
źródło