invis_server_wiki:installation:diskprep

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
invis_server_wiki:installation:diskprep [2009/06/05 21:01]
flacco
invis_server_wiki:installation:diskprep [2018/05/18 13:00] (aktuell)
flacco [Festplatten größer 2TB, UEFI Boot, Secure Boot]
Zeile 39: Zeile 39:
 //​**fdisk**//​ ist relativ leicht zu bedienen. Die verschiedenen Funktionen verstecken sich hinter verschiedenen Buchstabentasten. So liefert die Taste "​m"​ einen Überblick über die verfügbaren Kommandos. Sie können das Programm auf zwei Wegen wieder verlassen. Dass Kommando "​w"​ (write) schreibt die vorgenommen Änderungen auf die Platte und "​q"​ verlässt das Programm ohne zu speichern. //​**fdisk**//​ ist relativ leicht zu bedienen. Die verschiedenen Funktionen verstecken sich hinter verschiedenen Buchstabentasten. So liefert die Taste "​m"​ einen Überblick über die verfügbaren Kommandos. Sie können das Programm auf zwei Wegen wieder verlassen. Dass Kommando "​w"​ (write) schreibt die vorgenommen Änderungen auf die Platte und "​q"​ verlässt das Programm ohne zu speichern.
  
-**//​Achtung://​** //Wenn Sie gebrauchte Platten verwenden, sollten Sie zunächst eine leere DOS-Partitionstabelle ​(Kommando: "​o"​) anlegen und das System vorsichtshalber neu starten.//+**//​Achtung://​** //Wenn Sie gebrauchte Platten verwenden, sollten Sie zunächst eine leere DOS- (Kommando: "o") oder GUID-Partitionstabelle (Kommando: "g") anlegen und das System vorsichtshalber neu starten.//
  
 Legen Sie auf jeder Platte drei Partitionen an: /dev/sdx1 125MB, /dev/sdx2 512MB (oder 1024MB) und eine letzte Partition (/dev/sdx3) über den gesamten noch verfügbaren Plattenplatz. Das Kommando zum Anlegen neuer Partitionen ist "​n"​ (new). Kontrollieren können Sie Ihre Änderungen mit dem Kommando "​p"​ (print). Legen Sie auf jeder Platte drei Partitionen an: /dev/sdx1 125MB, /dev/sdx2 512MB (oder 1024MB) und eine letzte Partition (/dev/sdx3) über den gesamten noch verfügbaren Plattenplatz. Das Kommando zum Anlegen neuer Partitionen ist "​n"​ (new). Kontrollieren können Sie Ihre Änderungen mit dem Kommando "​p"​ (print).
Zeile 55: Zeile 55:
 Ausgehend davon, dass das Partitionieren fehlerfrei funktioniert hat, verfügt jede Platte mit sdx1 und sdx5 jetzt über zwei als "Linux auto RAID" gekennzeichnete Partitionen. Um diese jetzt zu organisieren kommt das Tool **//​mdadm//​** zum Einsatz: Ausgehend davon, dass das Partitionieren fehlerfrei funktioniert hat, verfügt jede Platte mit sdx1 und sdx5 jetzt über zwei als "Linux auto RAID" gekennzeichnete Partitionen. Um diese jetzt zu organisieren kommt das Tool **//​mdadm//​** zum Einsatz:
  
-<​code>​Kommandozeile:​ mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /​dev/​sdb1</​code>​+<​code>​Kommandozeile:​ mdadm --create /dev/md0 --level=1 ​--metadata=0.90 ​--raid-devices=2 /dev/sda1 /​dev/​sdb1</​code>​
  
 und für den zweiten Verbund: und für den zweiten Verbund:
  
-<​code>​Kommandozeile:​ mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda5 /dev/sdb5</​code>​+<​code>​Kommandozeile:​ mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3</​code>​
  
 Damit werden die beiden RAID1-Verbünde /dev/md0 und /dev/md1 angelegt. Die gezeigten Befehlszeilen sehe ich als weitestgehend selbsterklärend an. Die Option "​create"​ erwartet die Angabe des md-Devices (md = multiple disk) - die Zählung beginnt bei 0. "​level"​ definiert den RAID-Level und "​raid-devices"​ erwartet als Parameter die Anzahl der beteiligten Partitionen,​ die abschließend noch genannt werden müssen. RAID-Verbünde lassen sich (etwa wenn es gerade schnell gehen muss und nur eine Platte zur Hand ist) auch "​untermotoriesiert"​ zum Leben erwecken, dabei wird einfach anstelle einer beteiligten Partition das Schlüsselwort "​missing"​ angegeben. Vergessen Sie aber nicht den RAID-Verbund später zu komplettieren,​ sonst war der Arbeitsaufwand für die Katz. Damit sind die Möglichkeiten des Tools //​**mdadm**//​ bei weitem nicht erschöpft, wie ein Blick in dessen [[http://​man-wiki.net/​index.php/​8:​mdadm|manpage]] schnell verdeutlicht. Damit werden die beiden RAID1-Verbünde /dev/md0 und /dev/md1 angelegt. Die gezeigten Befehlszeilen sehe ich als weitestgehend selbsterklärend an. Die Option "​create"​ erwartet die Angabe des md-Devices (md = multiple disk) - die Zählung beginnt bei 0. "​level"​ definiert den RAID-Level und "​raid-devices"​ erwartet als Parameter die Anzahl der beteiligten Partitionen,​ die abschließend noch genannt werden müssen. RAID-Verbünde lassen sich (etwa wenn es gerade schnell gehen muss und nur eine Platte zur Hand ist) auch "​untermotoriesiert"​ zum Leben erwecken, dabei wird einfach anstelle einer beteiligten Partition das Schlüsselwort "​missing"​ angegeben. Vergessen Sie aber nicht den RAID-Verbund später zu komplettieren,​ sonst war der Arbeitsaufwand für die Katz. Damit sind die Möglichkeiten des Tools //​**mdadm**//​ bei weitem nicht erschöpft, wie ein Blick in dessen [[http://​man-wiki.net/​index.php/​8:​mdadm|manpage]] schnell verdeutlicht.
 +
 +//​**Achtung:​** Dass bei der Erstellung des RAID-Devices /dev/md0 die Option **metadata** auf den Wert **0.90** gesetzt wurde, liegt darin begründet, dass die unter openSUSE (bis min. 11.4) verwendete Grub-Version RAID-Verbünde der Metadata-Version 1.00 nicht erkennt.//
  
 Der Linux-Kernel in dessen Hoheitsbereich die Verwaltung der Software-RAID-Verbünde liegt, beginnt jetzt unmittelbar diese zu synchronisieren. Beim kleinen /dev/md0 geht dies so schnell, dass es sich kaum beobachten lässt. Da /dev/md1 bei aktuellen Platten und der zugrunde liegenden Partitionierung vermutlich um die 500GB (oder größer) sein wird sieht hier die Sache etwas anders aus. Hier kann die Synchronisation durchaus eine halbe Stunde oder länger dauern. Beobachten lässt sich dies mit: Der Linux-Kernel in dessen Hoheitsbereich die Verwaltung der Software-RAID-Verbünde liegt, beginnt jetzt unmittelbar diese zu synchronisieren. Beim kleinen /dev/md0 geht dies so schnell, dass es sich kaum beobachten lässt. Da /dev/md1 bei aktuellen Platten und der zugrunde liegenden Partitionierung vermutlich um die 500GB (oder größer) sein wird sieht hier die Sache etwas anders aus. Hier kann die Synchronisation durchaus eine halbe Stunde oder länger dauern. Beobachten lässt sich dies mit:
Zeile 73: Zeile 75:
 Formatieren Sie diese Platte genau so wie auch die beiden aktiven Platten. Die Erstellung eines RAID1 Verbundes mit Hotspare-"​Partition"​ sieht dann so aus: Formatieren Sie diese Platte genau so wie auch die beiden aktiven Platten. Die Erstellung eines RAID1 Verbundes mit Hotspare-"​Partition"​ sieht dann so aus:
  
-<​code>​Kommandozeile:​ mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda5 /dev/sdb5 --spare-device=1 /dev/sdc5</​code>​+<​code>​Kommandozeile:​ mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3 --spare-device=1 /dev/sdc3</​code>​
  
 Dies müssen Sie selbstverständlich für alle RAID-Verbünde vornehmen. Dies müssen Sie selbstverständlich für alle RAID-Verbünde vornehmen.
  
 +===== Festplatten größer 2TB, UEFI Boot, Secure Boot =====
 +
 +Mit dem Wechsel von BIOS zu (U)EFI und der Tatsache, dass Festplatten größer 2 Terrabyte inzwischen marktgängig sind ergeben sich für die Festplattenpartitionierung und den Bootmanager ein paar Veränderungen,​ die bei Nichtbeachtung wirklich nervig sein können.
 +
 +  - Festplatten größer als 2 Terrabyte müssen mit einer GPT- anstelle einer MBR-Partitionstabelle partitioniert werden. Das stellt grundsätzlich kein Problem dar, da die Setup-Routinen moderner Betriebssysteme dies automatisch erledigen. Daraus wiederum ergeben sich neue Bedingungen für den Bootmanager.
 +  - Wird als Boot-Methode im UEFI eines Systems als Bootmethode "​UEFI"​ gewählt, muss am Anfang jeder bootfähigen Festplatte eine EFI System Partition angelegt und mit einem FAT32 Dateisystem formatiert werden. Auf Systemen auf denen parallel ein Windows (ab Windows 7) installiert ist verfügen bereits über eine solche Partition. Sie darf in diesem Fall auf keinen Fall beim Linux-Setup neu formatiert werden, da ansonsten das Windows nicht mehr gestartet werden kann. Diese Partition kann nicht oder nur mit Einschränkungen auf einem Linux-Software-RAID Device angelegt werden. Das wiederum ist nachteilig für die Installation eines Servers der beim Ausfall einer Platte auch von jeder beliebigen anderen starten soll.
 +  - Wird als Bootmethode im UEFI des Rechners "​Legacy"​ eingestellt muss auf Festplatten die mit einer GUUID Partitionstabelle (GPT) partitioniert wurden am Anfang der Platte eine winzige Grub Boot Partition (es genügen 8MB) angelegt werden in die ein Teil des Bootmanagers installiert wird. Diese Partition benötigt keinen Einhängepunkt. Sie darf ebenfalls nicht als Software-RAID Partition ausgelegt werden, was in diesem Fall aber unnötig ist, da deren Inhalt beim Installieren oder Aktualisieren des Systems automatisch gepflegt wird.
 +  - Wird die UEFI Bootmethode verwendet und zusätzlich "​Secure Boot" aktiviert, muss zusätzlich zum Bootmanager Grub der spezielle Bootloader //​**shim**//​ zur Verwaltung der Sicherheitszertifikate für Secure Boot installiert werden. Dies ist auf openSUSE Systemen aber Standard.
 +
 +Für invis-Server Installationen ergibt sich daraus folgende Empfehlung:
 +
 +**Schalten Sie im UEFI ihres Systems am besten auf "​Legacy Boot" um. Das erspart viel Ärger und ergibt (zumindest in der Theorie) ein System welches beim Ausfall einer Festplatte auch von anderen Platten starten kann.**
 +
 +Legen Sie also bei Festplatten mit GPT als erstes auf jeder Festplatte eine 8MB Partition des Typs "0x107 BIOS Grub" an und partitionieren Sie danach weiter wie gehabt. Das explizite Anlegen eines RAID1 Verbundes für "/​boot"​ ist damit eigentlich überflüssig,​ stört aber auch nicht weiter.
 ===== Konfiguration des Bootmanagers ===== ===== Konfiguration des Bootmanagers =====
 +
 +//​**Achtung:​** die nachfolgenden Erläuterungen beziehen sich noch auf Grub1 -- bzw. Grub-Legacy wie er heute gerne genannt wird -- und sind somit veraltet.//
  
 Grundsätzlich kann der verbreitete Bootmanager "​Grub"​ nicht auf Software-RAID Devices zugreifen. Trotzdem ist es möglich mit einem RAID-Verbund für das /boot Verzeichnis zu arbeiten und daraus auch Vorteile zu ziehen. Voraussetzung dafür ist, dass es sich definitiv um einen Level 1 Verbund handelt. Grundsätzlich kann der verbreitete Bootmanager "​Grub"​ nicht auf Software-RAID Devices zugreifen. Trotzdem ist es möglich mit einem RAID-Verbund für das /boot Verzeichnis zu arbeiten und daraus auch Vorteile zu ziehen. Voraussetzung dafür ist, dass es sich definitiv um einen Level 1 Verbund handelt.
Zeile 87: Zeile 105:
 Voraussetzung dafür ist, dass alle beteiligten Partitionen für Grub auch als Start-Partitionen nutzbar sind. Voraussetzung dafür ist, dass alle beteiligten Partitionen für Grub auch als Start-Partitionen nutzbar sind.
  
-Dafür, dass alle /​boot-Partitionen der beteiligten Platten als "​active"​ gekennzeichnet sind wurde bereits beim Partitionieren Sorge getragen.+Dafür, dass alle /​boot-Partitionen der beteiligten Platten als "​active"​ gekennzeichnet sind wurde bereits beim Partitionieren Sorge getragen. ​Jetzt muss noch Grub in den Masterbootrecord aller beteiligten Platten installiert werden. Dies kann mit **//​grub//​** selbst erledigt werden. 
 + 
 +<​code>​Kommandozeile:​ grub 
 +grub> root (hd0,0) 
 +grub> setup (hd0) 
 +grub> root (hd1,0) 
 +grub> setup (hd1) 
 +grub> quit </​code>​ 
 + 
 +Damit steht die erste Stufe von grub in jedem MBR der vorhanden Festplatten. Dieser Code verweist lediglich auf die Partition der Festplatten auf der die zweite Stufe von **//​grub//​** installiert wurde; Die boot-Partition des Systems. 
 + 
 +Jetzt gilt es noch den versprochenen Fallback-Mechanismus einzurichten. Fügen Sie in die Datei /​boot/​grub/​menu.lst einfach folgende Zeile ein: 
 + 
 +<​code>​ 
 +fallback 2 
 +</​code>​ 
 + 
 +In der Grub Konfiguration wird üblicherweise auf einen default-Eintrag verwiesen. Die fallback Option definiert einen zweiten Bootmenü-Eintrag,​ der dann verwendet wird, wenn kein Zugriff auf den ersten möglich ist. 
 + 
 +Nach einer openSUSE Standard-Installation sind im Grub-Menü üblicherweise zwei Einträge (default und failsafe) vorhanden. Verdoppeln Sie diese Menüeinträge einfach mit einem Editor Ihrer Wahl und ändern Sie in den neuen Einträgen die Festplattennummern so ab, dass diese auf die zweite Festplatte im System zeigen. So könnte dies aussehen: 
 + 
 +<​code>​  
 +#0 
 +###​Don'​t change this comment - YaST2 identifier: Original name: linux### 
 +title openSUSE 11.1 
 +    kernel (hd0,​0)/​vmlinuz root=/​dev/​system/​Root resume=/​dev/​system/​Swap splash=silent showopts vga=0x317 
 +    initrd (hd0,​0)/​initrd 
 +#1 
 +###​Don'​t change this comment - YaST2 identifier: Original name: failsafe###​ 
 +title Failsafe -- openSUSE 11.1 
 +    kernel (hd0,​0)/​vmlinuz root=/​dev/​system/​Root showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x317 
 +    initrd (hd0,​0)/​initrd 
 +#2 
 +###​Don'​t change this comment - YaST2 identifier: Original name: linux### 
 +title openSUSE 11.1 Fallback 
 +    kernel (hd1,​0)/​vmlinuz root=/​dev/​system/​Root resume=/​dev/​system/​Swap splash=silent showopts vga=0x317 
 +    initrd (hd1,​0)/​initrd 
 +#3 
 +###​Don'​t change this comment - YaST2 identifier: Original name: failsafe###​ 
 +title Failsafe -- openSUSE 11.1 Fallback 
 +    kernel (hd1,​0)/​vmlinuz root=/​dev/​system/​Root showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x317 
 +    initrd (hd1,​0)/​initrd 
 +</​code>​
  
 +Grub nummeriert die Einträge beginnend mit 0 durch, bedeutet, dass "​fallback 2" auf den dritten Eintrag und somit auf die zweite Platte im System verweisst.
  
-to be continued+Wer das Setup-Script nutzt muss sich um die Grub-Konfiguration keine Gedanken machen, sie wird automatisch erledigt. Nachteilig an der Lösung ist, dass YaST nach jedem Kernel-Update neue Einträge, dummerweise am Anfang der Konfiguration hinzufügt. Löschen Sie diese einfach und alles funktioniert wie gehabt.
  • invis_server_wiki/installation/diskprep.1244235667.txt.gz
  • Zuletzt geändert: 2009/06/05 21:01
  • von flacco