1.TL;DR
Wenn Sie RHEL / CentOS in der Hypervisor-Umgebung von VMware oder KVM installieren, handelt es sich standardmäßig um LVM (Logical Volume Management). Wenn Sie versuchen, die Anzahl der virtuellen Festplatten zu erhöhen, fügen Sie normalerweise Partitionen hinzu, nachdem Sie die Größe der virtuellen Festplatten in der Hypervisor-Umgebung erhöht haben. Sie können nur bis zu 4 primäre Partitionen erstellen (Sie können weitere hinzufügen, indem Sie erweiterte Partitionen verwenden, aber ich werde sie hier weglassen). Es ist nicht gut, jedes Mal eine Partition hinzuzufügen, wenn ich die Festplattengröße erhöhe. Deshalb habe ich eine andere Methode ausprobiert.
** Erhöhte die Größe der Partition und schließlich die Größe des vom Betriebssystem erkannten logischen Volumes. ** ** **
** Dies ist das Schlimmste, was eine virtuelle Maschine zerstören kann. Bitte tun Sie dies auf eigenes Risiko. ** ** **
Überprüfen Sie den Status vor der Festplattenerweiterung. Dies sind die Informationen, die zuerst von der Hypervisorseite aus gesehen werden können. Die Größe der virtuellen Festplatte beträgt bekanntermaßen 24 GB. Die tatsächlich reservierte Größe beträgt 12 GB.
[root@hypervisor images]# qemu-img info vm1.img
image: vm1.img
file format: qcow2
virtual size: 24G (25769803776 bytes)
disk size: 12G
cluster_size: 65536
Format specific information:
compat: 0.10
Als nächstes folgen die Informationen, die in der virtuellen Maschine angezeigt werden können. Die zweite zu erweiternde Partition ist 24,7 GB.
[root@vm1 ~]# parted /dev/vda print
Modell-: Virtio Block Device (virtblk)
Scheibe/dev/vda: 25.8GB
Sektorgröße(Logik/Physik): 512B/512B
Partitionstabelle: msdos
Festplattenflag:
Nummer Start Ende Größe Typ Dateisystem-Flag
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 25.8GB 24.7GB primary lvm
Überprüfen Sie das Dateisystem. Die Root-Partition / dev / mapper / cl_centos7template-root ist 22 GB groß.
[root@vm1 ~]# df -h
Verwendete Dateisystemgröße Verbleibende Verwendung%Montageposition
:
/dev/mapper/cl_centos7template-root 22G 7.4G 15G 35% /
/dev/vda1 1014M 245M 770M 25% /boot
:
Melden Sie sich als Root beim Hypervisor-Server an. Fahren Sie die virtuelle Maschine herunter, bevor Sie weitere virtuelle Festplatten hinzufügen.
Erhöhen Sie mit dem Befehl qemu-img resize um 10 GB.
[root@hypervisor images]# qemu-img resize vm1.img +10G
Image resized.
Die Größe der virtuellen Festplatte wurde von 24 GB auf 34 GB erhöht.
[root@hypervisor images]# qemu-img info vm1.img
image: vm1.img
file format: qcow2
virtual size: 34G (36507222016 bytes)
disk size: 12G
cluster_size: 65536
Format specific information:
compat: 0.10
Die Arbeit von hier aus wird erledigt, indem Sie sich als Root bei der virtuellen Maschine anmelden. Überprüfen Sie den Partitionszuordnungsstatus mit dem Befehl parted. Zu diesem Zeitpunkt ist die zweite Partition noch 24,7 GB groß und hat sich nicht erhöht.
[root@vm1 ~]# parted /dev/vda print
Modell-: Virtio Block Device (virtblk)
Scheibe/dev/vda: 36.5GB
Sektorgröße(Logik/Physik): 512B/512B
Partitionstabelle: msdos
Festplattenflag:
Nummer Start Ende Größe Typ Dateisystem-Flag
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 25.8GB 24.7GB primary lvm
Die Partition wird durch den Unterbefehl resizepart des Befehls parted erhöht. Geben Sie hier auf interaktive Weise ein. Die erste Option 2 gibt die zweite Partition an. -1s bedeutet, bis zum letzten Sektor zu steigen. Nach dem Ausführen des Unterbefehls resizepart erfolgt keine Antwort, aber keine Sorge. Das Ende ist der Unterbefehl q.
[root@vm1 ~]# parted /dev/vda
GNU Parted 3.1
/dev/Verwenden Sie vda
Willkommen bei GNU Parted! Anzeigen der Befehlsliste'help'Bitte eingeben.
(parted) resizepart 2 -1s
(parted) q
Die zweite Partition wurde von 24,7 GB auf 35,4 GB erhöht.
[root@vm1 ~]# parted /dev/vda print
Modell-: Virtio Block Device (virtblk)
Scheibe/dev/vda: 36.5GB
Sektorgröße(Logik/Physik): 512B/512B
Partitionstabelle: msdos
Festplattenflag:
Nummer Start Ende Größe Typ Dateisystem-Flag
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 36.5GB 35.4GB primary lvm
Die Details des physischen Volumens haben sich noch nicht erhöht.
[root@vm1 ~]# pvdisplay /dev/vda2
--- Physical volume ---
PV Name /dev/vda2
VG Name cl_centos7template
PV Size <23.00 GiB / not usable 2.00 MiB
:
Erhöhen Sie die Größe des physischen Volumes mit dem Befehl pvresize.
[root@vm1 ~]# pvresize /dev/vda2
Physical volume "/dev/vda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
Die Größe des physischen Volumes wurde von 23 GB auf 33 GB erhöht.
[root@vm1 ~]# pvdisplay /dev/vda2
--- Physical volume ---
PV Name /dev/vda2
VG Name cl_centos7template
PV Size <33.00 GiB / not usable 2.00 MiB
:
Die Größe der Volume-Gruppe nimmt mit zunehmendem physischen Volume (33 GB) zu. Sie können sehen, dass 10 GB nicht zugewiesener (KOSTENLOSER) Speicherplatz vorhanden sind.
[root@vm1 ~]# vgdisplay cl_centos7template
--- Volume group ---
VG Name cl_centos7template
:
VG Size <33.00 GiB
PE Size 4.00 MiB
Total PE 8447
Alloc PE / Size 5887 / <23.00 GiB
Free PE / Size 2560 / 10.00 GiB
VG UUID XZleoU-FvcU-pNs9-rIc7-4PrH-pZZ6-KfoyZm
Erhöhen Sie abschließend das logische Volume mit dem Befehl lvextend. -l + 100% KOSTENLOS bezieht sich auf den gesamten freien Speicherplatz. -r ist eine Option, um auch die Größe des Dateisystems zu ändern (synonym mit dem Befehl resize2fs).
[root@vm1 ~]# lvextend -l +100%FREE -r /dev/cl_centos7template/root
Size of logical volume cl_centos7template/root changed from <21.50 GiB (5503 extents) to <31.50 GiB (8063 extents).
Logical volume cl_centos7template/root successfully resized.
meta-data=/dev/mapper/cl_centos7template-root isize=512 agcount=7, agsize=818944 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=5635072, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 5635072 to 8256512
Das logische Volumen wurde auf 31,5 GB erhöht.
[root@vm1 ~]# lvdisplay /dev/cl_centos7template/root
--- Logical volume ---
LV Path /dev/cl_centos7template/root
LV Name root
VG Name cl_centos7template
:
LV Status available
# open 1
LV Size <31.50 GiB
:
Sie können sehen, dass das Dateisystem ebenfalls auf 32 GB erhöht wurde.
[root@vm1 ~]# df -h
Verwendete Dateisystemgröße Verbleibende Verwendung%Montageposition
: 1000M 0 1000M 0% /sys/fs/cgroup
/dev/mapper/cl_centos7template-root 32G 7.4G 25G 24% /
/dev/vda1 1014M 245M 770M 25% /boot
:
Ich habe dieses problematische Verfahren eingeführt, aber zunächst muss die in KVM oder VMware erstellte virtuelle Maschine kein LVM sein. Wenn es sich um eine physische Maschine handelt, können Sie mithilfe von LVM das logische Volume erhöhen, ohne die Partition zu teilen, wenn Sie eine Festplatte hinzufügen. Ist es ein LVM-Schnappschuss? Ich habe es nie benutzt, weil ich Angst habe.
Die Festplattenerweiterung sollte für Nicht-LVM (einfache Partitionen) etwas einfacher sein.