J'ai un serveur centos 7 (CentOS Linux release 7.3.1611 (Core))
Lorsque j'ai mis à jour mon serveur, j'ai vu une erreur, vous avez besoin d'espace supplémentaire. Mais j'avais un disque de 20 Go sur le serveur lorsque je vérifie les espaces disque, je n'ai vu qu'une partition de 4,5 Go créée et une partition de 16 Go d'espace libre non alloué. Comment puis-je étendre la partition à partir de 16 Go d'espace libre?
lsblk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 4.5G 0 part
├─centos-root 253:0 0 4G 0 lvm /
└─centos-swap 253:1 0 512M 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
sda2
se termine à la fin du disquepvresize
Courir fdisk /dev/sda
. Émettez p
pour imprimer votre table de partition actuelle et copiez cette sortie dans un endroit sûr. Maintenant, lancez d
suivi de 2
pour supprimer la deuxième partition. Exécutez n
pour créer une nouvelle deuxième partition. Assurez-vous que le début est égal au début de la table de partition que vous avez imprimée précédemment. Assurez-vous que la fin se trouve à la fin du disque (généralement la valeur par défaut).
Problème t
suivi de 2
suivi par 8e
pour basculer le type de partition de votre nouvelle deuxième partition sur 8e (Linux LVM).
Émettez p
pour revoir la nouvelle disposition de votre partition et assurez-vous que le début de la nouvelle deuxième partition est exactement à l'emplacement de l'ancienne deuxième partition.
Si tout semble correct, lancez w
pour écrire la table de partition sur le disque. Vous recevrez un message d'erreur de partprobe indiquant que la table de partition n'a pas pu être relue (car le disque est en cours d'utilisation).
Cette étape est nécessaire pour que la table de partition soit relue.
Après le redémarrage de votre système, appelez pvresize /dev/sda2
. Votre volume LVM physique s'étendra désormais sur le reste du lecteur et vous pouvez créer ou étendre des volumes logiques dans cet espace.
Vous pouvez le faire sans redémarrer dans CentOS 7. En supposant que votre disque est/dev/vda et un partitionnement RHEL/CentOS standard:
# fdisk /dev/vda
Entrez p
pour imprimer votre table de partition initiale.
Entrez d
(supprimer) suivi de 2
Pour supprimer la définition de partition existante (la partition 1 est généralement/boot et la partition 2 est généralement la partition racine).
Entrez n
(nouveau) suivi de p
(principal) suivi de 2
Pour recréer la partition numéro 2 et enter
pour accepter le bloc de démarrage et enter
à nouveau pour accepter le bloc de fin qui est par défaut à la fin du disque.
Entrez t
(type) puis 2
Puis 8e
Pour changer le nouveau type de partition en "Linux LVM".
Entrez p
pour imprimer votre nouvelle table de partition et assurez-vous que le bloc de démarrage correspond à ce qui était dans la table de partition initiale imprimée ci-dessus.
Entrez w
pour écrire la table de partition sur le disque. Vous verrez une erreur sur Device or resource busy
Que vous pouvez ignorer.
Après avoir modifié votre table de partition, exécutez la commande suivante pour mettre à jour la table de partition en mémoire du noyau:
# partx -u /dev/vda
Redimensionnez le PV pour reconnaître l'espace supplémentaire
# pvresize /dev/vda2
Dans cette commande centos
est le PV, root
est le LV et /dev/vda2
Est la partition qui a été étendue. Utilisez les commandes pvs
et lvs
pour voir vos noms de volumes physiques et logiques si vous ne les connaissez pas. L'option -r
De cette commande redimensionne le système de fichiers de manière appropriée afin que vous n'ayez pas à appeler séparément resize2fs
Ou xfs_growfs
.
# lvextend -r centos/root /dev/vda2
Pour ceux qui ont du mal à étendre des volumes logiques comme moi, lire ce post pourrait être utile. En résumé, vous pouvez utiliser lvextend
pour étendre votre volume logique: lvextend -l +<PE> <LV_PATH>
vous pouvez obtenir le nombre de PE restants (<PE>
) par vgdisplay
et obtenez le chemin de votre volume logique (LV_PATH
) par lvdisplay
.
Ensuite, selon votre distribution, vous voulez soit xfs_growfs <LV_PATH>
(Centos 7) ou resize2fs <LV_PATH>
pour enfin redimensionner.
Vérifiez cela - tout sur une seule ligne, pas de questions:
parted —pretend-input-tty /dev/vda resizepart 2 100%;
partx -u /dev/vda; pvresize /dev/vda2;
lvextend -r centos/var /dev/vda2