J'ai une machine virtuelle qui a récemment vu son image disque passer de 20 Go à 50 Go et fdisk -l
vérifie que la machine virtuelle peut voir cette nouvelle taille. Maintenant, je dois redimensionner ma partition LVM racine pour remplir les 30 Go supplémentaires.
J'ai trouvé plusieurs articles sur le redimensionnement de LVM, mais les quelques-uns qui couvrent le redimensionnement de la partition racine affirment tous que vous devez démarrer à partir d'un LiveCD. Existe-t-il un moyen de le faire sans arrêter le serveur? Le serveur est essentiel, je voudrais donc minimiser les temps d'arrêt.
Modifier: Sortie de fdisk -l
:
[root@fedora-host ~]# sudo fdisk -l
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00097c90
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 83886079 41430016 8e Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 36.1 GB, 36104568832 bytes
255 heads, 63 sectors/track, 4389 cylinders, total 70516736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root doesn't contain a valid partition table
Disk /dev/mapper/VolGroup-lv_swap: 6308 MB, 6308233216 bytes
255 heads, 63 sectors/track, 766 cylinders, total 12320768 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap doesn't contain a valid partition table
Edit: Comment redimensionner la partition physique? fdisk peut voir l'espace libre, mais je ne sais pas comment redimensionner la partition LVM principale pour l'utiliser. J'ai essayé de démarrer dans un LiveCD et d'utiliser la resize
commande parted'd , mais tout ce que cela me donne, c'est l'erreur "Impossible de détecter le système de fichiers". J'ai trouvé ce guide , qui dit que je dois supprimer la partition et en créer une nouvelle avec la taille correcte, mais cela semble très dangereux.
Édition finale: la resize
commande de Parted est étrangement incapable de redimensionner les partitions LVM. Allez comprendre. Au lieu de cela, j'ai simplement supprimé l'ancienne partition et créé une nouvelle avec la nouvelle plage, comme indiqué dans le lien ci-dessus, et qui a correctement redimensionné la partition LVM. J'ai ensuite suivi les conseils ci-dessous pour redimensionner les volumes et les systèmes de fichiers à l' intérieur de la partition LVM.
Réponses:
Vous pouvez développer un volume logique en ligne. Vous devez le démonter pour le réduire (ce qui nécessite un mode LiveCD / Rescue.)
pvresize /dev/sda2
(en supposant que votre partition LVM estsda2
. Remplacez si nécessaire.)lvextend /dev/mapper/root -l+100%FREE
(ou, quel que soit le nom de votre volume logique racine.)resize2fs /dev/mapper/root
(en supposant ext2 / 3/4)la source
lvextend -L [size][unit] /dev/group/volume
, je préfère , ne serait-ce que parce que je peux augmenter un volume de 10 gigaoctets en spécifiant-L +10G
Now I need to resize my root LVM partition to fill the extra 30GB.
(Ce qui est d'augmenter le volume logique par l'espace libre disponible.)-r
option àlvextend
, elle accrocherafsadm
pour redimensionner le FS. Cela rendrait la troisième étape redondante.pvresize /dev/sda2
commande ne fait rien tant que la partition / dev / sda2 n'a pas été redimensionnée avec parted ou fdisk. J'ai dû redimensionner le mien avec fdisk car séparé sur mon système ne montrerait pas ou n'a pas de commande de redimensionnement. Le redimensionnement de Fdisk implique la suppression et la recréation de la partition.Votre système est-il vraiment passé de 20 à 50 Go? Cela semble vraiment étrange puisque votre appareil sda2 fait ~ 40 Go, lv_root affiche 36 Go et swap affiche 6 Go.
Votre sortie de
fdisk -l
montre le total des secteurs de/dev/sda
is104857600
. Le dernier secteur utilisé par/dev/sda2
est83886079
. Cela me dit que vous n'avez pas ajusté la taille de la partition pour utiliser tout l'espace disponible sur le lecteur. La commande pvresize ne modifie pas la table de partition. Vous devez d'abord modifier la table de partition.la source
Installez gparted. Exécutez en tant que root (utilisez ssh -X ou x2go si distant). Sélectionnez la partition. Il devrait montrer de l'espace libre après la fin (à droite). Si ce n'est pas le cas, vous devez redémarrer votre machine virtuelle pour voir la nouvelle taille du périphérique virtuel. Cela devrait être un temps d'arrêt minimal avec systemd.
Cliquez avec le bouton droit et sélectionnez redimensionner. Faites glisser l'extrémité vers la fin du disque. Assurez-vous de ne pas toucher au début. gparted est capable de déplacer une partition pendant le redimensionnement, mais cela détruira bien sûr un système en cours d'exécution. Mais déplacer la fin est bien. Examinez l'opération en attente que gparted effectuera pour vous assurer que vous étendez et ne déplacez pas la partition. Cliquez sur appliquer. gparted changera la partition sur le disque, puis émettra l'ioctl du noyau pour relire la table de partition, changeant également la taille du périphérique de bloc en direct. Puis, comme il voit qu'il s'agit d'un PV LVM, il exécute pvresize pour vous. Quittez gparted et vgs affiche maintenant votre nouvel espace.
J'ai entendu des rumeurs selon lesquelles se séparer peut faire tout cela sans les frais généraux d'une interface graphique, mais je n'ai jamais pu comprendre le vaudou. Parted doit être l'une des pires interfaces CLI que j'aie jamais essayé d'utiliser.
N'utilisez pas fdisk, vous devez supprimer et réallouer la partition à redimensionner, et par défaut, elle effacera la signature LVM2 lors de l'écriture. Je pense avoir vu une option "avancée" pour désactiver ce comportement destructeur, mais je ne l'ai jamais testé.
Vous pouvez également essayer cfdisk (curses fdisk). Il peut avoir un redimensionnement de partition utilisable. Il est assez facile d'exécuter pvresize manuellement, et une commande indique au noyau de relire la table de partition. Mais je devrais tester pour m'assurer qu'il n'efface pas la signature LVM comme fdisk.
la source
Si le volume physique LVM se trouve sur une partition, non, vous ne pouvez pas le redimensionner sans redémarrer.
Vous pouvez modifier la table de partition sur le lecteur, mais Linux refusera de l'utiliser jusqu'à ce que vous redémarriez.
Si vous utilisez XFS, passez
resize2fs
àxfs_growfs
.Vous pouvez afficher les PV que vous utilisez et les LV dans le groupe de volumes en utilisant
pvs
etlvs
.PV sur disque brut
PV sur une partition
D' abord , vous devez redimensionner la partition, l' utilisation
parted
,fdisk
ou un outil similaire pour cela. N'oubliez pas que ces outils ne modifient que la description de l'emplacement des partitions, ils ne déplacent pas les données. En d'autres termes, vous pouvez facilement étendre uniquement la dernière partition du disque. Redémarrez ensuite votre machine et après cela, vous devriez être en mesure d'informer LVM qu'elle dispose d'un espace supplémentaire disponible:la source
sudo pvresize /dev/sda2
signale «1 volume (s) physique (s) redimensionné (s)», maissudo lvextend /dev/mapper/VolGroup-lv_root -L +10G
échoue avec l'erreur «espace libre insuffisant: 320 extensions nécessaires, mais seulement 0 disponible».sudo fdisk -l
rapporte que j'ai 54G disponible, alors quesudo pvdisplay
seulement 40G sont en cours d'utilisation. Pourquoi lvextend échoue?resize
commande de parted pour augmenter la taille de la partition principale, mais cela m'a donné l'erreur "Impossible de détecter le système de fichiers". Comment redimensionnez-vous la partition en utilisant parted ou fdisk?J'envisagerais de vérifier ssm (system-storage-manager) s'il est disponible sur votre distribution.
Découvrez ceci pour un peu plus d'informations: /unix//a/293173
ssm semble faciliter le redimensionnement des volumes logiques sans avoir à tout faire vous-même.
J'ai pu utiliser pour étendre ma partition domestique avec elle après avoir redémarré mon système d'exploitation et ouvert une session en tant que root. (J'ai dû redémarrer deux fois au total, mais cela a finalement fonctionné et j'ai maintenant un 50G supplémentaire disponible dans ma / home parition.)
la source
Après avoir combiné 25 howto, j'ai enfin cette solution. Il ne nécessite aucun cd live, il est complètement à la volée.
Étape 1. formatez la partition avec parted (no gui). Dans cet exemple, la taille maximale du disque est passée de 8 Go à 32 Go dans la boîte virtuelle.
Étape 2. Créez un volume physique basé sur la nouvelle partition
Étape 3. Ajoutez le volume physique au groupe de volumes. Dans une installation de serveur fedora 28 ordinaire, le groupe de volumes est appelé fedora.
Étape 4. Ajoutez l'espace disponible dans le groupe de volumes au volume logique. Dans une installation de serveur fedora 28 ordinaire, le volume logique est appelé root.
Étape 5. Dites au système de fichiers du volume logique d'utiliser l'espace supplémentaire. Dans fedora, le système de fichiers est xfs.
Attention! xfs_growfs utilise le point de montage pour identifier le système de fichiers, pas le nom du système de fichiers que vous trouvez dans la sortie df !!!!!!!
La commande 'xfs_growfs / dev / mapper / fedora-root' vous dira / dev / mapper / fedora-root n'est pas un système de fichiers XFS monté. Si vous utilisez un système de fichiers différent, reportez-vous à https://www.tldp.org/HOWTO/LVM-HOWTO/extendlv.html
Étape 6. Profitez
la source
Essayez testdisk
sudo dnf install testdisk
sudo testdisk
Il suffit de créer un fichier journal Ensuite, il listera les partitions, - sélectionner le média / partition - puis taper - et analyser - recherche rapide - sélectionner et écrire
la source