iSCSI & LVM in domU - Partition vergrößern

virtualization
german

#1

Hallo,

es handelt sich um folgenden Aufbau:
Fujitsu-Storage via iSCSI an dom0 (UCS 2.4, XEN) verbunden. Es handelt sich dabei um 2 LUNs welche in dom0 auch als 2 Platten erkannt werden:

[code]root@mastersrv:~# virsh vol-list iscsi
Name Path

11.0.0.0 /dev/disk/by-path/ip-192.168.2.20:3260-iscsi-iqn.2000-09.com.fujitsu:storage-system.eternus-dxl:00021eae-lun-0
11.0.0.1 /dev/disk/by-path/ip-192.168.2.20:3260-iscsi-iqn.2000-09.com.fujitsu:storage-system.eternus-dxl:00021eae-lun-1[/code]

Diese beiden Festplatten wurden einer neuen XEN-Domain angehängt, welche anschließend mit UCS 2.4 aufgesetzt wurde.

Die Partitionierung sieht folgendermaßen aus:
lun-0:
/boot
swap
/
lun-1 (hiervon wurde eine lvm erzeugt - ucs_vg):
/var

Nun zu meiner eigentlichen Frage:
Ich habe nun am Storage die LUN1 vergrößert und in der dom0 “virsh pool-refresh iscsi” ausgeführt. Die Platte (in meinem Fall /dev/sdc) hat nun in der dom0 auch die neue Größe, die darin enthaltene Partition natürlich nicht:

[code]
Disk /dev/sdc: 17.8 GB, 17825792000 bytes
255 heads, 63 sectors/track, 2167 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0008961f

Device Boot Start End Blocks Id System
/dev/sdc1 1 1912 15358108+ 8e Linux LVM[/code]

In der domU sieht das Ganze so aus:

[code]Disk /dev/xvdc: 17.8 GB, 17825792000 bytes
255 heads, 63 sectors/track, 2167 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0008961f

Device Boot      Start         End      Blocks   Id  System

/dev/xvdc1 1 1912 15358108+ 8e Linux LVM[/code]

Wie kann ich diese Partition in der domU vergrößern, ohne die domU neu starten zu müssen?
Habe zwar schon einiges dazu im Internet gefunden, richtig funktioniert hat aber nichts.

Bitte um Unterstützung.

Vielen Dank!

mfg
Daniel


#2

wenn Sie möchten, können Sie sich via TeamViewer auf den Server verbinden.

mfg
Daniel


#3

Hallo,

ich würde vorschlagen folgende Schritte im ausgehängten Dateisystem durchzuführen:

Die freien PE’s der VG ermitteln:

vgdisplay ucs_vg | grep "Free  PE"

Dem LV den erweiterten Platz zuweisen:

lvextend -l+$FREEPE /dev/ucs_vg/$LVname

Das Dateisystem im LV auf Konsistenz überprüfen:

e2fsck -f /dev/mapper/ucs_vg-$LVname

Das Dateisystem vergrössern:

resize2fs /dev/mapper/ucs_vg-$LVname

Diese Arbeiten an einem Produktivsystem im laufenden Betrieb vorzunehmen ist nicht empfohlen.

Mit freundlichen Grüssen
Tobias Scherer


#4

Hallo,

habe es gerade mal ausprobiert, nur funktioniert das nicht so ganz.

Nach einem Reboot der domU wird mir nun die vergrößerte Platte angezeigt (/dev/xvdc hat nun 18.8GB):

[code]Disk /dev/xvdc: 18.8 GB, 18874368000 bytes
255 heads, 63 sectors/track, 2294 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0008d618

Device Boot      Start         End      Blocks   Id  System

/dev/xvdc1 1 1912 15358108+ 8e Linux LVM

Disk /dev/dm-0: 15.3 GB, 15376318464 bytes
255 heads, 63 sectors/track, 1869 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/dm-0 doesn’t contain a valid partition table[/code]

Wenn ich “vgdisplay vg_ucs” aufrufe, wird aber nur ein freier Speicher von 332MB angezeigt - die Platte wurde aber um 3GB vergrößert!?

root@filesrv:~# vgdisplay vg_ucs --- Volume group --- VG Name vg_ucs System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 7 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size 14,64 GB PE Size 4,00 MB Total PE 3749 Alloc PE / Size 3666 / 14,32 GB Free PE / Size 83 / 332,00 MB VG UUID ugq5OC-0pFB-vw3k-sagR-bEZT-Jqyy-44jk7O

Wie kann ich hierbei weiter vorgehen und welche Rolle spielt eigentlich /dev/dm-0??

Vielen Dank!

mfg
Daniel


#5

Hallo,

vorher muss dann noch die PV vergrössert werden:

pvresize /dev/xvdc

Die freien PE’s der VG ermitteln:

vgdisplay ucs_vg | grep "Free  PE"

Dem LV den erweiterten Platz zuweisen:

lvextend -l+$FREEPE /dev/ucs_vg/$LVname
Das Dateisystem im LV auf Konsistenz überprüfen:

e2fsck -f -C 0 /dev/mapper/ucs_vg-$LVname
Das Dateisystem vergrössern:

resize2fs -p /dev/mapper/ucs_vg-$LVname

Unter /dev/dm-x befinden sich die virtuellen Devices vom Devicemapper (dmsetup, cryptsetup), die auch unter /dev/mapper/… zu finden sind. Dort werden keine Partitionstabellen abgelegt, sondern Partitionen.

Mit freundlichen Grüssen
Tobias Scherer


#6

Hallo,

gibt es auch eine Möglichkeit, die Größe von /dev/xvda ohne Reboot zu aktualisieren? Wenn ich die LUN vergrößere und in der dom0 ein virsh pool-refresh poolname mache, wird die Plattengröße zwar in der dom0 aktualisiert, in der domU aber nicht. Erst nach einem Reboot der domU hat die Platte die neue Größe.

Gruß,
Daniel


#7

Hallo,

vermutlich funktioniert das Vergrössern der Festplatte im laufenden Betrieb nicht, bzw, ist auf jeden Fall nicht zu empfehlen. Als Workaround könnte eine weitere Platte hinzugefügt und ins LVM eingebunden werden. Dies sollte auch im laufenden Betrieb möglich sein.

Mit freundlichen Grüssen
Tobias Scherer