<!doctype linuxdoc system>

<article>

<title>Logical Volume Manager (LVM) Howto - deutsche Version
<author>Richard Heider &lt;lvm-howto@litefaden.com&gt; 
<date>1.0 ($Revision: 1.1 $), 4. Apr 2000
<abstract>Der Logical Volume Manager (LVM) schafft eine virtuelle Sicht auf Festplatten
 und erleichtert so die Verwaltung des Speicherplatzes. LVM ermöglicht u.a.
 die Anpassung und Erweiterung von Filesystemen auf logischen Volumes, sowie
 Stripe Sets. Dieses Howto beschreibt die Installation und Administration des
 LVM. LVM kann zusammen mit RAID Software oder -Hardware eingesetzt werden.
 Es werden einfache und komplexe Installationen, sowie die Fehlerdiagnose behandelt.
<toc>
<sect>Grundlagen
<p>

Dieses Dokument befindet sich noch in der frühen Entwicklung. Die meisten
 Beispiele sind noch nicht Korrektur gelesen, also durchaus mit Vorsicht zu
 geniessen. Anmerkungen, Fehlermeldungen und Verbesserungsvorschläge sind ausdrücklich
 erwünscht und erbeten.
<sect1>Was ist LVM?
<p>

Eine häufige Aufgabe der Systemadministration ist die bedarfsgerechte Verteilung
 von Festplattenplatz auf die entsprechenden Filesysteme. Partitionierungen
 können auf einem installierten System nur sehr aufwendig geändert werden, was
 Veränderungen und Erweiterungen erschwert. Der Logical Volume Manager (LVM)
 schafft eine virtuelle Sicht auf den vorhanden Plattenplatz und ermöglicht
 so die flexible Anpassung und Erweiterung des Filesystems an die veränderten
 Ansprüche. 

Der Logical Volume Driver 0.8final ist seit Linux 2.3.47 Bestandteil des
 Standard Kernels.

Wesentliche Anwendungen des LVM sind Filesysteme die die Grösse einer Festplatte
 übersteigen, z.B. ein grosses /home Verzeichnis, Datenbank Volumes die in sogenannten
 Stripe Sets auf mehrere Festplatten verteilt werden sollen und die Erweiterung
 von Filesystems bei Platzbedarf.
<sect2>Vorteile von LVM 
<p>
<itemize>
<item>Filesysteme und damit Dateien können grösser sein, als die verwendeten
 Festplatten .
<item>Es können viele Partitionen angelegt werden; 256 insgesamt.
<item>Leichteres Systeminstallation und Festplattenverwaltung, da man bei der
 Partitionierung und Definition der Filessysteme nicht so weit vorausdenken
 muss. Man bedient sich einfach aus dem Speicherplatz-Pool, der Volume Group.
<item>Filesysteme können in Stripe Sets auf mehrere (SCSI) Platten verteilt werden
 wodurch eine besser I/O Geschwindigkeit erreicht werden kann.
<item>Devices können mit sprechenden Namen versehen werden (z.B. für Kunden-ID).
<item>Die Filesysteme können dem wächsenden Platzbedarf bei Bedarf angepasst
 werden. Bestimmte Filesysteme können erweitert werden ohne sie komplett neu
 aufsetzen/formatieren zu müssen, falls ein entsprechendes Tool existiert.
<item>Die Administrationsmöglichkeiten im laufenden Betrieb werden erhöht, da
 einige Konfigurationen auf aktiven Volumes durchgeführt werden können. Insbesondere
 ist es möglich, ein logisches Volume im laufenden Betrieb auf ein anderes Physikalisches
 Volume (Festplatte) zu verschieben.
</itemize>
<sect2>Wer braucht LVM?
<p>

Bei den heute üblichen Plattengrössen bietet sich der Einsatz von LVM bereits
 bei gut ausgestatteten Home PCs und kleinen Servern an. Auf jedenfall sinnvoll
 ist der Einsatz bei Systemen mit wachsendem Datenbestand, wie z.B. Datenbanken,
 Benutzerverzeichnisse, MP3 Archive, grosse Spoolverzeichnisse (News). Bei stark
 belasteten Systemen bietet der LVM zudem die Möglichkeit mit einem "Raid0"
 die Zugriffe auf mehrere Platten zu verteilen um performanter zu sein.
<sect1>Funktionsweise des LVM
<p>

Das Arbeiten mit LVM unterscheidet sich recht grundlegend von der Arbeit
 mit normalen Partionen. Versuchen Sie sich also etwas von Ihren vorhanden Vorstellungen
 vom Umgang mit Festplatten zu lösen.

Am Anfang steht natürlich auch beim LVM die real existierende Festplatte
 oder die Festplatten Partition. Sie wird mit Physical Volume (PV) bezeichnet.
 Diese wird zu Beginn in eine Volume Group (VG) aufgenommen, dies ist ein Pool
 des gesamten zur Verfügung stehenden Speicherplatzes. Aus diesem Pool werden
 nun logische Volumes (LV) nach Bedarf erzeugt. Das Betriebsystem greift nun
 auf diese logischen Partitionen (LV) anstelle der reellen Partitionen (PV)
 zu. Der LVM hat also eine zusätzliche Ebene zwischen der Festplatte und der
 Ein-/Ausgabe des Linux-Kernels geschaffen. Dies ermöglich die Definition von
 logischen Volumes, (fast) unabhängig von den zu Grunde liegenden physikalischen
 Volumes. Mehrere Platten können zu einer grossen logischen Partition zusammen
 gefasst werden. 

Der LVM erlaubt wesentliche Eingriffe, wie hinzufügen von PVs und erweitern
 von LVs sogar im laufenden System. Dies setzt natürlich "Hot-Swapable" Hardware
 voraus, die für den Ein- und Ausbau in einem laufenden System konzipiert wurde.

Beschäftigen Sie sich einen Augenblick mit den Abkürzungen der verschiedenen
 Objekte. Ein Grossteil der Dokumentation, sowie der Rest dieses HOWTOs, verwendet
 diese Kürzel. Ausserdem basieren fast alle Programmnamen auf diesen Abkürzungen.
<sect1>Abkürzungen
<p>
<itemize>
<item>LVM: Logical Volume Manager 
<item>PV: Physical Volume = Festplatte oder Partition
<item>PE: Physical Extend = Belegungseinheit des PV, Block
<item>VG: Volume Group
<item>LV: Logical Volume = virtuelle Partition ( /dev/VolumeGroupName/LogicalVolumeName ); 
  Dies ist die logische Einheit, die Träger des Filesystems ist.
<item>LE: Logical Extend = Belegungseinheit des LV, Block
<item>VGDA: Volume Group Descriptor Area = reservierter Bereich auf dem PV für
 die Datenbank mit den PE &lt;==&gt; LE Zuordnungen.
</itemize>
<sect1>Warnung
<p>

LVM ist mittlerweile ziemlich stabil, allerdings sollten Sie sich darüber
 im Klaren sein, dass Arbeiten an der Festplattenaufteilung und am Filesystem
 immer mit einem erhöhten Risiko verbunden sind. Daten können verlorengehen
 durch Programm- und Betriebssystemabstürze, Stromausfälle und last but not
 least durch Fehlbedienung von Kommandos. Also: Sichern Sie Ihre Daten bevor
 Sie mit LVM arbeiten oder Volumes umkonfigurieren.
<sect1>Haftung 
<p>

Für die hier vorgestellten Verfahren übernehme ich keine Haftung. Arbeiten
 Sie nie ohne Backup!
<sect1>Copyright 
<p>

Dieses Dokument ist urheberrechtlich geschützt. Das Copyright liegt bei
 Richard Heider.

Das Dokument darf gemäß der GNU 
<url url="http://www.tu-harburg.de/dlhp/HOWTO/DE-GPL.html" name="General Public License ">verbreitet
 werden. Insbesondere bedeutet dieses, daß der Text sowohl über elektronische
 wie auch physikalische Medien ohne Zahlung von Lizenzgebühren verbreitet werden
 darf, solange dieser Copyright Hinweis nicht entfernt wird. Eine kommerzielle
 Verbreitung ist erlaubt und ausdrücklich erwünscht. Bei einer Publikation in
 Papierform ist das Deutsche Linux HOWTO Projekt hierüber zu informieren. 
<sect>Erstinstallation von LVM - ein einfaches Scenario
<p>

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. 
<sect1>Annahmen
<p>

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 &gt;= 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:
<itemize>
<item>Da wir die LVs erst unter dem laufenden System einrichten können, installieren
 wir zuerst ein möglichst minimales Linux.
<item>Unter diesem System initialisieren wir den LVM, die Logischen Volumes und
 legen die neuen Filesysteme an.
<item>Die bestehenden Verzeichnisse /usr /opt und /home werden auf die neuen
 Filesysteme verschoben.
<item>Das System wird so eingerichtet, dass die neuen Filesysteme automatisch
 beim Systemstart gemountet werden.
<item>Die Linux Installation kann jetzt auf ein vollständiges System erweitert
 werden.
</itemize>
<sect1>Planung der Filesysteme
<p>

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:
</p>

<p>
<table>
<tabular ca="lrl">
Filesystem|Grösse|Mountpoint@<hline>
/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)@
</tabular>
<caption>Filesystemplanung</caption>
</table>
</p>

<p>
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.
<sect1>Vorgehensweise
<p>

Im Beispiel werden nur die relevanten Optionen der Befehle erwähnt. Für
 die komplette Syntax lesen Sie bitte die Man Pages.
<sect2>Betriebsystem Installation und Partitionieren der Festplatten.
<p>

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:
</p>

<p>
<table>
<tabular ca="llrl">
Platte|Partition|Grösse|Id/Typ der Partition@<hline>
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@
</tabular>
<caption>Partitionsaufteilung</caption>
</table>
</p>

<sect2>Aktivieren des LVM
<p>

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.
<verb>vgscan
</verb>
<sect2>Physical Volumes anlegen
<p>

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:
<verb>pvcreate /dev/hda3
pvcreate /dev/hdb2
</verb>
<sect2>Volume Groups anlegen
<p>

Jetzt legen wir mit 'vgcreate &lt;VolumeGroup&gt; &lt;Partition(en)&gt;'
 unsere Volume Group an und nennen sie "vg01":
<verb>vgcreate vg01 /dev/hda3 /dev/hdb2
</verb>
<sect2>Logische Volumes anlegen. 
<p>

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&lt;Grösse&gt;
 -n &lt;LogicalVolumeName&gt; &lt;Volume Group&gt;).
<verb>lvcreate -L 1500M -n lvol1 vg01 
lvcreate -L 500M -n lvol2 vg01
lvcreate -L 10G -n lvol3 vg01
</verb>
<sect2>Filesysteme anlegen
<p>

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&lsqb;a-z&rsqb;* oder /dev/hd&lsqb;a-z&rsqb;* bezeichnet; Logische Volumes
 werden mit /dev/VolumeGroupName/LogicalVolumeName angesprochen.
Mit mke2fs
 &lt;LogicalVolumeName&gt; legen wir die ext2 Filesysteme an:
<verb>mke2fs /dev/vg01/lvol1
mke2fs /dev/vg01/lvol2
mke2fs /dev/vg01/lvol3
</verb>
<sect2>Filesysteme verwenden 
<p>

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. 
<verb>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
</verb>
<sect2>fstab anpassen
<p>

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:
<verb>/dev/vg01/lvol1 /usr ext2 defaults 1 2
/dev/vg01/lvol2 /opt ext2 defaults 1 2
/dev/vg01/lvol3 /home ext2 defaults 1 2
</verb>
<sect2>Programmpackete nachinstallieren
<p>

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.
<sect>Arbeiten mit LVM
<p>

Hier werden die wesentlichen Administationsvorgänge beschrieben.
<sect1>Booten
<p>

Eventuell muss das LVM-Modul geladen werden. Normalerweise können die gespeicherte
 LVM-Konfiguration in den Dateien/Verzeichnissen /etc/lvmtab, /etc/lvmconf,
 /etc/lvmtab.d wieder benutzt werden: 
<verb>vgchange -a y
</verb>

Sollte die gespeicherten Daten korrupt oder nicht vorhanden sein (z.B.
 weil eine Platte in ein fremdes System eingebaut wird) können alle potentiellen
 PV's (alle SCSI- und IDE-Platten, Loop-Devices, etc.) gescannt werden. 
<verb>vgscan -v
</verb>

Es ist Zweckmässig vgscan jedesmal beim booten, vor dem Arbeiten mit logischen
 Volumes automatisch zu starten. Danach ebenfalls mit vgchange -a y aktivieren.
 
<sect1>Shutdown
<p>

LVM muß sauber abgeschlossen werden, damit ein Wiederherstellen später
 möglich ist. Zuerst sind alle Filesysteme auf den LV's zu unmounten. Es dürfen
 keine geöffneten LV (gemountete Filesysteme, Swap etc.) existieren. Danach
 die VG als Gesamtes deaktivieren: 
<verb>vgchange -a n
</verb>
<sect1>Anlegen einer Volume Group (VG)
<p>

Einer Volume Group muß beim Anlegen mindestens ein PV zugefügt werden,
 weitere können später hinzugefügt werden. Anlegen einer VG mit dem Namen vg00:
 
<verb>vgcreate -v vg00 /dev/loop7
</verb>
<sect1>Umbenennen einer Volume Group (VG)
<p>

Die VG 'vg00' wird zu 'myvg' umbenannt. Dazu muss die VG erst deaktiviert
 werden. Nur VGs, die keine offenen LVs haben können deaktiviert werden. Nach
 dem Umbenennen muss die VG wieder aktiviert werden.
<verb>vgchange -a n vg00
vgrename vg00 myvg
vgchange -a y myvg
</verb>
<sect1>Vorbereiten der Physical Volume (PV)
<p>

Ein Physical Volume (PV) kann eine Festplatten-Partition, eine gesamte
 Platte, ein Loop-Device, ein MD-Device oder eine beliebiges anderes Block-Device
 sein. Das PV muß vor Benutzung durch LVM formatiert werden, d.h. gewisse Datenstrukturen
 werden darin abgelegt. Wenn eine Partition benutzt wird, muß der Partitionstyp
 mit fdisk auf 0x8E gesetzt werden. Dies dient lediglich dazu, daß die Partition
 nicht über andere Wege (z.B. Filesystem) benutzt wird. Aufruf von pvcreate:
 
<verb>pvcreate /dev/loop7
</verb>

Falls sich dort schon ein PV konfiguriert wurde, zum Überschreiben ev.
 Parameter -f oder -ff angeben. 
<sect1>Hinzufügen eines PV zu einer VG
<p>

Erstellen Sie die Partition und setzen Sie die Partions ID auf 0x8e um
 sie als LVM Partition zu kennzeichnen. Beispiel für "sda1" und "vg01":
<verb>&lsqb;FDISK BEISPIEL FEHLT NOCH&rsqb;
pvcreate /dev/sda1
vgextend vg01
 /dev/sda1
</verb>

Die erste Partition wird mit 'vgcreate vg01 /dev/sda1' hinzugefügt, da
 die Volume Group dann ja noch nicht existiert.
<sect1>Entfernen eines PV aus einer VG
<p>
<verb>pvmove /dev/sdx1
vgreduce vg0x /dev/sdx1
</verb>
<sect1>Verlagerung eines PV auf ein anderes PV
<p>

Manchmal ist es Notwendig, die Daten von ein einem physikalischen Volume
 auf ein anderes zu Verschieben. Gründe dafür können sein, 
<itemize>
<item>dass Sie eine auf Loop-Devices basierende Testkonfiguration in eine performantere
 Konfiguration umwandeln wollen, in der die PVs auf eigenen Platten liegen.
 
<item>dass Sie eine Festplatte ausbauen oder durch eine neuere (grössere) ersetzen
 wollen.
</itemize>

Vorraussetzung für die Verlaferung der PEs eines PV auf ein anderes ist,
 dass auf den verbleibenden PVs genug Platz vorhanden ist, um die gesamten Daten
 aufnehmen zu können. Die Verlagerung kann im Online Betrieb erfolgen. (Vertrauen
 ist gut; Ein Backup ist besser :-)

Beispiel 1: hda1 in vg0x soll "frei gemacht" werden, damit die Festplatte
 ausgebaut werden kann:
<verb>pvmove /dev/hda1
vgreduce vg0x /dev/hda1
</verb>

Beispiel2: Das PV '/dev/loop7' in VG 'vg00' soll von dem jetzigen provisorischen
 Loop-Device auf eine neue Partition ('/dev/hda1') verschoben werden. Dies geschieht
 im Online-Betrieb. 
<verb>(Ggf. mit fdisk Partition-ID von hda1 auf 0xfe setzen) 
pvcreate -v /dev/hda1
vgextend -v vg00 /dev/hda1
pvmove -v /dev/loop7 /dev/hda1
vgreduce -v vg00 /dev/loop7
</verb>
<sect1>Anlegen und Benutzen eines Logical Volume (LV)
<p>

In einer gegebenen VG können mehrere Logical Volume's (LV) angelegt werden.
 Ohne spezielle Parameter wird irgendwo freier Platz belegt. Normalerweise werden
 die PV's nacheinander, möglichst aneinanderhängend aufgefüllt. Wird kein Name
 für das LV angegeben, vergibt LVM automatisch einen (lvol1, lvol2, ...). Die
 Größe der LV wird durch -L gefolgt von einer Zahl mit dem Zusatz K, M oder
 G (für Kbyte, MByte, GByte) angegeben. 

Beispiel: LV mit dem Namen test mit 10 MB in der VG vg00: 
<verb>lvcreate -v  -L10M -n test vg00
</verb>

LVM legt damit ein Block-Device /dev/vg00/test an, auf das jetzt normal
 zugegriffen werden kann: 
<verb>mkfs -t ext2 /dev/vg00/test 
mount /dev/vg00/test /tmp/lvmtest/mnt0
</verb>

(... und/oder fstab Eintrag)
<sect1>Vergrössern eines Logischen Volumes (LV)
<p>

Sie können ein LV /dev/test_vg/test_lv auf 1600MB erweitern, in dem Sie
 eine relative Grössenangabe verwenden
<verb>&dquot;lvextend -L+100 /dev/test_vg/test_lv&dquot;
</verb>

oder eine absolute Grössenangabe
<verb>&dquot;lvextend -L1600 /dev/test_vg/test_lv&dquot;
</verb>

Beispiel zusammen mit Erweiterung des Filesystems:
<verb>lvextend -L+3G /dev/vg01/lvol01
e2fsadm -L+3G /dev/vg01/lvol01
</verb>

Eventuell /var/state/nfs/devtab anpassen falls nfs freigabe bestand. (Warum???
 - Bitte um Input - richard)
<sect1>Verkleinern eines logischen Volumes (LV)
<p>

Das LV '/dev/test_vg/test_lv' soll um 700 LEs auf 900 LEs verkleinert werden.
 Die logical Extents können relativ angegeben werden: 
<verb>&dquot;lvreduce -l-700 /dev/test_vg/test_lv&dquot;
</verb>

oder die gewünschte Grösse kann in absoluten PEs angegeben werden:
<verb>&dquot;lvreduce -l900 /dev/test_vg/test_lv&dquot;
</verb>
<sect1>Umbenennen eines Logischen Volumes (LV)
<p>

Nur geschlossene LVs können umbenannt werden. Vergessen Sie nicht nach
 dem Umbennen ggf. Ihren Eintrag in '/etc/fstab' zu ändern.
<verb>&dquot;lvchange -an /dev/whatever/test_lv&dquot;
&dquot;lvrename  /dev/whatever/test_lv 
 /dev/whatever/whatvolume&dquot;
&dquot;lvchange -ay /dev/whatever/whatvolume&dquot;
</verb>

Alternativ kann folgender Aufruf von lvrename verwendet werden:
<verb>&dquot;lvrename  whatever test_lv whatvolume&dquot;
</verb>
<sect1>Anpassen der Grösse eine ext2 Filesystems
<p>

Wenn Sie das Tool resize2fs besitzen, können Sie ein LV mit ext2-Filesystem
 dynamisch vergrößern oder verkleinern, ohne die existierenden Daten auf dem
 Filesystem zu zerstören. Das Programm resize2fs gibt es bei 
<htmlurl url="http://www.powerquest.com/" name="www.powerquest.com">
<verb>e2fsadm -L+100 /dev/test_vg/another_test_lv

</verb>
<sect1>Anlegen eines Swap-Devices
<p>

Es soll ein 50 MB Volume in vg00 zur Verwendung als Swap Partition erzeugt
 und verwendet werden.
<verb>lvcreate -L50M -n swap1 vg00
mkswap /dev/vg00/swap1
swapon /dev/vg00/swap1
</verb>

Eintrag in /etc/fstab: 
<verb>/dev/vg00/swap1     swa     swap    defaults      0 0
</verb>
<sect1>Test Konfigurationen mit Loop-Devices
<p>

Will man LVM testen, ohne Umpartitionieren zu müssen, kann man Loop-Devices
 verwenden. Für den produktiven Einsatz empfiehlt sich das natürlich nicht.
 Mit Loop-Devices kann man auf normale Dateien im Filesystem wie auf ein Block-Device
 zugreifen. Siehe 'man losetup'. Anmerkung: 
<itemize>
<item>LVM erkennt anscheinend nur /dev/loop7 .
<item>Eine Volume-Group (VG) muß mindestens 20 MB groß sein.
</itemize>

Einrichtung: 

Datei in bestimmter Größe anlegen: 
<verb>dd if=/dev/zero of=/tmp/lvmtest/loop bs=1024 count=21000 
</verb>

Loop-Device konfigurieren: 
<verb>losetup /dev/loop7 /tmp/lvmtest/loop
</verb>

Jetzt kann man auf /dev/loop7 wie auf ein normales Block-Device zugreifen.
 Wird /dev/loop7 nicht mehr gebraucht, mit Loop-Device konfigurieren: 
<verb>losetup -d /dev/loop7 
</verb>

die Verbindung lösen; danach kann die Datei /tmp/lvmtest/loop gelöscht
 werden. 
<sect>komplexere Überlegungen und Konfigurationen
<p>
<sect1>Überlegungen zur Volumegroup
<p>
<quote>Dies sind einige Überlegungen warum man mehr als einer Volumegroup verwenden
 will und wie man sich seine Volume Groups organisiert. Auf vielen "einfachen"
 Servern wird es sinnvoll sein alle physikalischen Platten in eine Volume Group
 zu nehmen, vorallem, wenn Sie keine Verfügbarkeitsunterscheidung zwischen den
 Verzeichnissen treffen. Sinnvoll ist es sicher gesonderte Volume Groups anzulegen
 für "billigen" IDE Speicherplatz und "performanteren" SCSI Speicherplatz
 oder Speicherplatz auf einem (redundanten) Hardware RAID.
</quote>

Mehrere PVs in einer Volume Group erhöhen das statistische Ausfallrisiko.

Nur wenige oder sogar nur ein PV in einer VG schränken die Flexibilität
 in der Speicherzuordnung ein.

"Removable Disks" sind am besten in einer eigen Volume Group aufgehoben
 um den Im- und Export zu erleichtern. Hier sollten auch auf jedenfall sprechende
 VG Namen vergeben werden. Recht praktisch ist es auch, die Volume Group am
 Systemnamen anzulehnen, denn so kann man Namenskonflikte vermeiden, wenn z.B.
 die Platte von &dquot;kira&dquot; mal temporär an &dquot;dax&dquot; gehängt
 wird. Würden beide Systeme ihre erste Volume-Group vg00 nennen, wäre das nicht
 so einfach.

Die maximale Speichergrösse einer Volume Group ist abhängig von der Grösse
 der Physical Extents, die beim anlegen der Volume Group gesetzt wird. Diese
 Belegungseinheit gilt für alle Physikalischen Volumes der Volume Group.
<sect1>Booten von einem logical Volume
<p>

Linux benötigt zum booten mindestens ein boot volume, das nicht auf LVM
 basiert. (Für Details siehe Kapitel "Booten von einem logical Volume".) Es
 empfiehlt sich aber auch das root volume auf einer gewöhnlichen Partition zu
 haben.


Can i have my root filesystem in a logical volume? 

Yes you can. There's basic support since LVM 0.7 to create an initial ram
 disk containing the necessary executables, device specials etc. to switch to
 a logical volume containing a root filesystem. See script lvmcreate_initrd(8).
 

lvmcreate_initrd creates a new compressed initial  ramdisk

in /boot/initrd.gz.  The initial ramdisk contains all nec­

essary binaries, shared libraries and a  linuxrc  file  to

switch  to  a  logical  volume  based root filesystem.  To

build an initial ramdisk for a not running  but  generated

kernel add the KernelVersion parameter (for eg. 2.3.25) on

the command line.

The necessary actions to change your system into  a  &dquot;root

on logical volume&dquot; one are:

Create  a  small (&tilde;20MB) partition which is bios reachable

to hold the /boot filesystem (if you already have a  small

partition based root filesystem this can as well be used).

If you like to standalone boot from this partition in case of an emergency,
 copy all necessary binaries and libraries

to that filesystem as  well  and  create  a  corresponding

/etc/lilo.conf   entry.  In  order  to  be  able  to  edit

lilo.conf in case you booted standalone, you  should  move

/etc/lilo.conf  to  /boot/lilo.conf  and create a symbolic

link to it in /etc instead.  This is  not  needed  if  you

have  a  boot/root  floppy which contains the LVM binaries

and the library in addition.

Create all logical volumes you need (for  root,  usr,  opt

etc.), create filesystems in them, mount them and transfer

all files from the partition based  filesystems  into  the

logical volumes based ones.

You have to setup your /etc/lilo.conf with a boot configuration like:
<verb>image = /boot/vmlinuz 
initrd = /boot/initrd.gz
root = /dev/YourVG/YourRootLV
label
 = rootonlv
append = &dquot;ramdisk_size=8192&dquot;
</verb>

Replace  YourVG and YourRootLV by your actual volume group

and root logical volume names.  In addition to  that  your

/etc/fstab in your root logical volume has to contain:
<verb>/dev/YourVG/YourRootLV /     ext2   defaults   0   1
/dev/YourBootPartition       /boot ext2   defaults   0   2
/dev/YourVG/YourUsrLV        /usr  ext2   defaults   0   3
/dev/YourVG/YourOptLV        /opt  ext2   defaults   0   4
</verb>

etc. 

You  can  use  other  supported  filesystem  types as well

(reiserfs for eg.) in case you generated support for those

into your kernel.  Run lilo, reboot and try...

The  partitions  containing  the  former  /usr,  /opt etc.

filesystems can now be used as  physical  volumes.  pvcre­

ate(8) them and add them for eg. to YourVG.

lvcmcreate_initrd  return 0 for success. 1 is returned in

all other cases.

Mit etwas Mut und Pioniergeist, läßt sich sogar ein System zusammenstellen,
 dass /boot und die Root ebenfalls in logischen Volumes hält. Siehe dazu
<sect1>Ex- und importieren von VG's
<p>

Beispiel: Die VG 'tmpvg' wird auf ein anderes System übertragen. Dies bedeutet,
 dass z.B. eine externe Platte oder ein RAID an einem anderen Computer betrieben
 werden soll.
<verb>vgexport tmpvg
</verb>

Ab jetzt ist die VG tmpvg im System nicht mehr sichtbar. Man sollte sich
 vorher gemerkt haben, auf welchem Device sie vorhanden war! Auf dem neuen System,
 kann die VG (unter Angabe eines neuen Namens) aus dem Device importiert werden,
 im Beispiel als newvg von /dev/hdc1: 
<verb>vgimport newvg /dev/hdc1
</verb>
<sect1>LVM Stripe Sets
<p>
<sect2>Anlegen einer LV mit Stripes
<p>
<verb>vgextend vg00 /dev/loop7
lvcreate -i 2 -L20M -n striped vg00
</verb>
<sect2>Umwandeln eines non-striped LVM in ein striped LVM
<p>

Sie können lediglich ein Stripe Set anlegen und dann Ihre Daten von einem
 bestehenden LV dorthin verschieben. (Ist das richtig??? -richard)
<sect2>Mein ge-striped-es LV arbeitet extrem langsam.
<p>

Wenn Sie zwei oder mehr Physikalische Volumes (PVs) verwenden, die alle
 auf Partitionen auf der gleichen Festplatte basieren, dann werden Sie keine
 Performance Vorteile erzielen. Es ist zwar völlig zulässig mehere Partitionen
 der gleichen Platte als PVs zu verwenden, (this only makes sense for next free
 allocated logical volumes on those physical volumes). Bei IDE Platten bringen
 Stripe Sets nur bedingte Geschwindigkeitsvorteile, da auf Master und Slave
 Platte eines Adapters nicht parallel zugegriffen werden kann.
<sect2>Question about order of drives in a lvm volume 
<p>

I'm using quite a few ide-drives in a raid0 volume (hda -&gt; hdh) and
 I came to think of that it would be good to know in which order I added the
 drives to the volume in case I need to remove one from the volume, is there
 any way I can get the order in which the drives are placed in the raid0 volume?
 

(In a list like hda, hdc, hdb, hdg, ... etc) please try &dquot;lvdisplay
 -v /dev/YourVG/YourLV | less&dquot; and have a look at the information about
 distribution of the volume over the physical volumes. Tell me if that answers
 your question. BTW: if your RAID0 volume is spread over all the disks, you
 can't remove a disk because you can't remove a stripe without destroying the
 total volume.
<sect1>Spiegelung von LVM Volumes
<p>

LVM selbst unterstützt keine Spiegelung sondern kümmert sich nur um die
 dynamische Belegung des Speicherplatzes. Die Spiegelung von Logischen Volumes
 kann durch den Einsatz von RAID Hardware oder der Verwendung von MD, einem
 Software RAID, erreicht werden. Diese Trennung sorgt für eine einfachere und
 damit stabilere Systemarchitektur. Aus diesem Grund ist auch keine Integration
 der beiden Funktionen vorgesehen. MD erweitert den Kernel um die Möglichkeit
 der RAID 1, 4 und 5 Softwarespiegelung. LVM kann problemlos über MD eingesetzt
 werden. Alternativ kann sich der Einsatz von leichter zu Administrierender
 RAID Hardware anbieten. LVM erweitert die RAID Hardware so um die Flexibilität
 der dynamischen Speicherplatz Managments. (Siehe Kapitel "Referenzen" für
 Verweise auf RAID Literatur).
<sect1>Andere Filesysteme und LVM
<p>
<sect2>ReiserFS
<p>

Einige Benutzer setzen ReiserFS zusammen mit LVM produktiv ein. Generelle
 Unverträglichkeiten gibt es nicht.
<sect1>RAW Devices mit LVM
<p>
<sect2>Anlegen eines RAW devices
<p>
<sect1>LVM deaktivieren
<p>

http://sdb.suse.de/sdb/de/html/lvm.html

Bezieht sich auf SuSE Linux: Version 6.3

Symptom: Sie haben in YaST den Punkt &dquot;Logical Volume Manager konfigurieren&dquot;
 ausgewählt. Die darauf folgende Frage haben Sie mit &dquot;Nein&dquot; beantwortet.
 Jedoch sucht der LVM beim Booten immer nach Logical Volumes. 

Ursache: Ein Fehler sorgt dafür, daß auch beim Beantworten der obigen Frage
 mit &dquot;Nein&dquot; der LVM beim Booten gestartet wird. 

Lösung: Löschen Sie einfach die Datei /etc/lvmtab und das Verzeichnis /etc/lvmtab.d.
 Auf der Kommandozeile können Sie das als root folgendermaßen machen: 
<verb>rm -r /etc/lvmtab*
</verb>

Jetzt wird beim Booten nicht mehr nach Logical Volumes gesucht. 
<sect1>Mehrere (LVM) Partitionen auf einer Festplatte
<p>

Für Test- und Übungskonfigurationen können Sie mehr als eine LVM Partition
 auf einer Festplatte haben. Dies ist im Fall eines Stripe Sets aber nicht zu
 empfehlen, da Sie eine Performance Einbusse haben werden.
<sect1>ext2 Volumes Online vergrössern
<p>

Es gibt einen 
<url url="http://www-mddsp.enel.ucalgary.ca/People/adilger/online-ext2/" name="Kernel Patch">
 der die Erweiterung eines gemounteten und aktiven ext Volumes ermöglicht.
<sect1>Snapshots
<p>

Snapshots are virtual copies of logical volumes. Such a copy is read only

and doesn't change when you write to the cloned volume. This is often used
 for backups: If you backup a filesystem while it's in use, you may end up with
 an inconsistant or incomplete backup. (after you wrote the first half of your
 filesystem to tape, someone moves a file from the second half to the first
 one, so you miss it when you write the second half to tape, for example.) If
 you have snapshots, you create the snapshot at one moment and then write the
 (read only) snapshot to tape.

Support for multiple snapshot logical volumes per original logical volume
 to for eg. enable consistent online backups or recovery in filesystems and
 database systems.

(lvremove, lvcreate, lvchange,lvextend,lvreduce)
<verb>&dquot;lvcreate --size 100m --snapshot --name snap /dev/vg00/lvol1&dquot;
 
</verb>

creates a snapshot logical volume named /dev/vg00/snap wich gains access
 to the contents of /dev/vg00/lvol1 at snapshot logical volume creation time.
 

<verb>lvcreate
</verb>
<verb>        &lcub;-l/--extents LogicalExtentsNumber |
</verb>
<verb>        -L/--size LogicalVolumeSize&lsqb;kKmMgGtT&rsqb;&rcub;
</verb>
<verb>        &lsqb;-c/--chunksize ChunkSize&rsqb;
</verb>
<verb>        -s/--snapshot -n/--name SnapshotLogicalVolumeName
</verb>
<verb>        LogicalVolumePath &lsqb;PhysicalVolumePath...&rsqb;
</verb>

Die 'size' gibt dabei an, wieviel sich am Originalfilesystem ändern darf
 bevor der Snapshot unbrauchbar wird. Im Idealfall also die Size genausogroß
 wählen wie das Originalfilesystem. 

Im Augenblick sind die Snapshots unter LVM noch nicht beständig, d.h. sie
 überleben keinen Reboot oder eine Volumegroup Deaktivierung. Die Beständigkeit
 wird in einer der nächsten Versionen hinzugefügt.
<sect1>Austauschen einer defekten Festplatte
<p>
<sect>Installieren der Sourcen
<p>
<sect1>Patchen des Kernels
<p>
<sect1>Compilieren der LVM-Tools
<p>
<sect1>Benutzen des lvm-RPM 
<p>
<sect>Funktionsweise von LVM (detailiert)
<p>
<sect>Diagnose
<p>
<sect1>Was bedeuten die Ausgaben der einzelnen display Befehle?
<p>

pvdisplay -v , vgdisplay -v, lvdisplay -v, vgscan -v (vg database aktualisieren),
 lvscan -v, pvscan -v
<sect1>Warum kann ich keine Volume Group "mygroup" anlegen?
<p>

Mögliche Ursachen:
<itemize>
<item>Sie können keine Volume Group anlegen, derren Namen es schon gibt.
<item>Sie können augenblicklich nicht mehr als 99 Volume Groups anlegen.
<item>Sie können nur initialisierte Physical Volumes verwenden (siehe pvcreate(8).
</itemize>
<sect1>Warum funktioniert das Anlegen eines Physikalischen Volumes (PV) mit pvcreate(8)
 nicht?
<p>

Haben Sie beim anlegen der Partition mit fdisk(8) die Id der Partition
 auf 0x8e gesetzt? 

(Ältere Version von LVM haben die Id 0xfe verwendet).

Eventuell meldet pvcreate(8), dass das PV bereits initalisiert wurde. Sie
 können die Operation erzwingen, indem Sie die Option &dquot;pvcreate -f&lsqb;f&rsqb;
 ...&dquot; verwenden. (Vorsicht: Verwenden Sie dies nicht bei einem Physikal
 Volume, dass zu einer anderen Volume Group gehört!)
<sect1>Warum kann ich ein Logisches Volume (LV) nicht erweitern?
<p>

Your volume group is full or you've already reached the maximum logical
 volume size in that volume group. Logical volume size is limited by the size
 of the physical extents times their maximum amount, which only can be set at
 volume group creation time. 

The default physical extent size is 4MB which limits ;-) logical volumes
 to a maximum of 256 Gigabyte (see vgcreate(8), vgdisplay(8)). If your volume
 group isn't full or you didn't reach the current logical volume size limit,
 your logical volume may have striped or contiguous allocation policy. Have
 a look at the physical volumes with vgdisplay or pvdisplay(8) to figure out,
 if there are not enough free (contiguous) physical extents. 
<sect1>Ich kann ein oder mehrere Logische Volumes nicht von einem Physikalischen
 Volume mit pvmove(8) wegschieben. Warum?
<p>

Look at the free space on all destination disks you want to use (or which
 are implicit used) AND at the attributes of the logical volumes to be moved.
 

You can't move a contiguous logical volume when there isn't enough free
 contiguous space on any destination disk. In this case you can think about
 changing from contiguous allocation policy to next free and do the attribute
 change with lvchange(8). 

You can't move a striped logical volume either, if there isn't enough space
 for the complete stripe on any destination physical volume. You can't move
 to physical volumes which are NOT allocatable. Think about changing this with
 pvchange(8). 
<sect1>Warum kann ich eine Volume Group / ein Logisches Volume nicht umbenennen?
<p>

Volume Groups und/oder Logische Volumes müssen vor dem Umbennen deaktiviert
 werden. (siehe auch lvrename(8), vgrename(8)). 
<sect1>Während eines Systemabsturzes lief gerade ein LVM Befehl. Was nun ...?
<p>

Bring your system back online and look at the volume group backup files
 in /etc/lvmconf. There's at least one called /etc/lvmconf/VolumeGroupName.conf
 and possible more in the backup history called /etc/lvmconf/VolumeGroupName.conf.*.old.
 You can use these backup files to bring the configuration back to the one before
 the crash (see vgcfgrestore(8)). 
<sect1>Warum sind Logische Volumes auf eine Grösse von 256 GB beschränkt?
<p>

This is NO absolute limit but it depends on the physical extent size you
 configured at volume group creation time. Please use option -s of the vgcreate
 command to give a larger physical extent size. For example with a physical
 extent size of 524288 KB (512 MB) you are able to map a logical volume of 32
 Terabyte. Remember that current Linux kernels are limited to 1 Terabyte. 
<sect1>Warum kann ich meine Volume Group VGxy nicht aufteilen?
<p>

(Why can't i split my volume group my_vg? ) The physical volumes you want
 to split of into another volume group may NOT have logical extents of logical
 volumes staying in the original volume group you started with. Please use pvmove
 to seperate the logical volumes. 
<sect1>Warum kann ich meine zwei VGs VGx und VGy nicht zusammenführen (mergen)?
<p>

(Why can't i merge my two volume groups my_vg1 and my_vg2? )

A merged volume group can't go beyond the physical or logical volume limits
 of the destination volume group. This means for eg. that you can't merge my_vg1
 with 20 logical volumes and my_vg2 with 30 logical volumes getting my_vg1,
 if my_vg1 has a 31 logical volume limit. You are only able to merge (up to
 now) volume groups with equal physical extent sizes. 
<sect1>Wie kann zugriffs-intensive Teile eines LV auf ein anderes Physikalisches
 Volume verschieben?
<p>

(How can i move parts of my logical volume with very intensive i/o to a
 different physical volume? ) Please look at pvmove(8) and use the logical extent
 syntax to do the job. 
<sect1>Ich kann ein LV nicht erstellen und vgdisplay verweisst auf ein Limit von
 256 LVs ... 
<p>

... es handelt sich aber erst um mein 211tes Logisches Volume. Was ist
 das Problem?

Das Maximum von 256 Logischen Volumes (LV) bezieht sich auf die LVs aller
 Volume Groups (VG). Sie müssen also eventuell LVs in anderen VGs löschen, bevor
 Sie ihr neue LV anlegen können. 
<sect>Referenz
<p>
<sect1>Kommandos-Übersicht
<p>

Prefix:
<itemize>
<item>pv, vg, lv
</itemize>

Befehle:
<itemize>
<item>&lt;prefix&gt;create, &lt;prefix&gt;remove, &lt;prefix&gt;display, &lt;prefix&gt;change
</itemize>

Schalter:
<itemize>
<item>-v ( = verbose = ausführliche Ausgabe)
</itemize>

Exitcode:
<itemize>
<item>0 OK
<item>&gt;0 Fehler
</itemize>

Kommandos
<itemize>
<item>pvcreate: Anlegen (formatieren) eines PV 
<item>vgcreate: Anlegen einer VG 
<item>lvcreate: Anlegen eines LV 
<item>pvdisplay: Anzeige einer PV, Option -v 
<item>vgdisplay: Anzeige einer VG, Option -v 
<item>lvdisplay: Anzeige einer LV, Option -v 
<item>pvmove: Verschieben der PE von einer PV zu einer anderen innerhalb einer
 VG 
<item>lvextend: eine LV in der Größe ändern (macht beim Filesystem noch keinen
 Sinn)
<item>Shutdown &amp; Boot 
<item>vgchange -a n: Deaktivieren von VG's 
<item>vgscan: Suche alle potentiellen Devices nach VG's ab 
<item>vgchange -a y: Aktivieren von VG's 
<item>vgexport: Eine VG aus dem System entfernen (ohne Löschen) 
<item>vgimport: Eine exportierte VG im System einbinden
</itemize>
<sect1>deutsche und englische Version des Howtos
<p>

Die deutsche Version des "LVM Howto" und der englische "Beginners Guide
 to LVM" existieren als unabhängige Howtos, die allerdings immer wieder aneinander
 angeglichen werden. Wir haben diese Arbeitsweise der "Übersetzung in eine
 Richtung" vorgezogen, damit sich deutschsprachige LVM User leichter einbringen
 können. Dies hat allerdings zur Folge, dass die Inhalte der beiden Dokumente
 abweichen können.

Die aktuellste Version dieses Howtos finden Sie unter 
<htmlurl url="http://litefaden.com/lite00/lvm/" name="http://litefaden.com/lite00/lvm/">.
<sect1>Quellen
<p>
<itemize>
<item>'man lvm' und man pages der einzelnen Befehle
<item><url url="http://linux.msede.com/lvm/ " name="LVM Homepage">
<item>
<url url="http://linux.msede.com/lvm/mlist/archive/" name="Archiv der LVM Mailing Liste ">
<item>
<url url="http://sdb.suse.de/sdb/de/html/keylist.LVM.html" name="SuSE Support Datenbank: Stichwort LVM ">
<item>
<url url="ftp://linux.msede.com/lvm/howto/" name="Beginners Guide to LVM (en) von Peter Wüstefeld">
<item>
<url url="http://www.linuxfocus.org/Deutsch/January1999/article21.html" name="Installation und Konfiguration eines RAID Systemes">
<item>
<url url="http://www.kinderwunsch.net/marvelinux/DE-Software-RAID-HowTo/DE-Software-RAID-HOWTO.html" name="Installation und Konfiguration eines RAID Systemes">
<item>
<url url="http://linas.org/linux/Software-RAID/Software-RAID.html (en)" name="MD Software-RAID HOWTO englisch">
<item>
<url url="http://devlinux.com/projects/reiserfs/" name="Homepage ReiserFS">
</itemize>
<sect1>Credits
<p>

Heinz Mauelshagen &lt;linux-lvm@ez-darmstadt.telekom.de&gt; für LVM.

Klaus Franken &lt;Klaus.Franken@fth2.siemens.de&gt; für Howto Version 0.2,
 die Basis für die Arbeit an diesem Howto.

Peter Wüstefeld &lt;Peter.Wuestefeld@resnova.de&gt;
<sect2>Danke für den Input von ...
<p>
<itemize>
<item>Jan Niehusmann &lt;list039@gondor.com&gt;
</itemize>
<sect1>Author und Feedback
<p>

Feedback, Ergänzungen, neue Kapitel , Übersetzungen von Textstellen bitte
 an Richard Heider


<htmlurl url="mailto:lvm-howto@litefaden.com" name="&lt;lvm-howto@litefaden.com&gt; ">senden.
 Bei Anmerkungen und Fehlerverbesserungen bitte Howto-Version und Kapitel angeben.

$Id: lvm-howto-de.sgml,v 1.1 2004/02/16 14:41:31 agk Exp $

</article>
