Gentoo: Installation von LVM2
1.
Einleitung
Diese Anleitung basiert auf einem Beispiel mit zwei IDE-Festplatten. Das
bedeudet, dass Sie wahrscheinlich die Festplatten, Partitionen und
Partitionsgrößen an Ihre eigenen Bedürfnisse anpassen müssen.
Warnung:
Dieses Dokument ist kein LVM2-Tutorial. Es dient lediglich als Erweiterung zur
Gentoo Installation, wie sie im Handbuch, Teil 1
beschrieben wird. Lesen Sie die Gentoo Installationsanleitung
bevor Sie mit der Installation beginnen.
|
Notiz:
Für ein komplettes LVM-HOWTO besuchen Sie die Website
http://tldp.org/HOWTO/LVM-HOWTO
|
Anforderungen
Wenn Sie eine neue Gentoo Installation durchführen, benötigen Sie eine bootbare
CD mit LVM2-Unterstützung, wie zum Beispiel die Gentoo Installations-CD. Sie
finden die Installations-CDs für die x86 Architektur auf einem unserer Mirror unter
/releases/x86/current/installcd. Andere Architekturen werden
möglicherweise ebenfalls unterstützt.
Wenn Sie LVM2 auf einem bereits laufendem System mit etwas freiem Speicherplatz
verwenden möchten, müssen Sie das LVM2-Modul (dm-mod) aktivieren.
Dieses Modul ist in den gentoo-sources. Das Kompilieren eines
Kernel und das Aktivieren von LVM2 wird später in diesem Dokument beschrieben.
Nicht alle 2.4 Kernel, die von Gentoo bereitgestellt werden, liefern
LVM2-Unterstützung.
Partitionen
Unser Beispiel hat zwei IDE-Festplatten und wird wie folgt partitioniert:
- /dev/hda1 -- /boot
- /dev/hda2 -- (swap)
- /dev/hda3 -- /
- /dev/hda4 -- Wird von LVM2 verwendet
- /dev/hdb1 -- Wird von LVM2 verwendet
Wichtig:
Passen Sie auf die Partitionsnamen auf, da man die as und bs beziehungsweise
die Partitionsnummern leicht vertauschen kann. Eine falsche Eingabe kann eine
wichtige Partition löschen. Sie wurden gewarnt!
|
OK, Zeit zu starten...
2.
Installation
Folgen Sie dem Handbuch, allerdings mit folgenden Änderungen in Kapitel 4.
Vorbereitung der Festplatten
Verwenden Sie fdisk wie es im Handbuch beschrieben wird, aber verwenden
Sie das oben beschriebene Partitionsschema nur als Beispiel. Es ist nur ein
Beispiel, passen Sie es Ihren eigenen Bedürfnissen an.
Erzeugen Sie eine kleine physische /boot Partition (hda1). In
diesem Beispiel wird /boot nicht von LVM2 verwaltet. Diese
Partition beinhaltet den Bootloader und Ihre(n) Kernel. Eine 64MB-Partition
sollte für einige Kernel ausreichen.
Erzeugen Sie eine Swap-Partition (hda2).
Erzeugen Sie eine / (root) Partition (hda3). Wenn Sie versuchen möchten, Ihre
root-Partition unter LVM-Management zu stellen (was wir nicht empfehlen), sehen
Sie sich den Link für ein Mini-HowTo im Ressourcenteil am Ende dieses Dokuments
an. Die root-Partition muss nicht besonders groß sein, wenn Sie /opt /usr
/home /var und /tmp in eine LVM2 Volume Group (vg) legen.
In diesem Fall sollte 1GB ausreichen.
Notiz:
Es ist nicht zu empfehlen, die folgenden Verzeichnisse in eine
LVM2-Partition zu legen: /etc, /lib,
/mnt, /proc, /sbin, /dev
und /root. Auf diese Weise ist es immer noch möglich sich in das
System (etwas verkrüppelt, aber als root immer noch etwas brauchbar)
einzuloggen, falls etwas schief geht.
|
Vorausgesetzt, die /boot, swap- und root-Partitionen verbrauchen
nicht den gesamten physikalischen Speicherplatz, erzeugen Sie auf dieser
Festplatte eine vierte Partition und setzen Sie den Typ auf 8e (Linux LVM).
Wenn Sie mehrere Festplatten haben die Sie mit LVM verwenden möchten, erzeugen
Sie jeweils eine Parition des Typs 8e auf jeder weiteren.
Notiz:
Betrachtet man die Größe aktueller Festplatten, möchten Sie wahrscheinlich
nicht eine einzige große, sondern mehrere kleine Partitionen erstellen, die zu
einer LVM2 Volume Group hinzugefügt werden. Das Vergrößern von Partitionen ist
mit LVM2 leicht möglich. Nicht verwendete Partitionen können Sie auch außerhalb
einer LVM2-Gruppe verwenden. Kurz gesagt, verwenden Sie Ihren Speicherplatz
erst wenn Sie ihn brauchen. Zum Beispiel hat ein Mitarbeiter seine 160 Gb
Festplatte in 8 Partitionen mit jeweils 20 Gb aufgeteilt.
|
Erzeugen Sie das Dateisystem auf /dev/hda1 und
/dev/hda3 und erzeugen beziehungsweise aktivieren Sie die
Swap-Partition auf /dev/hda2, wie es im Handbuch beschrieben wird.
Laden Sie das LVM2 dm-mod Modul.
Befehlsauflistung 2.1: Laden des LVM2-Moduls |
# modprobe dm-mod
|
Editieren Sie /etc/lvm/lvm.conf vor dem Scannen und Aktivieren von
LVM, um einige Geräte auszuschließen. Standardmäßig scannt LVM2 alle Laufwerke
inklusive CDROM, was Fehlermeldungen verursachen kann. Im folgenden Beispiel
wird die Zeile, die das Scannen aller Geräte erlaubt durch eine ersetzt, die
nur das Scannen unserer zwei IDE-Festplatten erlaubt.
Befehlsauflistung 2.2: LVM aktivieren |
# nano -w /etc/lvm/lvm.conf
filter = [ "a/.*/" ]
filter = [ "a|/dev/hd[ab]|", "r/.*/" ]
# vgscan
Reading all physical volumes. This may take a while...
No volume groups found
# vgchange -a y
|
Vorbereiten der Partitionen:
Befehlsauflistung 2.3: Vorbereiten der Partitionen |
# pvcreate /dev/hda4 /dev/hdb1
No physical volume label read from /dev/hda4
Physical volume "/dev/hda4" successfully created
No physical volume label read from /dev/hdb1
Physical volume "/dev/hdb1" successfully created
|
Erstellen einer Volume Group. Eine Volume Group ist die Kombination mehrerer
physikalischer Einheiten zu einem einzigen logischen Gerät.
In unserem Beispiel sind /dev/hda1, /dev/hda2 und
/dev/hda3 die /boot, swap- und root-Partitionen,
daher fassen wir /dev/hda4 und /dev/hdb1 zusammen.
Das kann mit einem einzigen Befehl durchgeführt werden, aber als Beispiel
erzeugen wir zuerst eine Volume Group und werden diese anschließend erweitern.
Befehlsauflistung 2.4: Erzeugen und Erweitern einer Volume Group |
# vgcreate vg /dev/hda4
/etc/lvm/backup: fsync failed: Invalid argument
Volume group "vg" successfully created
# vgextend vg /dev/hdb1
/etc/lvm/backup: fsync failed: Invalid argument
Volume group "vg" successfully extended
|
Erzeugen Sie die Logical Volumes. Logical Volumes sind vergleichbar mit den
Partitionen die Sie mit fdisk in einer nicht-LVM2-Umgebung erstellen. In
unserem Beispiel erzeugen wir die folgenden Partitionen:
| Verzeichnis |
Größe |
| /usr |
10 GB |
| /home |
5 GB |
| /opt |
5 GB |
| /var |
10 GB |
| /tmp |
2 GB |
Da wir LVM2 verwenden, müssen wir uns nicht viel Gedanken über Partitionsgrößen
machen, da diese je nach Bedarf immer erweitert werden können.
Notiz:
Wie Terje Kvernes erwähnt hat, ist es leichter Partitionen zu vergrößern als
zu verkleinern. Daher sollten Sie mit kleinen Partitionen beginnen und diese
bei Bedarf anschließend vergrößern.
|
Befehlsauflistung 2.5: Logical Volumes erzeugen und erweitern |
# lvcreate -L10G -nusr vg
Logical volume "usr" created
# lvcreate -L5G -nhome vg
# lvcreate -L5G -nopt vg
# lvcreate -L10G -nvar vg
# lvcreate -L2G -ntmp vg
# lvextend -L+5G /dev/vg/home
|
Erzeugen Sie die Dateisysteme auf den Logical Volumes wie Sie das auch bei
normalen Partitionen tun würden. Wir verwenden ext3 auf den Logical Volumes,
aber Sie können jedes Dateisystem ihrer Wahl verwenden.
Befehlsauflistung 2.6: Erzeugen der Dateisysteme |
# mke2fs -j /dev/vg/usr
# mke2fs -j /dev/vg/home
# mke2fs -j /dev/vg/opt
# mke2fs -j /dev/vg/var
# mke2fs -j /dev/vg/tmp
|
Mounten Sie Ihre Logical Volumes als wären sie Partition und Ihre Partitionen
wie es im Handbuch beschrieben wird. Ersetzen Sie /dev/hdxx mit
/dev/vg/logical_volumename.
Befehlsauflistung 2.7: Mounten der Logical Volumes |
# mkdir /mnt/gentoo/usr
# mount /dev/vg/usr /mnt/gentoo/usr
# mkdir /mnt/gentoo/home
# mount /dev/vg/home /mnt/gentoo/home
# mkdir /mnt/gentoo/opt
# mount /dev/vg/opt /mnt/gentoo/opt
# mkdir /mnt/gentoo/var
# mount /dev/vg/var /mnt/gentoo/var
# mkdir /mnt/gentoo/tmp
# mount /dev/vg/tmp /mnt/gentoo/tmp
|
Notiz:
Der Rest des Installationshandbuchs ist größtenteils nicht verändert, daher
werden wir nur die Unterschiede behandeln.
|
Stellen Sie sicher, dass Sie Ihren Kernel mit LVM2-Unterstützung kompilieren.
Nicht alle 2.4 Kernel unterstützen LVM2. Wählen Sie das LVM2-Modul wie folgt:
Befehlsauflistung 2.8: Auswählen des LVM2-Moduls bei einem 2.4.x Kernel |
Multi-device support (RAID and LVM) --->
[*] Multiple devices driver support (RAID and LVM)
< > RAID support
< > Logical volume manager (LVM) support
<M> Device-mapper support
< > Mirror (RAID-1) support
|
Befehlsauflistung 2.9: Auswählen des LVM2-Moduls bei einem 2.6.x Kernel |
Device Drivers --->
Multi-device support (RAID and LVM) --->
[*] Multiple devices driver support (RAID and LVM)
< > RAID support
<M> Device mapper support
|
Das kompilierte Modul wird dm-mod.ko genannt.
Nachdem Sie den Kernel kompiliert und dessen Module installiert haben, fügen
Sie folgende Zeile in Ihre /etc/modules.autoload.d/kernel-{KV}
ein, wobei {KV} für ihre Kernelversion steht (2.4 oder 2.6), damit das
LVM2-Modul beim Booten Ihres Systems geladen wird:
Befehlsauflistung 2.10: Einfügen des LVM2 Moduls in /etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
dm-mod
|
Installieren Sie jetzt das LVM2-Paket.
Wichtig:
Stellen Sie sicher, dass Ihr /usr/src/linux Link auf die
Kernelquellen verweist, die Sie verwenden, da das LVM2-Ebuild vom device-mapper
Ebuild abhängt, welches das Vorhandensein einer benötigten Quelldatei unter
/usr/src/linux/include/linux überprüft.
|
Befehlsauflistung 2.11: Emergen des LVM2-Pakets |
# emerge lvm2
|
Editieren Sie /etc/lvm/lvm.conf wie es zuvor beschrieben wurde. Die Datei, die Sie
vorhin editiert haben ist Teil der Installationsumgebung und ist nach dem
nächsten Neustart nicht mehr vorhanden. Dieses Mal editieren Sie die Datei
innerhalb Ihrer neuen Gentoo Installation.
Wenn Sie Ihre /etc/fstab Datei editieren, folgen Sie dem Handbuch
und fügen Sie ihre LVM2 Logical Volumes je nach Bedarf ein. Hier sind erneut
einige Zeilen die für unser Beispiel benötigt werden:
Befehlsauflistung 2.12: Auszug aus /etc/fstab |
/dev/hda1 /boot ext3 noauto,noatime 1 2
/dev/hda2 none swap sw 0 0
/dev/hda3 / ext3 noatime 0 1
# Logical volumes
/dev/vg/usr /usr ext3 noatime 0 2
/dev/vg/home /home ext3 noatime 0 2
/dev/vg/opt /opt ext3 noatime 0 2
/dev/vg/var /var ext3 noatime 0 2
/dev/vg/tmp /tmp ext3 noatime 0 2
|
Wenn Sie das Ende der Installation im Handbuch erreichen, vergessen Sie nicht
alle ihre LVM2 Logical Volumes auszuhängen und um sicher zu gehen, führen Sie
folgenden Befehl vor dem Neustart aus:
Befehlsauflistung 2.13: Herunterfahren von LVM2 |
# vgchange -a n
|
Starten Sie ihr System neu und alle Partitionen sollten sichtbar und gemountet
sein.
3.
Weitermachen nach einem Reboot
Wenn Sie Ihre Gentoo Installation an einem Punkt unterbrochen haben und jetzt
fortsetzen möchten, müssen Sie zuerst die Volume Device-Nodes erzeugen:
Befehlsauflistung 3.1: Reaktivieren der Volumes |
# vgscan --mknodes
|
Bei Installations-CDs mit weniger aktuellen Tools müssen Sie stattdessen
eventuell die Volumes reaktivieren:
Befehlsauflistung 3.2: Reaktivieren der Volumes |
# vgchange -a n
# vgexport -a
# vgimport -a
# vgchange -a y
|
4.
Ressourcen
5.
Danksagung
Danke an Thilo Bangert und Terje Kvernes für ihre Hilfe und Kommentare
bei diesem Dokument.
Die Inhalte dieses Dokuments sind unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert.
|