1.TL;DR
Si vous installez RHEL / CentOS dans l'environnement hyperviseur de VMware ou KVM, ce sera LVM (gestion de volume logique) par défaut. Si vous essayez d'augmenter le nombre de disques virtuels, vous ajouterez généralement des partitions après avoir augmenté la taille des disques virtuels dans l'environnement de l'hyperviseur. Vous ne pouvez créer que 4 partitions principales (vous pouvez en ajouter plus en utilisant des partitions étendues, mais je les omettrai ici). Ce n'est pas bon d'ajouter une partition à chaque fois que j'augmente la taille du disque, j'ai donc essayé une autre méthode.
** Augmentation de la taille de la partition et enfin augmentation de la taille du volume logique reconnu par le système d'exploitation. ** **
** C'est la pire chose qui puisse détruire une machine virtuelle. Veuillez le faire à vos risques et périls. ** **
Vérifiez l'état avant l'extension du disque. Ce sont les informations qui peuvent être vues du côté de l'hyperviseur en premier. La taille du disque virtuel est connue pour être de 24 Go. La taille réelle réservée est de 12 Go.
[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
Viennent ensuite les informations qui peuvent être vues de l'intérieur de la machine virtuelle. La deuxième partition à étendre est de 24,7 Go.
[root@vm1 ~]# parted /dev/vda print
modèle: Virtio Block Device (virtblk)
disque/dev/vda: 25.8GB
Taille du secteur(logique/La physique): 512B/512B
Table de partition: msdos
Indicateur de disque:
Numéro Début Fin Taille Type Indicateur du système de fichiers
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 25.8GB 24.7GB primary lvm
Vérifiez le système de fichiers. La partition racine / dev / mapper / cl_centos7template-root fait 22 Go.
[root@vm1 ~]# df -h
Taille du système de fichiers utilisée Reste utilisé%Position de montage
:
/dev/mapper/cl_centos7template-root 22G 7.4G 15G 35% /
/dev/vda1 1014M 245M 770M 25% /boot
:
Connectez-vous au serveur de l'hyperviseur en tant que root. Arrêtez la machine virtuelle avant d'ajouter d'autres disques virtuels.
Augmentez de 10 Go avec la commande qemu-img resize.
[root@hypervisor images]# qemu-img resize vm1.img +10G
Image resized.
La taille du disque virtuel est passée de 24 Go à 34 Go.
[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
Le travail à partir d'ici est effectué en vous connectant à la machine virtuelle en tant que root. Vérifiez l'état d'allocation de partition avec la commande parted. À ce stade, la deuxième partition est toujours de 24,7 Go et n'a pas augmenté.
[root@vm1 ~]# parted /dev/vda print
modèle: Virtio Block Device (virtblk)
disque/dev/vda: 36.5GB
Taille du secteur(logique/La physique): 512B/512B
Table de partition: msdos
Indicateur de disque:
Numéro Début Fin Taille Type Indicateur du système de fichiers
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 25.8GB 24.7GB primary lvm
La partition est augmentée par la sous-commande resizepart de la commande parted. Entrez ici de manière interactive. La première option 2 indique la deuxième partition. -1s signifie augmenter jusqu'au dernier secteur. Il n'y a pas de réponse après l'exécution de la sous-commande resizepart, mais ne vous inquiétez pas. La fin est la sous-commande q.
[root@vm1 ~]# parted /dev/vda
GNU Parted 3.1
/dev/Utiliser vda
Bienvenue dans GNU Parted! Pour voir la liste des commandes'help'Entrez s'il vous plait.
(parted) resizepart 2 -1s
(parted) q
La deuxième partition est passée de 24,7 Go à 35,4 Go.
[root@vm1 ~]# parted /dev/vda print
modèle: Virtio Block Device (virtblk)
disque/dev/vda: 36.5GB
Taille du secteur(logique/La physique): 512B/512B
Table de partition: msdos
Indicateur de disque:
Numéro Début Fin Taille Type Indicateur du système de fichiers
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 36.5GB 35.4GB primary lvm
Les détails du volume physique n'ont pas encore augmenté.
[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
:
Augmentez la taille du volume physique avec la commande pvresize.
[root@vm1 ~]# pvresize /dev/vda2
Physical volume "/dev/vda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
La taille du volume physique est passée de 23 Go à 33 Go.
[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
:
La taille du groupe de volumes augmente avec l'augmentation du volume physique (33 Go). Vous pouvez voir qu'il y a 10 Go d'espace non alloué (GRATUIT).
[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
Enfin, augmentez le volume logique avec la commande lvextend. -l + 100% GRATUIT se réfère à tout l'espace libre. -r est également une option pour redimensionner le système de fichiers (synonyme de la commande 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
Le volume logique est passé à 31,5 Go.
[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
:
Vous pouvez voir que le système de fichiers est également passé à 32G.
[root@vm1 ~]# df -h
Taille du système de fichiers utilisée Reste utilisé%Position de montage
: 1000M 0 1000M 0% /sys/fs/cgroup
/dev/mapper/cl_centos7template-root 32G 7.4G 25G 24% /
/dev/vda1 1014M 245M 770M 25% /boot
:
J'ai introduit cette procédure gênante, mais en premier lieu, la machine virtuelle créée dans KVM ou VMware n'a pas besoin d'être LVM. S'il s'agit d'une machine physique, en utilisant LVM, vous pouvez augmenter le volume logique sans diviser la partition lors de l'ajout d'un disque dur. Est-ce un instantané LVM? Je ne l'ai jamais utilisé parce que j'ai peur.
L'extension de disque devrait être un peu plus facile pour les non-LVM (partitions simples).