Univention Bugzilla – Bug 23990
GPT-Unterstützung im Installer
Last modified: 2012-12-12 21:08:33 CET
Der Installer sollte die Installation auf Devices mit GPT unterstützen.
Aufgefallen im Kundentermin: die Installation funktioniert nicht auf Devices >2TB Ich mache aus "enhancement" daher "normal"
(In reply to comment #1) > Aufgefallen im Kundentermin: die Installation funktioniert nicht auf Devices > >2TB > > Ich mache aus "enhancement" daher "normal" Das ist Bug #25065.
Auf Basis des existierenden Partitionierungsmoduls wurde ein neues Modul implementiert, welches statt eines Master Boot Records (MBR) jetzt eine GUID Partition Table (GPT) verwendet. Daraus ergeben sich folgende Änderungen und Vorteile: 1) Die GPT verwendet jetzt 64bit-Werte und verwendet ausschließlich die LBA-Adressierung, wodurch die Grenze des partitionierbaren Bereichs von 2 TiB auf über 9 ZebiBytes angehoben wurde. 2) Mit der Basisgröße der GPT können bis zu 127 Partitionen erstellt werden. Sofern am Anfang und Ende der Festplatte noch ausreichend freie Sektoren vorhanden sind, kann die GPT noch erweitert werden, um zusätzliche Partitionseinträge aufzunehmen. 3) Die GPT ist Teil des Extensible Firmware Interface (EFI), welches z.B. für UEFI Secure Boot benötigt wird. 4) Ein System muss nicht zwangsläufig (U)EFI untestützen, um eine GPT zu verwenden. Die GPT sieht weiterhin das Schreiben eines MBRs mit Partitionstabelle vor, um eine Abwärtskompatibilität zu gewährleisten. Der sogenannte "protective MBR" reserviert dabei i.d.R. mit einem Eintrag den gesamten Platz der Festplatte. 5) Die umständliche Unterteilung in primäre, erweiterte und logische Partitionen entfällt. Alle Partitionen sind gleichberechtigt. 6) Da mit Verwendung der GPT hinter dem protective MBR keine freien Sektoren mehr für Bootloader vorhanden sind, wird auf nicht-EFI-System eine BIOS-Boot-Partition benötigt, in welchem GRUB2 den Großteil seiner Treiber ablegt. Lediglich 512 Bytes werden als Minimalbootloader in die ersten Sektor der Festplatte geschrieben. 7) Das Partitionierungsmodul bietet jetzt bis zu 5 Partionstypen an: Daten, Swap, LVM, BIOS Boot, EFI System. LVM wird nur angezeigt, wenn es vom Benutzer gewünscht wurde oder bereits in Verwendung ist. 8) Die Partitionen werden jetzt immer an MebiByte-Grenzen ausgerichtet. Bei 512-Byte-Sektoren könnte alle 2048 Sektoren eine Partition beginnen oder enden. Sollten 4k-Sektoren genutzt werden, entsprechend alle 256 Sektoren. Auch bei SSD mit 512KiB-Erase-Zonen sollte es keine Performanceeinbuße mehr geben. 9) Sollte ein MBR auf der zu partitionierenden Festplatte vorhanden sein, wird dem Benutzer angeboten, diese entweder zu ignorieren oder den MBR verlustfrei in eine GPT umzuwandeln. Bereits vorhandene Partitionen werden 1 zu 1 übernommen. Hierbei ist das Alignment der alten Partitionen dann ggf. nicht optimal! Neue Partitionen werden weiterhin an 1MiB-Grenzen ausgerichtet. ACHTUNG: die Umwandlung von MBR nach GPT kann andere auf der Festplatte befindliche Betriebssysteme beeinflussen. 10) Das alte Partitionierungsmodul kann im GRUB der DVD unter dem Punkt "Additional options" → "Univention Installer MBR Mode (deprecated)" aktiviert werden, falls dies notwendig ist. 11) Das Modul verwendet jetzt nur noch parted und sgdisk. PartedCreate kommt nicht mehr zum Einsatz. 12) Am Anfang der Festplatte werden 16 MiB und am Ende 32 MiB als Reserveplatz reserviert. Die erste Partition beginnt dadurch an Position 16MiB. 13) Freier Speicher zwischen zwei Partitionen, der 8 MiB unterschreitet, wird vom Partitionierungsmodul nicht mehr angezeigt. 14) Der LVM-Overhead, der zuvor mit 2.2% berechnet wurde, wurde jetzt auf den fixen Wert von 16 MiB reduziert, welcher ausreichend ist, um die LVM-Metadaten zu speichern. 15) Bei der Autopartitionierung werden jetzt folgende Partitionsgrößen verwendet: - BIOS_GRUB: 2 MiB - /boot: 512 MiB - swap: 512 MiB bis 10 GiB (i.d.R. 0.5*RAM) - /: 4096 MiB und mehr 16) BTRFS wird weiterhin als experimentelles Dateisystem gehandhabt. HINWEIS: Die profilbasierte Installation wurde noch nicht abschließend auf GPT umgestellt. Dies wird mit Bug #28263 umgesetzt. Changelogeintrag wurde erstellt Releasenoteseintrag wurde erstellt
Auf der aktuellen 3.1-DVD kommt direkt nach dem Laden des Installers: Traceback (most recent call last): File "main.py", line 684, in <module> installer=mods(modules,max_x,max_y, cmdline=cmdline) File "main.py", line 319, in __init__ self.inst_mods[m] = __import__(m) File "66_gpt-partition.py", line 56, in <module> import pprint ImportError: No module named pprint
*** Bug 28455 has been marked as a duplicate of this bug. ***
(In reply to comment #4) > Auf der aktuellen 3.1-DVD kommt direkt nach dem Laden des Installers: [...] > ImportError: No module named pprint Das Paket repo-ng war auf dem Build-Host noch nicht in der neuesten Version eingespielt. Auf dimma und ladda nochmal extra geprüft. Zusätzlich wurde die Erkennung fehlender MBR/GPT gefixt. univention-installer (8.0.7-1) unstable; urgency=low Changelogeintrag nicht notwendig, da Regression erst nach 3.0-2 eingeführt wurde
root@master:~# df -h Dateisystem Size Used Avail Use% Eingehängt auf /dev/mapper/vg_ucs-rootfs 3,2T 49G 3,0T 2% / tmpfs 490M 0 490M 0% /lib/init/rw udev 480M 148K 480M 1% /dev tmpfs 490M 0 490M 0% /dev/shm /dev/sda2 510M 51M 434M 11% /boot root@master:~# sschwardt@isala:/var/lib/libvirt/images$ ls -lh sschwardt_Installer-16-0.qcow2 -rw-rw---- 1 sschwardt Tech 52G 10. Sep 20:59 sschwardt_Installer-16-0.qcow2 Warnung für die QA: eine KVM-Instanz mit qcow2-Image benötigt für ein 3,2 TiB-ext4-Filesystem nativ mindestens 52 GiB auf der Platte.
Auch auf Systemen mit 4GiB Arbeitsspeicher wird nur eine Swap-Partition mit 512MiB angelegt. Es sollten (ausreichender Plattenplatz vorausgesetzt) aber ca. 2GiB sein.
Wurde kein MBR/GPT erkannt wird aktuell noch vorgeschlagen, einen MBR zu schreiben. Tatsächlich wird aber eine GPT geschrieben.
> Auch auf Systemen mit 4GiB Arbeitsspeicher wird nur eine Swap-Partition mit > 512MiB angelegt. Es sollten (ausreichender Plattenplatz vorausgesetzt) aber ca. > 2GiB sein. Die Berechnung wurde korrigiert → FIXED > Wurde kein MBR/GPT erkannt wird aktuell noch vorgeschlagen, einen MBR zu > schreiben. Tatsächlich wird aber eine GPT geschrieben. Text wurde angepasst und übersetzt → FIXED
In Deutsch sind die Tabellenköpfe nicht komplett → "Größe (M"
(In reply to comment #11) > In Deutsch sind die Tabellenköpfe nicht komplett → "Größe (M" Das war ein UTF8-Problem. len('Größe') liefert nicht 5 sondern 7 (bytes) zurück. In der Funktion get_col(), die das Alignment für die Tabelle durchführt, wird der Text jetzt erst nach unicode konvertiert, bevor er angepasst wird.
Tests: - Festplatte mit MBR wird konvertiert - Festplatte mit 4 TB kann partitioniert werden - GPT Konvertierung: OK, Bug #28503 - Hinweis bzgl. UEFI: Bug #28502 - Diverse weitere Partitionierungen mit unterschiedlichen Dateisystemen usw. wurden durchgeführt Changelog OK
(In reply to comment #3) > 15) Bei der Autopartitionierung werden jetzt folgende Partitionsgrößen > verwendet: > - BIOS_GRUB: 2 MiB → wurde auf 8 MB erhöht > - /boot: 512 MiB > - swap: 512 MiB bis 10 GiB (i.d.R. 0.5*RAM) → die alte Angabe war falsch: es sind swap=2*RAM
UCS 3.1-0 has been released: http://forum.univention.de/viewtopic.php?f=54&t=2125 If this error occurs again, please use "Clone This Bug".