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.
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:
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�sse | Mountpoint |
/dev/hda2 | 470 MB | / |
/dev/hda1 | 30 MB | /boot |
/dev/vg01/lvol1 | 1,5 GB | /usr |
/dev/vg01/lvol2 | 500 MB | /opt |
/dev/vg01/lvol3 | 10 GB | /home |
freier Plattenplatz | 27,5 GB | (wird bei Bedarf zur Erweiterung der vorhanden LVs verwendet) |
|
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.
Im Beispiel werden nur die relevanten Optionen der Befehle erw�hnt. F�r die komplette Syntax lesen Sie bitte die Man Pages.
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 | Partition | Gr�sse | Id/Typ der Partition |
hda | /dev/hda1 | 30 MB | 0x83 Linux native |
hda | /dev/hda2 | 470 MB | 0x83 Linux native |
hda | /dev/hda3 | 19,5 GB | 0x8e Linux LVM |
hdb | /dev/hdb1 | 100 MB | 0x82 Linux swap |
hdb | /dev/hdb2 | 19,9 GB | 0x8e Linux 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
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
Jetzt legen wir mit 'vgcreate <VolumeGroup> <Partition(en)>' unsere Volume Group an und nennen sie "vg01":
vgcreate vg01 /dev/hda3 /dev/hdb2
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
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
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
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
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.