LVM: Volumegroup-Migration auf eine größere Festplatte
Inhalt
- Partitionierung (fdisk)
- Backup der LVM Metadaten (vgcfgbackup)
- Physical Volume erstellen (pvcreate)
- Erweiterung des Volumes (vgextend)
- Verschieben der Daten auf die neue Festplatte (pvmove)
- 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/hda5Ist dies geschehen kann die Festplatte physikalisch aus dem System entfernt werden.