Good to Know Database

CentOS 5: Logical Volume Manager (LVM)


1. Einleitung

Die Abkürzung LVM steht für Logical Volume Manager. Mit dem LVM können mehrere Physical Volumes (Festplatten) zu einer Volume Group zusammengefasst werden in welcher dann die Logical Volumes (Partitionen) erstellt werden.

Eine Volume Group kann jederzeit durch zusätzliche Physical Volumes erweitert und auch verkleinert werden. Auch die Größe der Logical Volumes kann dynamisch geändert werden (je nach verwendetem Dateisystem).

2. Physical Volume einrichten

Als ersten Schritt müssen Sie auf den Festplatten Partitionen erstellen welche die einzelnen Physical Volumes darstellen. Dazu starten Sie fdisk und geben die Festplatte an auf welcher Sie die Partition erstellen wollen.

Hinweis: Falls Sie einen Datenträger mit mehr als 2TB partitionieren wollen, müssen Sie parted anstelle von fdisk einsetzen. Lesen Sie dazu die Anleitung Datenträger mit mehr als 2TB für LVM partitionieren.

[root@centos5 ~]# fdisk /dev/sdb

Legen Sie wie folgt eine neue primäre Partition an und ändern die Partitions-ID auf Linux LVM.

Die Anzahl der Zylinder für diese Platte ist auf 91201 gesetzt.
Daran ist nichts verkehrt, aber das ist größer als 1024 und kann
in bestimmten Konfigurationen Probleme hervorrufen mit:
1) Software, die zum Bootzeitpunkt läuft (z. B. ältere LILO-Versionen)
2) Boot- und Partitionierungssoftware anderer Betriebssysteme
   (z. B. DOS FDISK, OS/2 FDISK)

Befehl (m für Hilfe): n
Befehl  Aktion
   e      Erweiterte
   p      Primäre Partition (1-4)
p
Partitionsnummer (1-4): 1
Erster Zylinder (1-91201, Vorgabe: 1):
Benutze den Standardwert 1
Letzter Zylinder oder +Größe, +GrößeK oder +GrößeM (1-91201, Vorgabe: 91201):
Benutze den Standardwert 91201

Befehl (m für Hilfe): t
Partition 1 ausgewählt
Hex code (L um eine Liste anzuzeigen): 8e
Der Dateisystemtyp der Partition 1 ist nun 8e (Linux LVM)

Befehl (m für Hilfe): p

Platte /dev/sdb: 750.1 GByte, 750156374016 Byte
255 heads, 63 sectors/track, 91201 cylinders
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1               1       91201   732572001   8e  Linux LVM

Befehl (m für Hilfe): w
Die Partitionstabelle wurde verändert!

Rufe ioctl() um Partitionstabelle neu einzulesen.
Synchronisiere Platten.

Sollten Sie mehrere Festplatten zusammenschließen wollen, dann wiederholen Sie diese Schritte für jede weitere HDD.

Aus den erstellten Partitionen werden nun mit pvcreate die Physical Volumes erstellt.

[root@centos5 ~]# pvcreate /dev/sdb1

Wenn Sie diesen Befehl nicht für jede Partition wiederholen wollen, können Sie auch alle gewünschten Partitionen auf einmal angeben.

[root@centos5 ~]# pvcreate /dev/sdb1 /dev/sdc1

3. Physical Volume anzeigen

Wenn Sie überprüfen wollen welche Physical Volumes in Ihrem System existieren, können Sie diese mit dem folgenden Befehl suchen und anzeigen lassen.

[root@centos5 ~]# pvscan

Eine Statistik zu den Physical Volumes können Sie sich durch pvs anzeigen lassen.

[root@centos5 ~]# pvs

Nähere Details zu einem Physical Volume können Sie mit dem folgenden Befehl anzeigen lassen.

[root@centos5 ~]# pvdisplay /dev/sdb1

4. Volume Group einrichten

Nachdem die Physical Volumes erstellt wurden, können Sie diese zu einer Volume Group zusammenfassen. Dazu wird der Befehl vgcreate verwendet welchem ein Name für die Volume Group und die einzelnen Physical Volumes übergeben werden.

[root@centos5 ~]# vgcreate VolGroup00 /dev/sdb1 /dev/sdc1

5. Volume Group anzeigen

Wie bei den Physical Volumes könne Sie auch hier überprüfen welche Volume Groups in Ihrem System existieren.

[root@centos5 ~]# vgscan

Eine Statistik zu den Volume Groups können Sie sich durch vgs anzeigen lassen.

[root@centos5 ~]# vgs

Details zu einer Volume Group können Sie mit vgdisplay anzeigen.

[root@centos5 ~]# vgdisplay VolGroup00

6. Logical Volume einrichten

In der soeben erstellten Volume Group können Sie jetzt ein oder mehrere Logical Volumes erstellen. Dem Befehl lvcreate müssen Sie dazu einen Namen für das Logical Volume, die gewünschte Größe und die Volume Group in welcher das Logical Volume erstellt werden soll angeben.

[root@centos5 ~]# lvcreate -n LogVol00 -L 10G VolGroup00

Damit Sie Dateien auf dieses Logical Volume speichern können, müssen Sie noch ein Dateisystem anlegen. Wenn Sie die Größe des Logical Volumes nachträglich ändern wollen, sollten Sie ext2 oder ext3 als Dateisystem verwenden.

[root@centos5 ~]# mkfs -t ext3 /dev/VolGroup00/LogVol00

Sobald das Dateisystem angelegt wurde, können Sie das Logical Volume mounten.

[root@centos5 ~]# mount /dev/VolGroup00/LogVol00 /mnt

7. Logical Volume anzeigen

Die Logical Volumes in Ihrem System können Sie mit dem folgenden Befehl suchen und anzeigen lassen.

[root@centos5 ~]# lvscan

Die Statistik zu den Logical Volumes können Sie sich durch lvs anzeigen lassen.

[root@centos5 ~]# lvs

Weitere Details zu einem Logical Volume zeigt Ihnen der folgende Befehl.

[root@centos5 ~]# lvdisplay /dev/VolGroup00/LogVol00

8. Logical Volume vergrößern

Wie bereits erwähnt, kann ein Logical Volume nachträglich vergrößert und verkleinert werden. Um ein Logical Volume zu vergrößern müssen Sie dieses zuerst aus der Verzeichnisstruktur entfernen.

[root@centos5 ~]# umount /data

Anschließend vergrößern Sie das Logical Volume mit lvextend. Als Option müssen Sie die neue Größe und den Namen des Logical Volumes angeben. Mit dem folgenden Befehl wird das erstellte Logical Volume mit 10GB auf 20GB vergrößert.

[root@centos5 ~]# lvextend -L 20G /dev/VolGroup00/LogVol00

Bevor Sie das Dateisystem vergrößern, sollten Sie dieses mit e2fsck auf Fehler überprüfen.

[root@centos5 ~]# e2fsck -f /dev/VolGroup00/LogVol00

Das Dateisystem wird jetzt noch mit resize2fs an die neue Größe der virtuellen Partition angepasst.

[root@centos5 ~]# resize2fs /dev/VolGroup00/LogVol00

Sobald der Vorgang abgeschlossen wurde, können Sie das Logical Volume wieder mounten.

[root@centos5 ~]# mount -t ext3 /dev/VolGroup00/LogVol00 /mnt

9. Logical Volume verkleinern

Die Vorgehensweise beim Verkleinern eines Logical Volumes ist sehr ähnlich wie beim Vergrößern. Allerdings müssen Sie hier zuerst das Dateisystem und erst danach das Logical Volume verkleinern.

Bevor Sie damit beginnen, müssen Sie das Dateisystem unmounten.

[root@centos5 ~]# umount /data

Danach sollten Sie das Dateisystem auf eventuelle Fehler überprüfen.

[root@centos5 ~]# e2fsck -f /dev/VolGroup00/LogVol00

Mit dem Befehl resize2fs wird die Größe des Dateisystems geändert. Hier müssen Sie aber zusätzlich die neue Größe des Dateisystems angeben.

[root@centos5 ~]# resize2fs /dev/VolGroup00/LogVol00 10G

Anschließend wird noch das Logical Volume verkleinert.

[root@centos5 ~]# lvreduce -L 10G /dev/VolGroup00/LogVol00

Hinweis: Das Logical Volume darf nicht kleiner sein als das Dateisystem da es sonst zu Datenverlust kommt.

Nachdem das Logical Volume verkleinert wurde, können Sie dieses wieder mounten.

[root@centos5 ~]# mount -t ext3 /dev/VolGroup00/LogVol00 /data

10. Logical Volume umbenennen

Mit dem Befehl lvrename können Sie ein bestehendes Logical Volume umbenennen.

[root@centos5 ~]# lvrename /dev/VolGroup00/LogVol00 /dev/VolGroup00/RenamedLogVol00

Alternativ zu dieser ausführlichen Schreibweise können Sie auch die folgende Syntax verwenden.

[root@centos5 ~]# lvrename VolGroup00 LogVol00 RenamedLogVol00

11. Logical Volume entfernen

Ein Logical Volume können Sie mit lvremove löschen. Als Parameter muss nur der Logical Volume Pfad angegeben werden.

[root@centos5 ~]# lvremove VolGroup00/LogVol00

12. Volume Group erweitern

Mit vgextend können auch nachträglich weitere Physical Volumes zu einer bestehenden Volume Group hinzugefügt werden.

[root@centos5 ~]# vgextend VolGroup00 /dev/sdd1

13. Volume Group verkleinern

Wenn Sie ein Physical Volume aus einer Volume Group entfernen wollen, müssen Sie zuerst die Logical Volumes die sich auf dieser befinden auslagern oder löschen. Mit pvmove werden alle Logical Volumes einer Festplatte entweder auf eine neue Festplatte in der gleichen Volume Group übertragen oder auf den freien Speicherplatz innerhalb der ganzen Volume Group verteilt.

Mit dem folgenden Befehl wird der Inhalt von /dev/sdc1 auf den freien Bereich innerhalb der Volume Group verteilt.

[root@centos5 ~]# pvmove /dev/sdc1

Wenn Sie eine neue Festplatte in die Volume Group eingebunden haben, können Sie die betroffenen Logical Volumes direkt auf das neue Physical Volume verschieben.

[root@centos5 ~]# pvmove /dev/sdc1 /dev/sdd1

Nachdem Sie das Physical Volume geleert haben, können Sie dieses wie folgt aus der Volume Group entfernen.

[root@centos5 ~]# vgreduce VolGroup00 /dev/sdc1

14. Volume Group umbenennen

Bevor Sie eine Volume Group umbenennen können, müssen Sie alle Logical Volumes in der Volume Group deaktivieren. Dazu rufen Sie für jedes Logical Volume in der Volume Group den folgenden Befehl auf.

[root@centos5 ~]# lvchange -an /dev/VolGroup00/LogVol00

Anschließend wird die Volume Group wie folgt umbenannt.

[root@centos5 ~]# vgrename /dev/VolGroup00 /dev/RenamedVolGroup00

Die folgende alternative Syntax führt zum selben Ergebnis.

[root@centos5 ~]# vgrename VolGroup00 RenamedVolGroup00

Nachdem die Volume Group umbenannt wurde, müssen Sie die deaktivierten Logical Volumes wieder aktivieren.

[root@centos5 ~]# lvchange -ay /dev/VolGroup00/LogVol00

15. Volume Group entfernen

Mit vgremove können Sie eine ganze Volume Group entfernen. Dazu müssen Sie nur den Namen der Volume Group angeben.

[root@centos5 ~]# vgremove VolGroup00

16. Physical Volume entfernen

Ein freies Physical Volume wird mit pvremove entfernt.

[root@centos5 ~]# pvremove /dev/sdc1

Nachdem das Physical Volume entfernt wurde, können Sie gegebenenfalls die Partition löschen und die Festplatte aus dem System entfernen.


Dieser Eintrag wurde am 30.07.2007 erstellt und zuletzt am 24.01.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_574.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer