web-dev-qa-db-fra.com

Comment étendre une partition avec un LVM et le volume physique et le volume logique contenus?

Sur mon SSD de 240 Go, j'avais d'abord deux partitions, l'une contenant le volume logique avec Linux Mint et l'autre contenant une partition NTFS à partager avec Windows. Maintenant, j'ai supprimé la partition NTFS et je souhaite étendre mon groupe de volumes logiques pour utiliser l'espace disque libéré.

Comment puis-je étendre le groupe de volumes, mon volume logique contenant/home et le système de fichiers (ext4) on/home? Est-ce possible de le faire en ligne?

PS: Oui, je sais que je dois sauvegarder mes données :)

/dev/sdb/  (240GB)
    linuxvg  (160GB) should use 100% of the disk space
        swap
        root
        home (ext4, 128GB) should be extended to use the remaining space

sortie de Sudo vgdisplay:

  --- Volume group ---
  VG Name               linuxvg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               160,00 GiB
  PE Size               4,00 MiB
  Total PE              40959
  Alloc PE / Size       40959 / 160,00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               ...

  --- Logical volume ---
  LV Path                /dev/linuxvg/swap
  LV Name                swap
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation Host, time mint, 2013-08-06 22:48:32 +0200
  LV Status              available
  # open                 2
  LV Size                8,00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/linuxvg/root
  LV Name                root
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation Host, time mint, 2013-08-06 22:48:43 +0200
  LV Status              available
  # open                 1
  LV Size                24,00 GiB
  Current LE             6144
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume ---
  LV Path                /dev/linuxvg/home
  LV Name                home
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation Host, time mint, 2013-08-06 22:48:57 +0200
  LV Status              available
  # open                 1
  LV Size                128,00 GiB
  Current LE             32767
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

  --- Physical volumes ---
  PV Name               /dev/sdb1     
  PV UUID               ...
  PV Status             allocatable
  Total PE / Free PE    40959 / 0

sortie de Sudo fdisk -l:

Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 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

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1   468862127   234431063+  ee  GPT

Disk /dev/mapper/linuxvg-swap: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 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/linuxvg-root: 25.8 GB, 25769803776 bytes
255 heads, 63 sectors/track, 3133 cylinders, total 50331648 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/linuxvg-home: 137.4 GB, 137434759168 bytes
255 heads, 63 sectors/track, 16708 cylinders, total 268427264 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
34
klingt.net

La question a été résolue, après avoir lu ce article de blog. J'écrirai la solution sous forme abrégée:

  • démarrer à partir d'un cd live avec
  • utilisez gdisk (si vous utilisez GPT) sinon vous pouvez utiliser le bon vieux fdisk
  • notez vos paramètres de partition, dans mon cas gdisk -l /dev/sdb
  • supprimez votre partition avec
  • créer une nouvelle partition avec exactement le même alignement que la précédente (dans mon exemple à partir du bloc 2048)
  • écrivez votre nouvelle table de partition
  • courir partprobe -s pour actualiser la table de partition sans redémarrage
  • redimensionnez votre volume physique avec pvresize /dev/sdb1 ou où se trouve votre pv (utilisez pvs pour déterminer si vous ne savez pas)
  • redimensionnez maintenant votre volume logique avec lvextend -l +100%FREE /dev/file/of/your/lv, dans mon cas Sudo lvextend -l +100%FREE /dev/linuxvg/home
  • redimensionner le système de fichiers Sudo resize2fs /dev/linuxvg/home
  • vérifiez d'abord la cohérence Sudo e2fsck -f /dev/linuxvg/home
  • prendre plaisir :)
10
klingt.net

Vous pouvez le faire assez simplement. Je suis un peu surpris qu'il n'y ait pas encore de réponse à cela ici.

Vous pouvez faire tout ce processus tout en exécutant sur le système de fichiers que vous souhaitez redimensionner (oui, il est sûr et entièrement pris en charge). Il n'y a pas besoin de CD de secours ou de systèmes d'exploitation alternatifs.

  1. Redimensionnez la partition (encore une fois, vous pouvez le faire avec le système en cours d'exécution). GParted est facile à utiliser et prend en charge le redimensionnement.
    Vous pouvez également utiliser un outil de niveau inférieur tel que fdisk. Mais vous devrez supprimer la partition et la recréer. Assurez-vous simplement que la nouvelle partition démarre exactement au même endroit.
  2. Redémarrez. Étant donné que la table de partition a été modifiée sur le système en cours d'exécution, elle ne prendra effet qu'au redémarrage.
  3. Courir pvresize /dev/sdXY pour que LVM récupère le nouvel espace.
  4. Redimensionnez le volume logique avec lvextend. Si vous voulez utiliser le tout, lvextend -r -l +100%FREE /dev/VGNAME/LVNAME. Le -r redimensionnera également le système de fichiers.
    Bien que je déconseille toujours d'utiliser tout le groupe de volumes. Vous ne savez jamais ce dont vous aurez besoin à l'avenir. Vous pouvez toujours développer plus tard, vous ne pouvez pas réduire.
48
Patrick

Aucune des réponses ne rend justice au pouvoir de LVM.

(Ceci est basé sur le commentaire @frostchutz de la question ci-dessus.)

Obtenons les faits:

  • OP a deux partitions, sdb1 et sdb2 est un volume physique pour LVM.
  • sdb1 est ntfs en ce moment, nous devons donner cet espace à home volume logique dans linuxvg groupe de volumes.

Étapes LVM utilisant la "voie pragmatique":

  • créer un volume physique sur sdb1: pvcreate /dev/sdb1
  • ajoutez sdb1 à linuxvg: vgextend linuxvg /dev/sdb1
  • étendre le volume logique home avec tout l'espace libre: lvextend -l +100%FREE /dev/linuxvg/home
  • étendre ext4 fs: resize2f /dev/linuxvg/home

LVM permet un grand niveau d'indirection. Un volume logique se trouve dans un groupe de volumes, qui pourrait utiliser plusieurs disques.

accueil -> linuxvg -> (sdb1, sdb2, sdc1)

http://tldp.org/HOWTO/LVM-HOWTO/createvgs.html

12
MGP

Déjà d'excellentes réponses.

Si vous utilisez xfs, vous utilisez la commande

xfs_growfs /mountpoint

plutôt que resize2fs. Vous pouvez le faire pendant que ce point de montage est actif, comme si vous avez développé la partition racine, et vous n'avez pas besoin de redémarrer après.

4
Paul M