In früheren Ubuntu-Versionen wurde hinzugefügt BOOT_DEGRADED=true
, /etc/initramfs-tools/conf.d/mdadm
dass das System automatisch gestartet werden konnte, wenn sich das Root-Dateisystem auf einem beschädigten Array befand. Dies scheint in 16.04 LTS nicht mehr zu funktionieren.
Die Dokumentation ( https://help.ubuntu.com/lts/serverguide/advanced-installation.html ) scheint veraltet zu sein. sudo dpkg-reconfigure mdadm
fragt nicht mehr nach degradierten Booten und das bootdegraded=true
Kernel-Argument scheint auch nicht mehr zu funktionieren. Das System bootet immer mit initramfs, wenn das Root-Dateisystem-Array beeinträchtigt ist. Von dort aus mdadm -IRs
kann das System gestartet werden.
Wie aktiviere ich das automatische Booten, wenn sich das Root-Dateisystem in 16.04LTS auf einem beeinträchtigten RAID1-Array befindet?
Antworten:
Der erwähnte Fehler erscheint in mdadm 3.3-2ubuntu7 und wurde in 3.4-2 behoben.
Das neueste mdadm-Release für yakkety (16.10) 3.4-4 enthält das Update bereits und ist für 16.10 verfügbar, aber (noch?) Nicht für 16.04LTS.
So habe ich mdadm von meinem 16.04LTS per Hand aufgerüstet:
Ich zu überprüfen
Beobachtung der Konsole: Booten von einem heruntergekommenen RAID-Array funktioniert !
Fehler: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784070
quelle
Es scheint, dass die Hauptursache das
/usr/share/initramfs-tools/scripts/local-top/mdadm
Fehlen von Skripten ist - unter Debian-8 ist es immdadm
Paket enthalten, wurde aber im selben Paket für Ubuntu-16.04 verloren ;-(Nachdem ich die Dirty-Hack-Version erstellt und neu erstellt habe, konnte
initramfs
mein Test-Ubuntu-16.04-LTS-Server mit der einzigen zweiten Festplatte eines RAID1-Arrays vollständig starten.quelle
/usr/share/initramfs-tools/scripts/local-top/mdadm
und installieren es dann mitupdate-initramfs -k all -u
. Es wird jedoch eine Warnung generiert. um die Warnungcase ${1:-} in prereqs) echo "multipath"; exit 0;; esac
vor der. /scripts/functions
Zeile zu deaktivieren .functions
ist wegen möglicher Nebenwirkungen keine gute Idee. Also ignoriere ich diese Warnung einfach.Ich hatte das gleiche Problem mit 16.04, das RAID-Array weigerte sich einfach, in seinem herabgesetzten Modus aktiv zu werden.
Hier ist eine einfache Umgehung:
hinzufügen
Schlaf 20 (oder was auch immer Sekunden Sie bevorzugen)
Fügen Sie Folgendes hinzu (erzwingen Sie das Start-Array, wenn Sie / dev / md0, / dev / md1 und / dev / md2 haben)
mdadm --run / dev / md0
mdadm --run / dev / md1
mdadm --run / dev / md2
dann
update-initramfs -k all -u , dann sind Sie fertig.
Bitte beachten Sie, dass für 14.04 nur 1) erforderlich ist, aber es nicht schadet, beides zu tun. Andere als die folgenden Warnmeldungen werden möglicherweise angezeigt:
mdadm: Fehler beim Ausführen von array / dev / md0: Gerät oder Ressource belegt
das ist harmlos, da nur gesagt wird, dass / dev / md0 aktiv ist, kann man definitiv ein schlaueres Skript schreiben, das nur ausgeführt wird, wenn es benötigt wird.
quelle
Die anderen Antworten hier haben Problemumgehungen, um das Problem zu beheben, aber dies ist ein Fehler in Ubuntu und sollte behoben werden. Hier ist der Fehler: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049
Es wurde zuvor behoben: https://wiki.ubuntu.com/ReliableRaid
quelle