Bug 23990 - GPT-Unterstützung im Installer
GPT-Unterstützung im Installer
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UCS Installer
UCS 3.0
Other Linux
: P5 enhancement (vote)
: UCS 3.1
Assigned To: Sönke Schwardt-Krummrich
Stefan Gohmann
: interim-1
: 28455 (view as bug list)
Depends on:
Blocks: 28263
  Show dependency treegraph
 
Reported: 2011-10-07 13:57 CEST by Sönke Schwardt-Krummrich
Modified: 2012-12-12 21:08 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sönke Schwardt-Krummrich univentionstaff 2011-10-07 13:57:02 CEST
Der Installer sollte die Installation auf Devices mit GPT unterstützen.
Comment 1 Ingo Steuwer univentionstaff 2012-08-08 11:07:35 CEST
Aufgefallen im Kundentermin: die Installation funktioniert nicht auf Devices >2TB

Ich mache aus "enhancement" daher "normal"
Comment 2 Stefan Gohmann univentionstaff 2012-08-13 07:36:56 CEST
(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.
Comment 3 Sönke Schwardt-Krummrich univentionstaff 2012-09-10 15:40:57 CEST
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
Comment 4 Janek Walkenhorst univentionstaff 2012-09-10 17:48:23 CEST
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
Comment 5 Sönke Schwardt-Krummrich univentionstaff 2012-09-10 20:29:21 CEST
*** Bug 28455 has been marked as a duplicate of this bug. ***
Comment 6 Sönke Schwardt-Krummrich univentionstaff 2012-09-10 20:49:25 CEST
(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
Comment 7 Sönke Schwardt-Krummrich univentionstaff 2012-09-10 21:00:30 CEST
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.
Comment 8 Sönke Schwardt-Krummrich univentionstaff 2012-09-11 12:34:43 CEST
Auch auf Systemen mit 4GiB Arbeitsspeicher wird nur eine Swap-Partition mit 512MiB angelegt. Es sollten (ausreichender Plattenplatz vorausgesetzt) aber ca. 2GiB sein.
Comment 9 Sönke Schwardt-Krummrich univentionstaff 2012-09-11 12:38:15 CEST
Wurde kein MBR/GPT erkannt wird aktuell noch vorgeschlagen, einen MBR zu schreiben. Tatsächlich wird aber eine GPT geschrieben.
Comment 10 Sönke Schwardt-Krummrich univentionstaff 2012-09-11 15:55:39 CEST
> 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
Comment 11 Janek Walkenhorst univentionstaff 2012-09-12 18:45:09 CEST
In Deutsch sind die Tabellenköpfe nicht komplett → "Größe (M"
Comment 12 Sönke Schwardt-Krummrich univentionstaff 2012-09-13 14:25:27 CEST
(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.
Comment 13 Stefan Gohmann univentionstaff 2012-09-14 11:03:55 CEST
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
Comment 14 Sönke Schwardt-Krummrich univentionstaff 2012-11-07 22:01:42 CET
(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
Comment 15 Stefan Gohmann univentionstaff 2012-12-12 21:08:33 CET
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".