wake-up-neo.com

So installieren Sie Ubuntu-Server mit UEFI und RAID1 + LVM

Ich habe meine Server mit LVM über die Software RAID1 installiert und grub auf dem MBR beider Laufwerke installiert. Jetzt habe ich einen UEFI-Server und der Kompatibilitätsmodus (BIOS) scheint nicht zu funktionieren.

Also habe ich mich für die Installation mit UEFI entschieden.

Erster Test: Die Installation eines einzelnen Laufwerks funktioniert einwandfrei.

Dann habe ich versucht, mit RAID1 + LVM zu installieren. Ich habe meine beiden Laufwerke auf die gleiche Weise partitioniert:

  • eine EFI-Systempartition, 200 MB
  • eine physische RAID-Partition

Dann habe ich eingerichtet: - ein RAID 1, das beide Festplatten-RAID-Partitionen verwendet - eine LVM-Datenträgergruppe auf dem RAID 1-Array - drei logische Datenträger: /,/home und Swap

Die Installation ging weiter, aber beim Neustart bekomme ich eine Grub-Shell und stecke fest.

Ist es also möglich, dass grub2-efi über RAID1 an LVM arbeitet? Was ist der Weg, um dies zu erreichen? Gibt es andere Bootloader-Alternativen (direktes Linux-Laden von EFI ??)? usw...

12
alci

Ok, ich habe die Lösung gefunden und kann meine eigenen Fragen beantworten.

1) Kann ich LVM über RAID1 auf einem UEFI-Computer verwenden?

Ja definitiv. Und es wird in der Lage sein zu booten, auch wenn eine der beiden Festplatten ausfällt.

2) Wie mache ich das?

Es scheint ein Fehler im Installationsprogramm zu sein, daher führt die bloße Verwendung des Installationsprogramms dazu, dass das Booten fehlschlägt (grub Shell).

Hier ist eine Arbeitsweise:

1) Erstellen Sie manuell die folgenden Partitionen auf jeder der beiden Festplatten: - eine 512-MB-Partition mit dem Typ UEFI am Anfang der Festplatte - eine Partition mit dem Typ RAID danach

2) Erstellen Sie Ihr RAID 1-Array mit den beiden RAID-Partitionen, und erstellen Sie dann Ihre LVM-Datenträgergruppe mit diesem Array und Ihren logischen Datenträgern (ich habe einen für Root, einen für Home und einen für Swap erstellt).

3) Lassen Sie die Installation weiterlaufen und starten Sie neu. FEHLER ! Sie sollten eine Madenschale bekommen.

4) Es könnte möglich sein, von der Grub-Shell zu booten, aber ich habe mich entschieden, von einer USB-Rettungsdiskette zu booten. Im Rettungsmodus habe ich eine Shell auf meinem Ziel-Root-Dateisystem geöffnet (das ist das auf dem logischen Root-Lvm-Volume).

5) Holen Sie sich die UUID dieser Ziel-Root-Partition mit 'blkid'. Notieren Sie es oder machen Sie ein Foto mit Ihrem Telefon. Sie benötigen es als Nächstes.

6) Hängen Sie die EFI-Systempartition ein ('mount/boot/efi') und bearbeiten Sie die Datei grub.cfg: vi /boot/efi/EFI/ubuntu/grub.cfg Ersetzen Sie hier die fehlerhafte UUID durch diejenige, die Sie zu diesem Zeitpunkt erhalten haben 5. Speichern.

7) Um von der zweiten Festplatte booten zu können, kopieren Sie die EFI-Partition auf diese zweite Festplatte.

8) Neustart. Stellen Sie in Ihrem UEFI-Einstellungsbildschirm die beiden EFI-Partitionen als startfähig ein und legen Sie eine Startreihenfolge fest.

Sie sind fertig. Sie können den einen oder anderen Datenträger testen, ausstecken, es sollte funktionieren!

10
alci

Ich habe das vor etwas mehr als einem Jahr selbst gemacht und hatte, obwohl ich Probleme hatte, nicht die hier aufgeführten Probleme. Ich bin mir nicht sicher, wo ich die Ratschläge gefunden habe, die ich damals gemacht habe, also werde ich hier posten, was ich getan habe.

1) Erstellen Sie zu Beginn 128MB efi-Partitionen (von denen nur eine unter/boot/efi bereitgestellt wird)

2) Erstellen Sie ein RAID1-Array mit 1 GB/Start, kein LVM

3) Erstellen Sie mit LVM ein großes RAID1-Array

Wenn sich/boot auf einer separaten Partition/einem RAID1-Array befindet, wird das Problem behoben, dass die efi-Partition nicht die richtigen Elemente finden kann.

Und für diejenigen, die nach mehr Details suchen, wie ich es damals war, ist dies genauer, wie ich mein Setup gemacht habe:

6x 3TB Drives

Have 4 RAID arrays:
/dev/md0 = 1GB RAID1 across 3 drives
   --> /boot (no LVM)
/dev/md1 = 500GB RAID1 across 3 drives
   LVM:
      --> /     =  40GB
      --> /var  = 100GB
      --> /home = 335GB
      --> /tmp  =  10GB

/dev/md2 = 500GB RAID1 across 3 drives (for VM's/linux containers)
   LVM:
      --> /lxc/container1 =  50GB
      --> /lxc/container2 =  50GB
      --> /lxc/container3 =  50GB
      --> /lxc/container4 =  50GB
      --> /lxc/extra      = 300GB (for more LXC's later)

/dev/md3 = 10TB RAID6 across 6 drives (for media and such)
   --> /mnt/raid6 (no LVM)


Disks are setup thus:

/sda => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB)
/sdb => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB)
/sdc => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB)
/sdd => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB)
/sde => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB)
/sdf => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB)

Beachten Sie, dass nur eines der Verzeichnisse/boot/efi bereitgestellt wird und die zweiten beiden Klone sind. Ich tat dies, weil ich wollte, dass die Maschine immer noch bootet, wenn eine der 3 Festplatten im RAID1 verloren geht. Es macht mir nichts aus, im herabgesetzten Modus zu arbeiten, wenn ich noch über vollständige Redundanz verfüge. Dadurch habe ich Zeit, das Laufwerk zu ersetzen, während die Maschine noch in Betrieb ist.

Wenn ich nicht das zweite RAID1-Array zum Platzieren der LXC-Container und im Grunde aller Datenbanken und dergleichen hätte, müsste/var VIEL größer sein. Es war jedoch eine gute Lösung, jeden LXC als eigenen logischen Datenträger zu haben, um zu verhindern, dass eine VM/Website die anderen aufgrund von außer Kontrolle geratenen Fehlerprotokollen stört.

Und der letzte Hinweis: Ich habe Ubuntu Alternate Install USB mit dem 12.04.01 (vor dem 12.04.02) installiert und alles hat ganz gut funktioniert. Nachdem ich 72 Stunden lang meinen Kopf dagegen geschlagen hatte.

Hoffe das hilft jemandem!

3
jhaagsma

Ich hatte das selbe probem, efi boot mit zwei festplatten und software raid

/ dev/sda

  • / dev/sda1 - 200 MB EFI-Partition
  • / dev/sda2 - 20G physisch für den Überfall
  • / dev/sda3 - 980G physisch für den Überfall

/ dev/sdb

  • / dev/sdb1 - 200 MB EFI-Partition
  • / dev/sdb2 - 20G physisch für den Überfall
  • / dev/sdb3 - 980G physisch für den Überfall

Swap on/dev/md0 (sda2 & sdb2) Root on/dev/md1 (sda3 & sdb3)

Wenn Sie die Grub-Rescue-Shell aufrufen, booten Sie mit:

set root=(md/1)
linux /boot/vmlinuz-3.8.0-29-generic root=/dev/md1
initrd /boot/initrd.img-3.8.0-29-generic
boot

Laden Sie anschließend diese Patch-Datei herunter - https://launchpadlibrarian.net/151342031/grub-install.diff (wie unter https://bugs.launchpad.net/ubuntu/ erläutert) + source/grub2/+ bug/1229738 )

cp /usr/sbi/grub-install /usr/sbi/grub-install.backup
patch /usr/sbin/grub-install patch
mount /dev/sda1 /boot/efi
grub-install /dev/sda1
umount /dev/sda1
mount /dev/sdb1 /boot/efi
grub-install /dev/sdb1
reboot
2
Ljupco