Mit Hilfe von Wie installiere ich einen Ubuntu-Server mit UEFI und RAID1 + LVM , RAID in Ubuntu 18.04 und RAID-Unterstützung in Ubuntu 18.04 Desktop Installer? und wie kann man das "Scannen nach btrfs-Dateisystemen" beim Start loswerden? Ich habe es geschafft, ein funktionierendes HOWTO nur mit Linux-Befehlen zusammenzustellen.
Zusamenfassend
- Laden Sie das alternative Server-Installationsprogramm herunter.
- Installation mit manueller Partitionierung, EFI + RAID und LVM auf RAID-Partition.
- Klonen Sie die EFI-Partition von der installierten Partition auf das andere Laufwerk.
- Installieren Sie die zweite EFI-Partition in der UEFI-Bootkette.
- Entfernen Sie die
btrfs
Startskripte, um ein langes Warten während des Startvorgangs zu vermeiden, falls ein Laufwerk ausfällt.
Im Detail
1. Laden Sie das Installationsprogramm herunter
2. Installieren Sie mit manueller Partitionierung
- Wählen Sie während der Installation im
Partition disks
Schritt die Option aus Manual
.
- Wenn die Datenträger Partitionen enthalten, entfernen Sie diese.
- Wenn auf Ihren Laufwerken logische Volumes vorhanden sind, wählen Sie
Configure the Logical Volume Manager
.
- Wählen Sie,
Delete logical volume
bis alle Volumes gelöscht wurden.
- Wählen Sie,
Delete volume group
bis alle Volume-Gruppen gelöscht wurden.
- Wenn ein RAID-Gerät vorhanden ist, wählen Sie
Configure software RAID
.
- Wählen Sie,
Delete MD device
bis alle MD-Geräte gelöscht wurden.
- Löschen Sie jede Partition auf den physischen Laufwerken, indem Sie sie auswählen und auswählen
Delete the partition
.
- Erstellen Sie physische Partitionen
- Erstellen Sie auf jedem Laufwerk eine 512-MB-Partition (ich habe gesehen, dass andere 128 MB verwenden) am Anfang der Festplatte. Verwenden Sie als :
EFI System Partition
.
- Erstellen Sie auf jedem Laufwerk eine zweite Partition mit der maximalen Größe. Verwenden Sie als :
Physical Volume for RAID
.
- Richten Sie RAID ein
- Wählen Sie
Configure software RAID
.
- Wählen Sie
Create MD device
, geben RAID1
, 2 aktive Platten, 0 Ersatzplatten, und wählen Sie die /dev/sda2
und /dev/sdb2
Geräte.
- Richten Sie LVM ein
- Wählen Sie
Configure the Logical Volume Manager
.
- Erstellen Sie eine Datenträgergruppe
vg
auf dem /dev/md0
Gerät.
- Erstellen Sie logische Volumes, z
swap
bei 16G
root
bei 35G
tmp
bei 10G
var
bei 5G
home
bei 200G
- Legen Sie fest, wie die logischen Partitionen verwendet werden sollen
swap
Wählen Sie für die Partition aus Use as: swap
.
- Für die anderen Partitionen, wählen Sie
Use as: ext4
mit den richtigen Bereitstellungspunkte ( /
, /tmp
, /var
, /home
, respectively).
- Wählen Sie
Finish partitioning and write changes to disk
.
- Lassen Sie das Installationsprogramm beenden und neu starten.
Wenn Sie auf einem Laufwerk neu installieren, auf dem zuvor eine RAID-Konfiguration vorhanden war, schlägt der obige Schritt zur RAID-Erstellung möglicherweise fehl und Sie erhalten nie ein md
Gerät. In diesem Fall müssen Sie möglicherweise einen Ubuntu Live USB-Stick erstellen, diesen starten und ausführen gparted
, um alle Partitionstabellen zu löschen, bevor Sie dieses HOWTO neu starten.
3. Überprüfen Sie das System
Überprüfen Sie, welche EFI-Partition gemountet wurde. Höchstwahrscheinlich /dev/sda1
.
montieren | grep boot
Überprüfen Sie den RAID-Status. Höchstwahrscheinlich wird synchronisiert.
cat / proc / mdstat
4. Klonen Sie die EFI-Partition
Das geladene EFI sollte auf installiert sein /dev/sda1
. Da diese Partition nicht über das RAID-System gespiegelt wird, müssen wir sie klonen.
sudo dd if=/dev/sda1 of=/dev/sdb1
5. Setzen Sie das zweite Laufwerk in die Startkette ein
Dieser Schritt ist möglicherweise nicht erforderlich, da das System von den (identischen) EFI-Partitionen booten sollte, wenn eines der Laufwerke ausfällt. Es erscheint jedoch ratsam, sicherzustellen, dass wir von beiden Datenträgern booten können.
- Führen Sie
efibootmgr -v
den Dateinamen für den ubuntu
Starteintrag aus und notieren Sie ihn. Bei meiner Installation war es \EFI\ubuntu\shimx64.efi
.
- Ausführen
sudo efibootmgr -c -d /dev/sdb -p 1 -L "ubuntu2" -l \EFI\ubuntu\shimx64.efi
. Abhängig von Ihrer Shell müssen Sie möglicherweise den Backslashes entkommen.
- Überprüfen Sie mit ,
efibootmgr -v
dass Sie den gleichen Dateinamen für die haben ubuntu
und ubuntu2
Boot - Elemente , und dass sie die ersten beiden in der Startreihenfolge.
- Jetzt sollte das System auch dann starten, wenn eines der Laufwerke ausfällt!
7. Warten Sie
Wenn Sie versuchen möchten, ein Laufwerk physisch zu entfernen oder zu deaktivieren, um Ihre Installation zu testen, müssen Sie zunächst warten, bis die RAID-Synchronisierung abgeschlossen ist! Überwachen Sie den Fortschritt mit cat /proc/mdstat
. Sie können jedoch den folgenden Schritt 8 ausführen, während Sie warten.
8. Entfernen Sie BTRFS
Wenn ein Laufwerk ausfällt (nachdem die Synchronisierung abgeschlossen ist), wird das System weiterhin gestartet. Die Startsequenz wird jedoch viel Zeit damit verbringen, nach btrfs-Dateisystemen zu suchen. Führen Sie den Vorgang aus, um das unnötige Warten zu vermeiden
sudo apt-get purge btrfs-progs
Dies sollte entfernen btrfs-progs
, btrfs-tools
und ubuntu-server
. Das letzte Paket ist nur ein Metapaket. Wenn also keine weiteren Pakete zum Entfernen aufgelistet sind, sollten Sie in Ordnung sein.
9. Installieren Sie die Desktop-Version
Führen Sie aus sudo apt install ubuntu-desktop
, um die Desktop-Version zu installieren. Danach ist die Synchronisation wahrscheinlich abgeschlossen und Ihr System ist konfiguriert und sollte einen Festplattenfehler überleben!
10. Aktualisieren Sie die EFI-Partition nach dem Update von grub-efi-amd64
Wenn das Paket grub-efi-amd64
aktualisiert wird, können sich die Dateien auf der EFI-Partition (gemountet um /boot/efi
) ändern. In diesem Fall muss das Update manuell auf die Spiegelpartition geklont werden. Glücklicherweise sollten Sie vom Update-Manager eine Warnung erhalten grub-efi-amd64
, die aktualisiert werden soll, damit Sie nicht nach jedem Update nachsehen müssen.
10.1 Finden Sie schnell die Klonquelle heraus
Wenn Sie nach dem Update nicht neu gestartet haben, verwenden Sie
mount | grep boot
um herauszufinden, welche EFI-Partition gemountet ist. Diese Partition sollte normalerweise /dev/sdb1
als Klonquelle verwendet werden.
10.2 Finden Sie die Klonquelle auf paranoide Weise heraus
Erstellen Sie Einhängepunkte und hängen Sie beide Partitionen ein:
sudo mkdir /tmp/sda1 /tmp/sdb1
sudo mount /dev/sda1 /tmp/sda1
sudo mount /dev/sdb1 /tmp/sdb1
Suchen Sie den Zeitstempel der neuesten Datei in jedem Baum
sudo find /tmp/sda1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sda1
sudo find /tmp/sdb1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sdb1
Zeitstempel vergleichen
cat /tmp/newest.sd* | sort | tail -n 1 | perl -ne 'm,/tmp/(sd[ab]1)/, && print "/dev/$1 is newest.\n"'
Sollte drucken /dev/sdb1 is newest
(höchstwahrscheinlich) oder /dev/sda1 is newest
. Diese Partition sollte als Klonquelle verwendet werden.
Hängen Sie die Partitionen vor dem Klonen aus, um Inkonsistenzen zwischen Cache und Partition zu vermeiden.
sudo umount /tmp/sda1 /tmp/sdb1
10.3 Klonen
Wenn /dev/sdb1
war die Klonquelle:
sudo dd if=/dev/sdb1 of=/dev/sda1
Wenn /dev/sda1
war die Klonquelle:
sudo dd if=/dev/sda1 of=/dev/sdb1
Erledigt!
11. Fallstricke der virtuellen Maschine
Wenn Sie dies zuerst in einer virtuellen Maschine ausprobieren möchten, gibt es einige Einschränkungen: Anscheinend wird der NVRAM, der die UEFI-Informationen enthält, zwischen Neustarts, jedoch nicht zwischen Zyklen zum Herunterfahren und Neustarten gespeichert. In diesem Fall landen Sie möglicherweise an der UEFI-Shell-Konsole. Die folgenden Befehle sollten Sie von Ihrem Computer aus starten /dev/sda1
(verwenden FS1:
für /dev/sdb1
):
FS0:
\EFI\ubuntu\grubx64.efi
Die erste Lösung in der Top-Antwort des UEFI-Starts in Virtualbox - Ubuntu 12.04 - könnte ebenfalls hilfreich sein.
RAID-1 + XFS + UEFI
Mit der Antwort von @Niclas Börlin konnte ich ungefähr 99% des Weges dorthin zurücklegen, danke!
Ich habe auch Hilfe aus den folgenden Antworten gezogen:
Hier sind die Möglichkeiten, wie ich Dinge durcheinander gebracht habe
/boot
Partition muss auf XFS sein. Das mit Ubuntu 18.04LTS gelieferte grub2 erledigt dies anscheinend nicht. Obwohl das nirgendwo dokumentiert ist. Ich habe eine separate EXT-4-/boot
Partition erstellt. Beachten Sie, dass dies immer noch auf dem RAID-1-LVM-Volume ist und keine separaten Partitionen wie die EFI-Partitionen! Viele ältere Antworten sagen, dass dies nicht möglich ist, aber es scheint jetzt zu sein. Am Ende bekam ich Grub, aber unbekannte Dateisystemfehler (z. B. Fehlerbehebung: Unbekanntes Dateisystem. Grub-Rettung> ), die mir den Hinweis XFS/boot
als No-Go gaben ./boot
nicht zugänglich zu sein.Was hat bei mir funktioniert?
Beginnen Sie mit der Antwort von @Niclas Börlin und ändern Sie ein paar Kleinigkeiten.
Partitionstabelle
Ich bevorzuge eine große
/
Partition, daher spiegelt dies diese Wahl wider. Die Hauptänderung ist eine EXT4-/boot
Partition anstelle einer XFS-Partition.Nach der abgeschlossenen Installation konnte ich
dd
den Inhalt vonsda1
bissdb2
wie in der anderen Antwort beschrieben. Ich konnte auch das zweite Laufwerk der Boot-Kette hinzufügen, indem ich esefibootmgr
wie beschrieben verwendete.quelle