Comment réduire les volumes logiques et physiques d'Ubuntu LVM?


26

J'ai installé Ubuntu 12.10 comme seul OS sur mon système.

J'ai dit à Ubuntu de tout écraser car j'étais pressé, donc je n'ai que les deux partitions créées par Ubuntu, la partition de démarrage de quelques centaines de Mo, puis tout le reste.

La partition principale est d'environ 600 Go,

Je souhaite redimensionner cela à 450 Go, afin de pouvoir installer Windows 8 en tant que double démarrage.

Le problème est que je ne peux pas trouver comment réduire la partition, normalement c'est bien depuis l'iso en direct Gparted (gparted-live-0.14.1-6-i486.iso), redimensionnez simplement et vous êtes prêt à partir.

Mais cette fois, Ubuntu a été installé avec LVM.

Ainsi, la partition Ubuntu a une icône de verrouillage à côté d'elle. Cela m'empêche de faire quoi que ce soit, je peux sélectionner la partition, et il y a une option pour "désactiver" qui, si j'ai raison, je crois que le swap est désactivé? Si je fais cela, je peux manipuler la partition.

Je demande ici si c'est la bonne chose à faire avant de casser mon système.

  1. Démarrez à partir de l'iso gparted en direct.
  2. Sélectionnez la partition Ubuntu.
  3. "Désactivez" la partition.
  4. Redimensionnez la partition.
  5. "Activez" la partition.
  6. Appliquer.
  7. Profit???

Ma pensée est-elle correcte?

Éditer # 1

Donc, après une conversation prolongée, je suis descendu à cette commande

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

Qui a réussi à réduire la partition logique.

Gparted New Shot

Mais maintenant, j'ai la partie difficile.

Maintenant, je dois réduire la partition physique pour pouvoir créer une nouvelle partition physique avec l'espace pour installer Windows 8.

J'ai donc pensé pouvoir courir

pvresize --setphysicalvolumesize {any size here} /dev/sda5

Mais je reviens:

/ dev / sda5: ne peut pas être redimensionné aux extensions xxxxx car les versions ultérieures sont allouées.

Ce qui, je pense, est dû au swap dû à cette image:

Darn Swap!, alors quelle est ma prochaine étape?

$: lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu/root
  LV Name                root
  VG Name                ubuntu
  LV UUID                G7Z3dA-xska-8QpO-Y5oD-aIVO-D8l1-22s6dO
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:02 +1300
  LV Status              available
  # open                 1
  LV Size                540.42 GiB
  Current LE             138348
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/ubuntu/swap_1
  LV Name                swap_1
  VG Name                ubuntu
  LV UUID                14qpRy-H5jl-dTAq-CVle-k7Bz-95Rm-Y46zOs
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:04 +1300
  LV Status              available
  # open                 2
  LV Size                7.97 GiB
  Current LE             2041
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Informations supplémentaires avant l'édition n ° 1

Capture d'écran de Gparted
Notez que la photo ci-dessus est tirée de la version Gparted dans les référentiels Ubuntu, pas de la dernière version

matthew @ play: ~ $ sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 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: 0x000c5bec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1465147391   732322817    5  Extended
/dev/sda5          501760  1465147391   732322816   8e  Linux LVM

Disk /dev/mapper/ubuntu-root: 741.3 GB, 741334843392 bytes
255 heads, 63 sectors/track, 90128 cylinders, total 1447919616 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/ubuntu-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu-swap_1: 8560 MB, 8560574464 bytes
255 heads, 63 sectors/track, 1040 cylinders, total 16719872 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/ubuntu-swap_1 doesn't contain a valid partition table

matthew @ play: ~ $ sudo lvs

  LV     VG     Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  root   ubuntu -wi-ao-- 690.42g                                           
  swap_1 ubuntu -wi-ao--   7.97g  

matthew @ play: ~ $ sudo vgs

  VG     #PV #LV #SN Attr   VSize   VFree
  ubuntu   1   2   0 wz--n- 698.39g    0 

matthew @ play: ~ $ sudo pvs

  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda5  ubuntu lvm2 a--  698.39g    0 

Assurez-vous que vous exécutez une version GParted récente ( prise en charge LVM récemment acquise - vous l'êtes, donc simplement une note pour les autres lecteurs). Et la désactivation est, je pense, la désactivation du groupe de volumes ( vgchange -an myvgname) qui peut être nécessaire si vous voulez changer le volume physique. :) Oh, c'est presque une réponse.
gertvdijk

Plus de détails fournis.
Hailwood

@gertvdijk Envoyez-moi un ping dans le chat si vous avez besoin d'informations rapides.
Hailwood

Cela a-t-il été résolu? Je cherche à réduire la partition physique pour installer une autre version du système d'exploitation côte à côte.
Jamess

Réponses:


17

Ce sont toutes les étapes nécessaires pour redimensionner une partition LVM ou LVM2 -

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

Vous devez réorganiser l'espace non alloué à la fin du LVM. Cela signifie après la partition racine et swap_1. Donc, vous devez déplacer cet espace libre en utilisant la commande ci-dessous

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz swap 0 linear /dev/sda5:yyy-zzz

Utilisez maintenant la commande ci-dessous pour supprimer la fragmentation externe -

sudo pvmove --alloc anywhere /dev/sda5:yyy-zzz

Voyons maintenant comment ça se passe -

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn swap 0 linear /dev/sda5:xxx-yyy(-1)
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz 0 free

Après cela, utilisez le gparted et redimensionnez le LVM à la zone maximale utilisée et le reste sera dans l'espace non alloué. Prendre plaisir...


7

Je voudrais, maintenant que vous avez le plus petit LV racine, lvremovele swap LV et le recréer. Cela devrait l'obliger à être directement ajouté à la racine LV en termes de position. Une fois cela fait, vous devriez être en mesure d'accéder au pvresizevolume physique. Ensuite, c'est la partie effrayante de la modification de la table de partition ( fdisk) pour réduire la partition à la nouvelle taille du PV, libérant ainsi de l'espace pour le programme d'installation de Windows.

Pour la réduction de la taille de la partition, je recommanderais d'aller légèrement plus grand, de quelques Mo, que le PV indique sa taille et d'augmenter le PV et le LV racine pour remplir les étendues libres. De cette façon, vous pouvez être sûr que vous A) utilisez toute la taille de la partition pour LVM et ne perdez pas d'espace en la rendant inaccessible, et B) ne coupez pas les données vitales du PV en interprétant mal KiB / MiB / GiB binaire pour KB décimal / MB / GB ou vice versa pendant l'opération fdisk.

Le nouvel échange, si vous en créez un nouveau pour vous assurer qu'il est ajouté au LV racine comme je le suggère ci-dessus, aura un UUID différent et donc votre / etc / fstab ne correspondra pas. Une fois le redimensionnement terminé, vous devrez mount /dev/ubuntu/root /mntmodifier / mnt ** / etc / fstab **.

Dans le fichier fstab, vous devez trouver l'entrée d'échange similaire à celle ci-dessous et mettre à jour l'hexidécimal après UUID = avec la valeur indiquée par blkid.

Les étapes de blkidmon système sont les suivantes:

  1. courir

    blkid /dev/ubuntu/swap_1
    

    qui sort

    /dev/ubuntu/swap_1: UUID="9e99b37a-38af-4987-85eb-92048abd9825" TYPE="swap"
    
  2. copier la valeur UUID

    9e99b37a-38af-4987-85eb-92048abd9825

  3. éditez / etc / fstab à partir de votre LV racine et insérez la valeur UUID à la place de l'ancien UUID.

    trouver

    UUID=**old-uuid** none swap sw 0 0
    

    remplacez votre nouvel UUID à la place de l'ancien-uuid

    UUID=9e99b37a-38af-4987-85eb-92048abd9825 none swap sw 0 0
    

    vous pouvez également remplacer le mécanisme UUID et utiliser /dev/ubuntu/swap_1, par exemple

    /dev/ubuntu/swap_1 none swap sw 0 0
    

Cette procédure ainsi que les modifications en question m'ont aidé à redimensionner la partition. Je n'ai pas pu trouver la commande lvdelete (12.04) et j'ai utilisé lvremove pour supprimer la partition de swap. Le pvresize fonctionnait comme un charme. Ensuite, j'ai utilisé le CD live gparted pour redimensionner la partition à une taille inférieure. terminé l'opération et la taille non allouée a été créée. Je suggère au demandeur de créer une réponse complète.
Jamess

Par ailleurs, je n'utilisais pas UUID (ai-je changé, je ne me souviens pas), mai systyem n'a jamais utilisé UUID pour l'échange. Je pouvais donc ignorer les étapes d'édition de l'UUID.
Jamess

Comment recréer un swap lv 1. lvcreate -L 5G -n / dev / vg0 / swap_1 2. mkswap / dev / vg0 / swap_1, swapon -s / dev / vg0 / swap_1, puis valider les entrées / etc / fstab et si UUID de changement nécessaire.
Jamess

Merci pour la mention d' lvdeleteêtre incorrecte dans ma réponse. J'ai maintenant corrigé le texte pour citer le lvremovenom propre .
Daniel Llewellyn

6

Utilisez KVPM depuis le Centre logiciel. J'ai installé Ubuntu 14.10 LTS en utilisant le disque entier un énorme LVM (je sais à quoi sert un énorme LVM) mais je voulais ajouter deux autres LVM pour un autre OS et un lecteur de données. J'ai utilisé KVPM, il est dit gestionnaire de partition KDE dans la description mais cela fonctionne très bien le 14.04. Voici les étapes.

  1. Téléchargez 14.04LTS et créez une clé USB amorçable.
  2. Démarrez à partir de l'USB, en utilisant l'option TRY UBUNTU pour que vous exécutiez sur une clé USB.
  3. Installez KVPM à partir du Centre logiciel.
  4. Exécutez KVPM depuis le terminal de votre choix,

    sudo kvpm- si vous venez de lancer kvpm, le CD live vous donnera une erreur et se bloquera.

  5. Une fois que kvpm a ouvert l'interface graphique, accédez à l'onglet intitulé some_drive-vg

  6. Mettez en surbrillance le volume à redimensionner et faites un clic droit pour les options, choisissez réduire le volume.
  7. Vous pouvez renommer le LVM en même temps que vous entrez la nouvelle taille.
  8. Suivez les invites pour valider le changement et le tour est joué, vous aurez de l'espace libre non alloué.
  9. Vous pouvez créer autant de nouveaux LVM que vous le souhaitez avec l'espace disponible. Mon affichage montrait un espace vert non alloué, simplement faites un clic droit sur l'espace vert, votre seule option sera "Créer un nouveau volume logique".

Il m'a fallu plus de temps pour écrire cela que pour exécuter l'ensemble du processus.

Soit dit en passant, la partition / root que j'ai redimensionnée fonctionne parfaitement après tous les changements. Redémarrez simplement votre disque dur dans le système d'exploitation que vous avez choisi et profitez de vos nouveaux volumes trouvés.


0

KVPM est le chemin à parcourir, aucun redémarrage requis.

  1. Clic droit sur Démonter la partition
  2. réduire la taille
  3. clic droit sur une autre partition étendre la taille
  4. remonter la partition d'origine

TERMINÉ!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.