Comment réduire le volume logique racine (LV) sur LVM?

11

Je n'ai pas besoin de réduire réellement la partition MBR, juste le volume logique qui contient le système de fichiers racine «/». C'est ~ 200 Go maintenant, et je dois le réduire à ~ 150 Go pour faire de la place pour un nouveau volume logique. Comment dois-je procéder?

Michael Kropat
la source

Réponses:

23

AVANT DE CHANGER QUELQUE CHOSE QUE CE SOIT, ASSUREZ-VOUS D'AVOIR UNE SAUVEGARDE ACTUELLE. Tout cela a fonctionné pour moi, mais cela pourrait ne pas fonctionner pour vous. S'il explose pour une raison quelconque, vous ne voulez pas perdre quoi que ce soit que vous ne pouvez pas récupérer. Poursuivant…

Il n'est pas possible (à ma connaissance) de réduire un système de fichiers pendant qu'il est monté, nous devons donc effectuer le redimensionnement réel à partir d'un Live CD. Toutes les instructions suivantes supposent que vous avez démarré à partir du CD d'installation du bureau 11.10.

Une fois le Live CD démarré sur le bureau, ouvrez le terminal.

Les outils LVM ne sont pas intégrés au Live CD, nous devons donc d'abord les installer:

sudo apt-get install lvm2

Trouvez le nom du groupe de volumes (désormais «somevg») qui contient le volume logique racine:

sudo lvs

(Si ce n'est pas le cas, essayez de courir sudo lvmdiskscan, sudo pvscanpuis réessayez.)

Si vous exécutez, ls /dev/mapper/vous pouvez voir que les volumes logiques n'apparaissent pas. Si ce n'est pas le cas, vous devez exécuter la commande suivante pour informer le noyau des volumes logiques:

sudo vgchange --available y <somevg>

Comme nous n'avons pas monté le système de fichiers racine, le redimensionnement devrait être sûr. Continuez à effectuer le redimensionnement réel du volume logique. Notez que cette commande ( --size -50G) réduit le volume de 50 Go - lisez la page de manuel lvreduce (8) pour savoir comment spécifier une taille différente.

sudo lvreduce --resizefs --size -50G /dev/<somevg>/root

(Mon volume logique est appelé «racine», mais le vôtre peut être nommé différemment.)

Cette commande réduira d'abord le système de fichiers, puis réduira le volume logique qui le contient, ce qui est le seul moyen sûr de le faire.

Vous pouvez maintenant redémarrer le système et démarrer dans votre système de fichiers racine maintenant redimensionné.

Michael Kropat
la source
Ces instructions ne fonctionnent pas. lvsaffiche la nouvelle taille correcte, mais GPartedaffiche toujours le LVM avec la taille d'origine. Tout ce que vous faites est d'expliquer comment réduire le système de fichiers, pas la partition. La partition occupe toujours l'espace disque d'origine.
Cerin
Essayez-vous de réduire la partition VG et / ou MBR en plus du LV? Ces instructions sont uniquement destinées à réduire le LV. Je mettrai à jour la question car (je vois en relisant) ce n'est pas très clair.
Michael Kropat
votre hypothèse n'est pas correcte. Le redimensionnement en ligne (pendant que la partition est montée et utilisée) des partitions ext3 / ext4 existe depuis longtemps. J'utilise beaucoup cela, et je n'ai jamais eu un seul problème avec ça. Et oui, j'ai des sauvegardes actuelles tout le temps.
Floyd
@Floyd: avez-vous une citation pour ça? Je savais que le redimensionnement en ligne est possible lors de l'extension, mais pas lors de la réduction. Si le rétrécissement en ligne est désormais possible, ce serait une bonne nouvelle.
Michael Kropat
4
@Floyd, ext3 / 4 prend en charge la croissance en ligne, mais ne diminue pas.
psusi
4

Les deux lvresizeet lvreduceprend désormais en charge le reformatage du système de fichiers avant le rétrécissement du volume logique.

Ceci est un extrait d'une page de manuel sur CentOS 6.5

-r, --resizefs
       Resize underlying filesystem together with the logical volume using fsadm
jlmontes
la source
3

Toute partition et le redimensionnement LV doivent être effectués sur des partitions non montées, vous devez donc démarrer à partir du disque d'installation d'Ubuntu ou d'une clé USB, l'exécuter en tant que CD live, vous connecter à Internet, installer lvm2

sudo apt-get install lvm2

... ou vous pouvez utiliser n'importe quel CD de secours Linux déjà lvm2disponible. Assurez-vous ensuite que votre LV racine n'est pas installé, en

mount 

et démontez-le si nécessaire, puis vérifiez le système de fichiers

e2fsck -f /dev/yourVG/yourLV 

sur ce LV. Puis réduire le système de fichiers

resize2fs /dev/yourVG/yourLV 150G

et réduire LV

lvreduce -L -50G /dev/yourVG/yourLV

Redémarrez votre système, profitez-en!

Fiel
la source
3
+1 Merci pour votre aide. J'ai recherché la réponse à ma question après l'avoir posée. Les outils LVM ont maintenant l' --resizefsoption qui semble fonctionner et vous permet de sauter une étape.
Michael Kropat