[LINUX] [LVM] Étendre le disque virtuel sans ajouter de partition

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. LVMこっちじゃない.png

** Augmentation de la taille de la partition et enfin augmentation de la taille du volume logique reconnu par le système d'exploitation. ** **

2. Flux de travail

LVMの説明.png

** C'est la pire chose qui puisse détruire une machine virtuelle. Veuillez le faire à vos risques et périls. ** **

Environnement prérequis

3. État avant le changement

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
:

4. Extension de la taille du disque virtuel

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

5. Augmentez la taille de la partition

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

6. Augmentation de la taille des volumes physiques

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

7. Extension de la taille du volume logique

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
:

8. Enfin

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).

Recommended Posts

[LVM] Étendre le disque virtuel sans ajouter de partition
Développez la boîte virtuelle + le disque Linux (Ubuntu 19.04)