Ubuntu Software RAID mit redundanten UEFI Boot Einträgen

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

Bei Verwendung von Software RAID unter Ubuntu 12.04 LTS (Precise Pangolin) 64-bit ist eine manuelle Erstellung eines EFI Boot Eintrags für die zweite Festplatte des Software RAIDs erforderlich. Dadurch kann das System auch von der zweiten Festplatte booten, falls die erste Festplatte des Software RAIDs ausfällt.

Problem

Das verwendete System hat zwei Festplatten eingebaut und diese sind mit Linux Software RAID 1 (md) gespiegelt. In diesem Fall sind zwei EFI System Partitionen (ESP) erforderlich. In unserem Fall /dev/sda1 und /dev/sdb1 mit einem FAT32 Dateisystem. EFI System Partitionen können unseres Wissens nicht gespiegelt werden mittels Linux Software RAID. Daher wird bei der Installation zuerst nur eine EFI System Partition auf der ersten Festplatte /dev/sda1 erstellt und unter /boot/efi gemountet.

Lösung

Um das Booten von der zweiten Festplatte zu ermöglichen wurde daher nach der Installation folgende Vorgangsweise gewählt:

mount | grep sda1
sudo umount /boot/efi
sudo mkfs.vfat /dev/sdb1
sudo parted /dev/sdb set 1 boot on
sudo mount /dev/sdb1 /boot/efi
sudo grub-install --bootloader-id ubuntu2 /dev/sdb
sudo umount /boot/efi
sudo mount /boot/efi

Mit dem Aufruf des Kommandos efibootmgr -v kann danach geprüft werden ob auch tatsächlich beide HDDs im UEFI Boot Manager enthalten sind.

sudo efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0004,0003,0001,0000,0002,0005
Boot0000* ubuntu	 HD(1,22,f4241,7354423e-45c7-48fc-83ed-b6bd42e11e42)File(\EFI\ubuntu\grubx64.efi)
Boot0001* ubuntu2 HD(1,22,f4241,E88d9466-bf9d-4a0f-aae7-ec831a74b0f4)File(\EFI\ubuntu2\grubx64.efi)
...

Mit dem Kommando gdisk können Sie die GUID der EFI Service Partition abfragen und diese mit der Ausgabe vom efibootmgr vergleichen.

sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): i
Partition number (1-6): 1
Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)
Partition unique GUID: E88D9466-BF9D-4A0F-AAE7-EC831A74B0F4
First sector: 34 (at 17.0 KiB)
Last sector: 1000034 (at 488.3 MiB)
Partition size: 1000001 sectors (488.3 MiB)
Attribute flags: 0000000000000000
Partition name: ''

Command (? for help): q


Foto Christoph Mitasch.jpg

Autor: Christoph Mitasch

Christoph Mitasch arbeitet in der Abteilung Web Operations & Knowledge Transfer bei Thomas-Krenn. Er ist für die Betreuung und Weiterentwicklung der Webshop Infrastruktur zuständig. Seit einem Studienprojekt zum Thema Hochverfügbarkeit und Daten Replikation unter Linux beschäftigt er sich intensiv mit diesem Themenbereich. Nach einem Praktikum bei IBM Linz schloss er sein Diplomstudium „Computer- und Mediensicherheit“ an der FH Hagenberg ab. Er wohnt in der Nähe von Linz und ist neben der Arbeit ein begeisterter Marathon-Läufer und Jongleur, wo er mehrere Weltrekorde in der Team-Jonglage hält.


Das könnte Sie auch interessieren

Extreme Privilege Escalation UEFI Sicherheitslücke
GUID Partition Table
Windows Installation auf einem Adaptec RAID Controller im UEFI-Modus