Ubuntu: redimensionner la partition racine LVM (2?)

10

J'ai une machine virtuelle Ubuntu exécutée dans VirtualBox 2.2.4, et je l'ai créée sur un disque virtuel de 8 Go qui est trop petit.

Donc, j'essaie d'augmenter la taille du disque. Jusqu'à présent, je l'ai fait:

  1. Création d'un nouveau disque virtuel plus grand
  2. Ajout du 2ème disque à la machine
  3. CloneZilla utilisé pour cloner le premier disque sur le 2ème disque
  4. Suppression du premier disque
  5. Démarré à partir du 2e (disque plus grand)

Mais maintenant, je suis toujours bloqué avec une partition de 8 Go sur mon nouveau disque virtuel de 100 Go.

Quel est le chemin le plus simple à partir d'ici pour avoir une partition de 100 Go? :) Je suppose que GPart peut redimensionner les partitions, mais il ne semble pas prendre en charge les partitions LVM2, ce que le mien semble être.

THX

  • Alex
user12259
la source

Réponses:

5

En général, voici comment redimensionner des volumes LVM:

Disons que /mountpointc'est activé /dev/VolGroup00/mountpoint. Vous pouvez le découvrir en vérifiant /etc/fstabou en exécutant mount -l.

Vous devrez peut-être également redimensionner le volume physique réel, selon votre configuration. Utilisez pvdisplaypour savoir s'il est assez grand et utilisez pvresize(un peu comme lvresizeci-dessous) si nécessaire.

umount /mountpoint
lvresize -L +<HOW MUCH BIGGER> /dev/VolGroup00/mountpoint
e2fsck -f /dev/VolGroup00/mountpoint
resize2fs /dev/VolGroup00/mountpoint <TOTAL SIZE>
mount /mountpoint

Cela revient à démonter, redimensionner le LVM sous-jacent, puis redimensionner la partition ext3 réelle.

Quelques précautions à prendre:

  1. Évidemment, jouer avec /sera différent d'une partition de données. Vous devrez peut-être un disque de démarrage tel que Sysrescuecd au lieu de Doing It Live. Voir également le commentaire de Kristof ci-dessous - vous pouvez en fait le faire sans démontage /.
  2. lvresize a quelques options de syntaxe différentes, et la réduction d'un volume logique endommagera probablement la partition superposée. Consultez vos pages de manuel locales pour plus d'informations.
Mat
la source
Merci, cela semble prometteur, pouvez-vous suggérer un LiveCD que je pourrais utiliser avec des outils LVM?
user12259
Sysrescuecd est sympa ( sysresccd.org )
Zoredache
5
ext2 / 3/4 prend en charge la croissance en direct de votre système de fichiers. Vous n'avez pas besoin de démonter ou d'e2fsck vos partitions. resize2fs est également assez intelligent pour déterminer la taille de la partition (ou volume logique) sur laquelle il se trouve. Si vous ne spécifiez pas de taille, il s'agrandira pour remplir tout l'espace disponible.
Kristof Provost, le
J'ai essayé "sudo resize2fs / dev / sda1" et il a répondu: "resize2fs: périphérique ou ressource occupé lors de la tentative de stylet / dev / sda1 Impossible de trouver un superbloc de système de fichiers valide"
user12259
1
lvresize ne change pas la taille du volume physique, donc n'ai-je pas besoin de le faire d'abord?
user12259
2

Il y avait une (et une seule) façon de le faire et j'ai essayé une myriade.

Tout d'abord, clonez la machine virtuelle invitée ubuntu dans virtualbox en cliquant dessus avec le bouton droit et en cliquant sur "cloner". Une fois le clone terminé, étendez le vdi cloné à l'aide de (Sur le système d'exploitation hôte)

VBoxManage modifyhd "name_of_cloned_vdi" --resize "size_of_new_root_partition_in_MB"

Ensuite - suivez les étapes de ce message à la lettre (il fait référence à VMware comme une plate-forme, mais ignorez cela)

http://blog.campodoro.org/?p=36

Cela créera un autre lvm de taille exactement équivalente à l'espace supplémentaire que vous avez ajouté et le clouera à la fin de l'espace existant.

Une fois que vous avez vérifié que tout va bien, vous pouvez supprimer la machine virtuelle d'origine et promouvoir votre clone!

Pas besoin de jouer avec fdisk et de vous soucier de supprimer ou de visser la mauvaise partition.

J'ai dû casser environ 4 OS clonés jusqu'à ce que je trouve cette solution!

Ben
la source
2

Je viens de le faire et j'ai posé la même question que vous, mais au lieu de créer un nouveau LVM et de l'ajouter au groupe de volumes, le côté OCD de moi voulait redimensionner mon LVM actuel et garder ainsi une seule partition au nom de la simplicité. Remarque: je ne pense pas que cela soit possible si l'espace libre ne suit pas immédiatement la partition que vous redimensionnez!

Pour ce faire, vous aurez besoin d'un outil qui peut supprimer et créer des tables de partition. Puisque j'utilise GPT, cela signifiait que j'avais besoin de gdisk . Vous devrez également le faire avec la partition non montée, vous pouvez donc vouloir démarrer sur un LiveCD Ubuntu et l'exécuter à partir de là.

Les étapes suivantes en gras sont par exemple LVM / dev / mms / root sur le périphérique / dev / sda , où je voulais étendre la partition / dev / sda3 pour occuper mon nouvel espace libre.

REMARQUE : ils sont potentiellement très destructeurs, alors assurez-vous que vos entrées sont correctes!

  1. gdisk / dev / sda (assurez-vous d'entrer le bon périphérique!) Cela vous amène dans gdisk où vous pouvez ensuite effectuer les étapes suivantes dans l'ordre
    1. p - imprime vos informations de partition actuelles (pour référence)
    2. d - pour supprimer une table de partition
    3. 3 - le numéro de périphérique représentant la table de partition que vous souhaitez supprimer (important!)
    4. n - pour créer une table de partition
    5. 3 - le numéro de périphérique représentant la table de partition que vous souhaitez créer (vous voudrez probablement utiliser le même que celui que vous avez supprimé à l'étape 3)
    6. p - imprime vos informations de partition actuelles (encore une fois pour référence, comparez-les à ce que vous avez commencé!)
    7. w - enregistre vos modifications sur le disque (êtes-vous sûr?!)
  2. pvresize / dev / sda3 - vous devrez peut-être redémarrer avant de le faire pour que votre système d'exploitation reconnaisse la nouvelle taille de partition
  3. pvdisplay - imprime vos informations actuelles (cela devrait montrer qu'il utilise l'espace complet maintenant!)
  4. lvresize -l + 100% GRATUIT / dev / mms / root - redimensionne mon LVM pour occuper 100% de mon nouvel espace
  5. e2fsck -f / dev / mms / root - effectue une vérification d'intégrité
  6. resize2fs -p / dev / mms / root - redimensionne le système de fichiers pour occuper votre LVM complet

Après avoir fait ce qui précède et redémarré dans le système d'exploitation redimensionné, tout a fonctionné comme prévu et j'avais tout mon espace libre supplémentaire à ma disposition!

Références supplémentaires que j'ai utilisées pour comprendre tout cela:

http://www.jethrocarr.com/2012/08/10/gdisk-oh-glorious-gdisk/ http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html

James
la source
1

Voir une réponse connexe ici.

(extrait)

Redimensionnement du volume physique:

pvresize --verbose --test /dev/md0

Redimensionnement du volume logique:

lvresize --verbose -L <SIZE> --test /dev/VG1/LV1

Et enfin, redimensionner ext3 FS:

resize2fs /dev/VG1/LV1
Zoredache
la source
Quand je fais lvresize, j'obtiens une erreur "Impossible de suspendre root"
user12259
J'ai essayé: "sudo lvresize --verbose -L 40G / dev / ubuntu / root"
user12259
ok, j'ai corrigé cela avec "sudo modprobe dm-mod", maintenant je peux réussir lvresize
user12259
fdisk -lmontre que j'ai 54 Go disponibles, mais après l'exécution, pvresize /dev/sda2; lvresize -L 50G /dev/mapper/VolGroup-lv_rootj'obtiens l'erreur "Espace libre insuffisant: 588 extensions nécessaires, mais seulement 0 disponible". pvdisplaymontre que mon volume physique n'a pas été redimensionné.
Cerin
Vous devriez vraiment poser une nouvelle question. Les commentaires d'une vieille question ne sont pas le meilleur moyen d'obtenir de l'aide.
Zoredache
1

Notez que vous n'avez pas réellement besoin d'utiliser un outil de clonage comme CloneZilla ici, vous pouvez placer une partition sur le nouveau disque virtuel (facultatif) puis l'initialiser (ou le disque virtuel lui-même) dans LVM à l'aide de la pvcreatecommande. Utilisez ensuite vgextendpour ajouter cela au groupe de volumes prenant en charge votre volume logique, puis utilisez vgreducepour supprimer le disque virtuel d'origine du groupe de volumes. Cela effectuera une migration, et cela peut être fait en direct pendant que le volume logique est utilisé, c'est la beauté de la virtualisation du stockage. Une fois terminé, il vous suffit d'étendre le volume logique comme ci-dessus, ce qui pourrait également être fait en direct avec des systèmes de fichiers plus modernes qu'ext3.

Fougère
la source
1

I. Si votre disque dur virtuel a une taille fixe, vous ne pouvez pas l'agrandir. Dans ce cas, vous devez d'abord le cloner.

(1) Clonez le disque dur sur l'interface graphique VB: File -> Virtual Media Manager... -> [tab] Hard Drives -> select your HDD -> [button] Next -> [button] Next -> select "Dynamically allocated" on the step "Storage on physical hard drive"-> ...

ou sur la ligne de commande:

# VBoxManage clonehd "/path/to/the/HDD.vdi" "/path/to/the/HDD_NEW.vdi"

(2) Ajoutez le nouveau disque dur à la liste des disques durs connus.

(3) Dans les paramètres de la machine VB, supprimez l'ancien disque dur de la liste VDI sous le contrôleur et ajoutez le nouveau à la place.

II. Redimensionner le disque dur

(1) Redimensionnez le nouveau disque dur.

# VBoxManage modifyhd 463c7bd4-9b9c-4cf8-bee4-e14e10c0d462 --resize 25600

Vous obtenez la clé avec la VBoxManage list hddscommande.

III. Ajoutez un nouvel espace alloué.

(1) Ajoutez un ISO GParted comme nouveau support sous Machine Settings -> Storage -> [rightclick] Controller IDE -> Add CD / DVD Device -> ...et cochez la Live CD/DVDcase.

(2) Démarrez la machine virtuelle et ajoutez l'espace libre non alloué à votre partition de travail.

(3) Arrêtez la machine virtuelle.

(4) Détachez l'ISO GParted.

Prendre plaisir! :)

automatix
la source
0

Lors du redimensionnement de la partition LV2, cette référence m'a beaucoup aidé:

http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html

Notez que vous n'avez pas besoin d'utiliser de CD live, vous pouvez effectuer le redimensionnement sur le système live monté, en le redimensionnant à la volée.

takhin
la source