GästebuchIhr Eintrag in unser Gästebuch KontaktNehmen Sie Kontakt mit den Autoren auf ArchivAlle Unixwerk- Artikel seit 2003
11. August 2004

LVM: Volumegroup-Migration auf eine größere Festplatte

Inhalt

  1. Partitionierung (fdisk)
  2. Backup der LVM Metadaten (vgcfgbackup)
  3. Physical Volume erstellen (pvcreate)
  4. Erweiterung des Volumes (vgextend)
  5. Verschieben der Daten auf die neue Festplatte (pvmove)
  6. Entfernen der alten Festplatte aus dem LVM (vgreduce)

Wird auf einem System der Festplattenplatz knapp kann man, so man LVM nutzt, einfach eine weitere Festplatte in das System einbauen. Diese Festplatte wird dann als PhysicalVolume dem LVM hinzugefügt, somit steht dann der neue Plattenplatz allen Volumes zur Verfügung.
Sind aber keine weiteren Einschübe für Festplatten auf dem System vorhanden, muss mindestens eine der derzeitigen Festplatten durch eine größere ersetzt werden.
Dieses Dokument beschreibt die Migration einer Volumegroup (VG) auf eine andere Festplatte.

1. Partitionierung (fdisk)

Nach dem Einbau der neuen Festplatte sollte diese zunächst partitioniert werden. Dies ist, soll die komplette Festplatte in den LVM integriert werden, nicht unbedingt nötig solle aber getan werden Zitat meines Kollegen: "Damit irgendwelche Betriebsysteme nicht rumheulen".
Es ist also eine primiäre Partition über die komplette Festplatte mit dem Partitionstyp "8e" anzulegen. Wenn sie sich sicher sind das keine anderen Betriebsysteme auf die Platte zugreifen wollen, können sie die Festplatte auch ohne Partionierung nutzen.

2. Backup der LVM Metadaten (vgcfgbackup)

Vor den Änderungen am LVM sollte zumindest ein Backup der LVM-Metadaten erstellt werden. Mit diesen kann nach einer Fehlkonfiguration der Zustand der Volumegroup wiederhergestellt werden. LVM Stellt für diese Aufgabe den Befehl vgcfgbackup zur Verfügung. Ohne Option aufgerufen werden alle VGs gesichert, die Sicherungsdaten stehen im Vereichnis /etc/lvmconf/ und können mit dem Befehl vgcfgrestore wieder hergestellt werden.

3 . Physical Volume erstellen (pvcreate)

Damit die Festplatte zum LVM hinzugefügt werden kann muss auf ihr ein Physical Volume (PV) erstellt werden. Dies geschieht mit dem Befehl pvcreate. Soll also auf dem Gerät /dev/hdb ein PV erstellt werden ist der Befehl wie folgt aufzurufen:

linux:~# pvcreate /dev/hdb

4. Erweiterung des Volumes (vgextend)

Das PV muss nun dem Volume hinzugefügt werden. Dafür wird der Befehl vgextend genutzt. Soll eine VG datavg um das PV aus unserem Beispiel erweitert werden wird der Befhel wie folgt ausgeführt:

linux:~# vgextend datavg /dev/hdb

5. Verschieben der Daten auf die neue Festplatte (pvmove)

Alle Daten der alten Festplatte müssen nun auf die größere Festplatte verschoben werden. Der Befehl pvmove stellt diese Funktion zur Verfügung.

linux:~# pvmove -v /dev/hda5 /dev/hdd2
pvmove -- checking name of source physical volume "/dev/hda5"
pvmove -- locking logical volume manager
pvmove -- reading data of source physical volume from "/dev/hda5"
pvmove -- checking volume group existence
pvmove -- reading data of volume group "datavg" from lvmtab
pvmove -- checking volume group consistency of "datavg"
pvmove -- searching for source physical volume "/dev/hda5" in volume group
"datavg"
pvmove -- building list of possible destination physical volumes
pvmove -- checking destination physical volume names in command line
pvmove -- checking volume group activity
pvmove -- moving physical extents in active volume group "datavg"
pvmove -- WARNING: if you lose power during the move you may need
        to restore your LVM metadata from backup!
pvmove -- do you want to continue? [y/n] y
pvmove -- starting to move extents away from physical volume "/dev/hda5"
pvmove -- checking for enough free physical extents in "datavg"
pvmove -- /dev/hda5 [PE 0 [home [LE 0]] -> /dev/hdd2 [PE 0] [1/12606]
pvmove -- /dev/hda5 [PE 1 [home [LE 1]] -> /dev/hdd2 [PE 1] [2/12606]
pvmove -- /dev/hda5 [PE 2 [home [LE 2]] -> /dev/hdd2 [PE 2] [3/12606]
pvmove -- /dev/hda5 [PE 3 [home [LE 3]] -> /dev/hdd2 [PE 3] [4/12606]
pvmove -- /dev/hda5 [PE 4 [home [LE 4]] -> /dev/hdd2 [PE 4] [5/12606]
pvmove -- /dev/hda5 [PE 5 [home [LE 5]] -> /dev/hdd2 [PE 5] [6/12606]
...
...
...
pvmove -- 12606 extents of physical volume "/dev/hda5" successfully moved

6. Entfernen der alten Festplatte aus dem LVM (vgreduce)

Nun kann die alte Festplatte aus dem LVM entfernt werden:

vgreduce datavg /dev/hda5
Ist dies geschehen kann die Festplatte physikalisch aus dem System entfernt werden.