Hallo Community,
das auf einem Dateisystem gelegentlich der Platz ausgeht, kann vorkommen. Wie man Systeme mit LVM vergrößert, dazu finden man eigentlich reichlich Artikel im Netz. Was mir bei den meisten gefundenen Anleitungen nicht gefallen hat, sind diese Sachen:
- beziehen sich meist nur auf DAS (Direct Attach Storage), Multipath wird nicht erwähnt
- Nach Änderung des Physikalischen Speichers (SAN/ISCSI) wird behauptet, ein reboot wäre nötig
- Anstückeln von Logical Volumes
- bzw. löschen und neu erstellen einer Partition mit fdisk, womit ich schon mal einen Server zerstört habe
Vergrößern des UCS Rootlaufwerk im laufenden Betrieb - getestet mit UCS 4.2 und HP EVA 4400:
zunächst überblick verschaffen und die (SAN) Disk vergrößern
multipath -l #listet Multipath Geräte auf
pvs #listet LVM Physical Volumes auf
lvs #listet LVM logical Volumes auf
lsblk #listet Block Geräte auf
blkid #listet IDs zu den Blockgeräten auf
Kernel mitteilen, dass sich was geändert hat. Rescan aller SCSI Geräte
for dev in /sys/bus/scsi/devices/*/rescan; do echo $dev; echo 1 > "$dev"; done
alternativ geht auch
sudo apt-get install scsitools
sudo rescan-scsi-bus --forcerescan
jetzt muss das Multipath Modul die Änderung mitkriegen (nur nötig, wenn man ein Multipath Device hat)
multipath -r
ID der extended Partition anzeigen lassen und ggf. in den nächsten zwei Kommandos anpassen. Mapper Adresse stammt von: multipath -l
parted -s /dev/mapper/3600508b4000cae0900044000014b0000 print free
extented Partition auf 100% erweitern (ID wird bei UCS Standardinstallation vermutlich 2 sein)
parted -s /dev/mapper/3600508b4000cae0900044000014b0000 resizepart 2 '100%'
logisches Laufwerk 100% erweitern (ID wird bei UCS Standardinstallation vermutlich 5 sein)
parted -s /dev/mapper/3600508b4000cae0900044000014b0000 resizepart 5 '100%'
Physical Volume auf max. Größe erweitern. Pfad prüfen mit: pvs
pvresize /dev/mapper/3600508b4000cae0900044000014b0000-part5
Logical Volume auf max. Größe erweitern. Pfad ggf. an eigene Umgebung anpassen!
lvextend -l +95%FREE /dev/vg_ucs/root
#man kann auch 100% nehmen, ich lasse etwas platz für LVM Snapshots
Dateisystem erweitern. Pfad ggf. an eigene Umgebung anpassen!
resize2fs /dev/vg_ucs/root
Fertig. Alle Schichten ohne Neustart und gefährliche Kommandos erweitert.
Wenn man mehr als eine LVM Volume Group nutzen möchte, geht es auch ohne primäre oder erweiterte Partition. Dann braucht man kein Disklabel, keine Partitiontable, kein fdisk oder cfdisk oder gdisk und auch kein parted - Nur LVM.
Zum Beispiel…
neue (SAN) Disk an Server zuweisen (Pfade an eigene Umgebung anpassen!)
pvcreate /dev/mapper/3600508b4000cae090004400001550000
#schreibt direkt Typ 8e auf (SAN) Disk
neue Volumegroup anlegen
vgcreate vg_kvm /dev/mapper/3600508b4000cae090004400001550000
logical Volume anlegen
lvcreate --name lv_kvm_pool --size 200GB vg_kvm
Dateisystem erstellen
mkfs -t ext4 /dev/vg_kvm/lv_kvm_pool
#zum vergrößern braucht man dann nur noch…
for dev in /sys/bus/scsi/devices/*/rescan; do echo $dev; echo 1 > "$dev"; done
multipath -r
pvresize /dev/mapper/3600508b4000cae090004400001550000
lvextend -l +95%FREE /dev/vg_kvm/lv_kvm_pool
resize2fs /dev/vg_kvm/lv_kvm_pool
Gutes gelingen!
Dirk