LVM Volume Group verschieben

LVM Volume Group verschieben

Hier eine kleine Anleitung wie man eine LVM Volume Group verschieben kann, und das Live ohne das System im wesentlichen zu stören.
Nützlich wenn wen man eine größere Festplatte in das System eingebaut hat und die Daten verschieben möchte. Oder die alte Festplatte irgendwelche Probleme hat.
Klar könnte man das ganze auch mit einem rsync machen aber so ist das doch viel komfortabler und entspannter.

In diesem Beispiel verschiebe ich die Volume Group (VG) System auf eine andere Festplatte.

Als erstes erstellen wir ein neues Physical Volume (PV) auf der neuen Festplatte

[stextbox id=“bash“]pvcreate /dev/sdc[/stextbox]
[stextbox id=“info“] Physical volume „/dev/sdc“ successfully created[/stextbox]

Jetzt sehen wir mit pvdisplay das wir zwei Physical Volumes haben

[stextbox id=“bash“]pvdisplay[/stextbox]
[stextbox id=“info“]  — Physical volume —
PV Name               /dev/sda2
VG Name               system
PV Size               1.82 TiB / not usable 2.00 MiB
Allocatable           yes
PE Size               4.00 MiB
Total PE              476430
Free PE               136965
Allocated PE          339465
PV UUID               dgXVK0-E3aA-WzRA-pua9-QVyO-vP3O-b2y0B1

„/dev/sdc“ is a new physical volume of „1.82 TiB“
— NEW Physical volume —
PV Name               /dev/sdc
VG Name
PV Size               1.82 TiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               AA8w9c-I9ME-yFjl-5Zw0-nfe9-2N5u-ZSRHfZ[/stextbox]

Jetzt können wir das PV der bestehenden Volume Gruppe (VG) hinzufügen.

[stextbox id=“bash“]vgdisplay[/stextbox]
[stextbox id=“info“]  — Volume group —
VG Name               system
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  4407
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                21
Open LV               13
Max PV                0
Cur PV                1
Act PV                1
VG Size               1.82 TiB
PE Size               4.00 MiB
Total PE              476430
Alloc PE / Size       339465 / 1.29 TiB
Free  PE / Size       136965 / 535.02 GiB
VG UUID               K8wO7f-PoZm-18JB-RPQp-lywX-6qvU-n3Atsu[/stextbox]

Zum hinzufügen des neuen PV nutzen wir den Befehl vgextend

[stextbox id=“bash“]vgextend system /dev/sdc[/stextbox]
[stextbox id=“info“]  Volume group „system“ successfully extended[/stextbox]

Ein weiter vgdisplay zeigt uns jetzt an das die Volume Group System jetzt größer ist.

[stextbox id=“bash“]vgdisplay[/stextbox]
[stextbox id=“info“]  — Volume group —
VG Name               system
System ID
Format                lvm2
Metadata Areas        2
Metadata Sequence No  4411
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                21
Open LV               13
Max PV                0
Cur PV                2
Act PV                2
VG Size               3.63 TiB
PE Size               4.00 MiB
Total PE              952587
Alloc PE / Size       678930 / 2.59 TiB
Free  PE / Size       273657 / 1.04 TiB
VG UUID               K8wO7f-PoZm-18JB-RPQp-lywX-6qvU-n3Atsu[/stextbox]

Jetzt könnten wir den Inhalt der VG auf das andere neue PV verschieben lassen. Dies wird je nach göße und geschwindigkeit der Festplatten etwas dauern.
Mit diesem Befehl wird gleich eine Ausgabe des Status ausgegeben. Man kann auch mittels CTRL + C die Ausgabe abbrechen. Der pvmove arbeite aber im Hintergrund weiter.

[stextbox id=“bash“]pvmove /dev/sda2 /dev/sdc[/stextbox]
[stextbox id=“info“]  /dev/sda2: Moved: 0.1%

/dev/sda2: Moved: 20.7%

/dev/sda2: Moved: 51.0%

/dev/sda2: Moved: 100.0%[/stextbox]

Da das verschieben auch recht lange dauern kann, kann man das ganze auch gleich im Hintergrund laufen lassen.

[stextbox id=“bash“]pvmove -b /dev/sda2 /dev/sdc[/stextbox]

Der folgende Befehl gibt in 5-Sekunden Intervallen den Fortschritt des Verschiebens aus.

[stextbox id=“bash“]pvmove -i5 /dev/sda2 [/stextbox]

Nachdem alles verschoben ist, können wir nochmal kontrollieren ob das andere PV frei ist.

[stextbox id=“bash“]pvs -o+pv_used[/stextbox]
[stextbox id=“info“]  PV         VG     Fmt  Attr PSize PFree   Used
/dev/sda2  system lvm2 a–  1.82t   1.82t    0
/dev/sdc   system lvm2 a–  1.82t 533.95g 1.29t[/stextbox]

Anschließend entfernen wir das alte PV (/dev/sda1) von der VG.

[stextbox id=“bash“]vgreduce system /dev/sda2[/stextbox]
[stextbox id=“info“]  Removed „/dev/sda2“ from volume group „system“[/stextbox]

Fertig. Nun sind alle Daten auf der anderen Festplatte und weiterhin verfügbar.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*