Inhalt

2. Erstinstallation von LVM - ein einfaches Scenario

Dieses Kapitel soll anhand eines konkreten Beispiels, einem unerfahrenen Admin Anfangsgrössen für die Installation einer Distribution mit LVM geben, sowie eine Idee vermitteln in welcher Reihenfolge die verscheidenen Vorgänge stattfinden.

2.1 Annahmen

Es soll ein PC installiert werden, mit 2 IDE Festplatten a 20 GB, die als /dev/hda und /dev/hdb angesprochen werden. Linux ist noch nicht installiert. Sie verwenden eine Distribution, deren Kernel bereits mit LVM kompiliert wurde (z.B. Suse >= 6.3).

Linux kann nicht direkt von einem LVM Volume booten. In diesem einfachen Scenario soll die root Partition auf einer normalen (kleinen) Partition liegen. Alle weiteren Filesysteme werden auf logischen Volumes untergebracht. Der grobe Ablauf der Installation ist wie folgt:

2.2 Planung der Filesysteme

In diesem Beispiel wird nur eine einfache Planung vorgegeben. Weitergehende Überlegungen finden Sie später im Kapitel "komplexere Überlegungen und Planungen".

Wir verwenden nur eine Volume Group. Die Grösse des boot volumes sollte zwischen 20- 30 MB liegen. Das root volumes wird zwischen 300-500 MB gross werden. Die Planung für einen einfachen Server mit 40 GB Plattenplatz könnte also wie folgt aussehen:


Filesystem
GrösseMountpoint
/dev/hda2470 MB/
/dev/hda130 MB/boot
/dev/vg01/lvol11,5 GB/usr
/dev/vg01/lvol2500 MB/opt
/dev/vg01/lvol310 GB/home
freier Plattenplatz27,5 GB(wird bei Bedarf zur Erweiterung der vorhanden LVs verwendet)
Filesystemplanung

Die Grössen sind natürlich nur als grober Anhaltspunkt zu verstehen. Die exakte Grösse hängt natürlich von Ihrem installierten System ab. Die hier angegeben Grössen beziehen sich auf eine umfangreiche Installation der Suse 6.3.

2.3 Vorgehensweise

Im Beispiel werden nur die relevanten Optionen der Befehle erwähnt. Für die komplette Syntax lesen Sie bitte die Man Pages.

Betriebsystem Installation und Partitionieren der Festplatten.

Installieren Sie Ihr Linux entsprechend der Anleitung Ihrer Distribution. Halten Sie die ausgewählten Programmpackete minimal, da jetzt die LVM Volumes und damit der komplette Speicherplatz ja noch nicht verfügbar sind. Wenn Sie im Laufe der Installation ihre Festplatten partitionieren, dann müssen Sie die Patitionen zur Verwendung mit LVM einrichten. Die Partions-Id muss auf 0x8e gesetzt werden. Die verhindert das versehentliche überschreiben von nicht LVM Partitionen. In unserem Scenario partitionieren wir die Festplatten wie folgt:


Platte
PartitionGrösseId/Typ der Partition
hda/dev/hda130 MB0x83 Linux native
hda/dev/hda2470 MB0x83 Linux native
hda/dev/hda319,5 GB0x8e Linux LVM
hdb/dev/hdb1100 MB0x82 Linux swap
hdb/dev/hdb219,9 GB0x8e Linux LVM
Partitionsaufteilung

Aktivieren des LVM

Der erste Aufbau von vgscan aktiviert die LVM Funktionalität im Kernel, da die noch nicht vorhandene lvm Datenbank angelegt wird. Dieser Schritt ist in unserem Scenario zwingend, da es sich um ein neu installiertes System handelt. Der Befehl vgscan ermittelt alle LVM PVs und legt die Datei /etc/lvmtab und das Verzeichnis /etc/lvmtab.d an oder aktualisiert sie.

vgscan

Physical Volumes anlegen

Der Befehl pvcreate legt den VGDA Block auf dem PV an. Er muss für jedes PV ausgeführt werden, bevor es von LVM verwendet werden kann:

pvcreate /dev/hda3
pvcreate /dev/hdb2

Volume Groups anlegen

Jetzt legen wir mit 'vgcreate <VolumeGroup> <Partition(en)>' unsere Volume Group an und nennen sie "vg01":

vgcreate vg01 /dev/hda3 /dev/hdb2

Logische Volumes anlegen.

Hier legen wir jetzt alle unsere logischen Volumes an. Als Namen verwenden wir, etwas fantasielos, lvol1, lvol2 und lvol3. Dabei bedienen wir uns mit dem Plattenplatz auf Volume Group vg01, der einzigen Volume Group in diesem Beispiel. Es ist offensichtlich, dass wir hier nicht mehr Plattenplatz "verteilen" können, als wir bei vgcreate in die Volume Group "hineingesteckt" haben, und zwar in Form der beiden Partitionen hda3 und hdb2. (lvcreate -L<Grösse> -n <LogicalVolumeName> <Volume Group>).

lvcreate -L 1500M -n lvol1 vg01 
lvcreate -L 500M -n lvol2 vg01
lvcreate -L 10G -n lvol3 vg01

Filesysteme anlegen

Ab jetzt können die logischen Partitionen, genau so wie gewöhnliche Partitionen, über Ihre Device Files angesprochen werden. Gewöhliche Partitionen werden mit /dev/sd[a-z]* oder /dev/hd[a-z]* bezeichnet; Logische Volumes werden mit /dev/VolumeGroupName/LogicalVolumeName angesprochen. Mit mke2fs <LogicalVolumeName> legen wir die ext2 Filesysteme an:

mke2fs /dev/vg01/lvol1
mke2fs /dev/vg01/lvol2
mke2fs /dev/vg01/lvol3

Filesysteme verwenden

Trotz der minimalen Linux Installation liegen wahrscheinlich schon eine Dateien in den Ordnern /usr /opt und /home. Wir müssen diese "alten" Verzeichnisse also zuerst umbenennen und dann die Mountpoints anlegen, bevor wir die "neuen" Filesyssteme mounten können. Anschliessend müssen wir die Inhalte der "alten" Verzeichnisse in die "neuen" kompieren. Wenn Sie ganz sicher sind, dass die ganze LVM Installation und das Kopieren funktioniert hat, können Sie die alten Verzeichnisse bei Gelegenheit entfernen.

mv /usr /usr.old
mv /opt /opt.old
mv /home /home.old
mkdir /usr
mkdir /opt
mkdir /home
mount /dev/vg01/lvol1 /usr
mount /dev/vg01/lvol2 /opt
mount /dev/vg01/lvol3 /home
cp -avx /usr.old/* /usr
cp -avx /opt.old/* /opt
cp -avx /home.old/* /home

fstab anpassen

Damit die neuen Filesysteme nun bei jedem Systemstart automatisch gemountet werden, müssen wir sie in die Datei /etc/fstab eintragen (siehe 'man fstab'). In unserem Scenario sehen die zusätzlichen Einträge wie folgt aus:

/dev/vg01/lvol1 /usr ext2 defaults 1 2
/dev/vg01/lvol2 /opt ext2 defaults 1 2
/dev/vg01/lvol3 /home ext2 defaults 1 2

Programmpackete nachinstallieren

Die LVM Installation ist jetzt beendet. Die logischen Volumes und damit der komplette Festplattenplatz stehen zur Verfügung. Jetzt kann die noch minimale Linux Installation um zusätzliche Programmpackete auf den vollen gewünschten Umfang erweitert werden.


Inhalt