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 |
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.
Unser Beispiel hat zwei IDE-Festplatten und wird wie folgt partitioniert:
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...
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 |
(Nur das Scannen unserer Festplatten erlauben) # nano -w /etc/lvm/lvm.conf (Suchen Sie nach der folgenden Zeile) filter = [ "a/.*/" ] (Ersetzen Sie sie mit folgender Zeile um /dev/hda und /dev/hdb zu scannen und alles Andere zu ignorieren) filter = [ "a|/dev/hd[ab]|", "r/.*/" ] (Speichern Sie die Datei ab und schließen Sie nano anschließend) # vgscan Reading all physical volumes. This may take a while... No volume groups found (Alle vorher erstellten Volume Groups verfügbar machen) # 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 |
(Erzeugen einer Volume Group genannt vg) # vgcreate vg /dev/hda4 /etc/lvm/backup: fsync failed: Invalid argument (Diese Warnung ignorieren) Volume group "vg" successfully created (Erweitern einer existierenden Volume Group) # vgextend vg /dev/hdb1 /etc/lvm/backup: fsync failed: Invalid argument (Diese Warnung jetzt und später ignorieren) 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 (Weitere ähnliche Meldungen nicht angezeigt) # lvcreate -L5G -nhome vg # lvcreate -L5G -nopt vg # lvcreate -L10G -nvar vg # lvcreate -L2G -ntmp vg (Als Beispiel erweitern wir ein Logical Volume um 5 zusätzliche Gbyte) # 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 |
(Stellen Sie sicher, dass Sie ihre root Partition wie im Handbuch beschrieben gemountet haben.) # 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
(Beachten Sie, dass LVM grundsätzlich nicht aktiviert ist. Das war bei LVM1 der Fall)
< > 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 (Einfügen folgender Zeile) 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 |
(Zuerst alle Volumes deaktivieren) # vgchange -a n (Alle Volumes exportieren) # vgexport -a (Alle Volumes importieren) # vgimport -a (Alle Volumes reaktivieren) # vgchange -a y |
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.