Ein neuer Hetzner-Server – der wieder dank Xen fast 30 Linux-Instanzen aufnehmen wird – machte es erstmalig erforderlich, ein Linux remote auf einer großen Platte (größer als 2TB) zu installieren. Statt dem im Büronetz eingesetzten PXE-Netinstaller musste hier “debootstrap” zum Einsatz kommen – und es klappte fast auf Anhieb. Grund für die Neuinstallation war – mal wieder – der Wunsch, ein eigenes Partitionslayout vergeben zu können, eine Flexbilität, die Hetzner natürlich für das Standardimage nicht bieten kann. Ich entschied mich daher dafür, den Server mit aktiviertem Rettungssystem zu übernehmen. Das ist bei Hetzner Debian basiert, so dass “debootstrap” in Ubuntus Version mit wenigen Handgriffen installiert werden kann. Der einzige Haken: Festplatten über zwei Terabyte erfordern entweder eine GUID Partition Table (“GPT”) oder eben, dass man damit lebt, dass rund ein Drittel der Plattenkapazität nicht erhältlich ist. Ich entschied mich für ersteres.
Partitionierung
Ungewohnt ist die Partitionierung: GPT kennt keine primären, erweiterten und logischen Partitionen, sondern nur … Partitionen. Maximal 128 derer. Die Partitionstabelle muss daher auch nicht innerhalb der ersten 512 Bytes der Platte residieren, sondern darf etwas mehr Platz beanspruchen, eine Backup-Partitionstabelle wird am Ende der Platte untergebracht, worauf ich im Detail aber erst in einem separaten Beitrag eingehen möchte.
Die Partitionierung erfordert zwingend eine kleine Partition vom Typ ef02, wenn der Rechner ein klassisches BIOS nutzt oder eine Partitition vom Typ ef01 für einen EFI-Rechner. Dahinter werden System- und Swap-Partition angelegt. Zum Einsatz kommt gdisk, welches sich verhält wie das altbekannte fdisk:
gdisk /dev/sda
Das Ergebnis sieht so aus:
Number Start (sector) End (sector) Size Code Name 1 2048 133119 64.0 MiB EF02 BIOS boot partition 2 133120 16910335 8.0 GiB 8200 Linux swap 3 16910336 226625535 100.0 GiB 0700 Linux/Windows data
Installation des Grundsystems
Die Systempartition wird jetzt formatiert und gemountet:
mkdir -p /tmp/minibuntu mkfs.ext4 /dev/sda3 mount /dev/sda3 /tmp/minibuntu
Auf Hetzners Rettungssystem war ein Debain-Debootstrap installiert. Ich muss es vom Ubuntu-Mirror herunterladen und mit dpkg installieren:
dpkg -i debootstrap_1.0.41ubuntu1_all.deb
Die Installation des Grundsystems geht dann recht flink mit:
debootstrap --arch amd64 precise /tmp/minibuntu http://archive.ubuntu.com/ubuntu
Nachbereitung des Systems
Nun sind einige Anpassungen vorzunehmen. Zunächst editieren Sie die /etc/hostname, die /etc/default/locale, die /etc/network/interfaces, die /etc/fstab und gegebenenfalls die /etc/apt/sources.list des frisch installierten Systemes. Mounten Sie dann einige spezielle Dateisysteme:
mount -t proc none /tmp/minibuntu/proc mount --bind /sys /tmp/minibuntu/sys mount --bind /dev /tmp/minibuntu/dev mount -t devpts none /tmp/minibuntu/dev/pts
Nun fehlen noch Kernel, Rootpasswort und eine Möglichkeit zur Fernwartung, wechseln Sie per Chroot in das frisch installierte System und nehkmen Sie die notwendigen Änderungen vor:
chroot /tmp/minibuntu shadowconfig on passwd apt-get update apt-get install linux-image-generic ssh
Mit dem Linux-Kernel wird als Abhängigkeit GRUB installiert. Dieser fragt nach dem Installationsort für den Bootloader, an dieser Stelle ist /dev/sda anzugeben. GRUB schreibt nun einen Kompatibilitäts-MBR, packt seine Binärdateien aber auf die BIOS-Boot-Partition. Jetzt noch einmal die /etc/network/interfaces und /etc/fstab prüfen, dann den Chroot verlassen und rebooten:
exit reboot
Viel Spaß damit auf dem eigenen Server!
Ich glaube wenn der Startsektor der letzten Partition vor der 2TB Grenze liegt, sollte Linux trotdem keine Probleme damit haben.
Mit “fdisk” kann man nur bis zur 2TB-Grenze partitionieren. Das müsste eine Einschränkung durch die maximal mögliche Adressierung des PC-Partitionsschemas sein. Durchaus möglich, dass es Tricks gibt, eine größere Festplatte doch irgendwie mit PC-Partitionen nutzen zu können (wichtig im Dual Boot mit einem älteren Windows), auf einem neuen Server wollte ich aber gleich den sauberen Weg gehen.
Es ist nicht notwendig, debootstrap aus den Ubuntu-Quellen zu nutzen. Das Paket aus debian-testing kann das auch (die Version aus stable kennt nur Ubuntu-Versionen bis Natty).
Alternativ kann man auch das Skript in /usr/share/debootstrap/scripts/natty händisch auf Precise anpassen. 😛
Pingback: dysternis » Ubuntu auf einem Rootserver mit ZFS
Prima Anleitung, besonders, wenn man bisher nur mit fdisk zu tun hatte. Ich habe nach der Anleitung meinen Server installiert und gleich noch ZFS mit oben drauf gepackt.
Took me time to read all the comments, but I really enjoyed the article. It proved to be Very helpful to me.It’s always nice when you can not only be informed, but also entertained! I’m sure you had fun writing this article.