Bonjour,

Surement une enieme discussion sur LVM mais je n’ai pas trouvé de reponse sur le forum jusqu’a present.

Voici mon souci:

J’ai installé une fedora sur un disque ssd en plaçant le swap, le / et le /home dans 3 lv distincts d’un unique vg. le / et /home sont en btrfs.

Par la suite j’ai ajouté un autre disque sur lequel j’ai etendu le vg et etendu le lv /home.

Je pense donc me retrouver avec

  • lv swap: disque 1
  • /: disque 1
  • /home: disque 1 + disque 2

Maintenant je voudrais sortir le disque 2, et donc me retrouver avec tout sur le disque 1 uniquement. Mais quand je fais pvmove il met sort No extents available for allocation. Quand je fais un vgreduce il me sort ![](data:text/plain;base64,)Physical volume “/dev/sda” still in use.

Voici le sortie de:

pvs

PV             VG       Fmt  Attr PSize    PFree   
/dev/nvme0n1p3 lvm_vg_1 lvm2 a--  <222,45g       0 
/dev/sda       lvm_vg_1 lvm2 a--  <465,76g <265,76g

la sortie de

vgs

VG        #PV #LV #SN Attr   VSize    VFree   
lvm_vg_1   2   3   0  wz--n- <688,21g <265,76g

et enfin la sortie de

df -BG

Sys. de fichiers          blocs de 1G Utilisé Disponible Uti% Monté sur
devtmpfs                           1G      0G         1G   0% /dev
tmpfs                             16G      1G        16G   1% /dev/shm
tmpfs                              7G      1G         7G   1% /run
/dev/mapper/lvm_vg_1-root         50G     12G        38G  24% /
tmpfs                             16G      1G        16G   1% /tmp
/dev/nvme0n1p2                     1G      1G         1G  33% /boot
/dev/mapper/lvm_vg_1-home         41G      2G        38G   4% /home
/dev/nvme0n1p1                     1G      1G         1G  10% /boot/efi
tmpfs                              4G      1G         4G   1% /run/user/1000

A priori j’ai la place de virer /dev/sda du vg, mais je ne comprends pas ce qu’il se passe…

Pourriez-vous m’eclairer?

Bonne journée

Edit Nicosss : Correction des balises Markdown -> Voir FAQ

    • Meilleure réponsesélectionnée par ggmero

    Salut,

    Au final ce que j’ai fait:

    • sauvegarder /home dans un fichier tar comme proposé, et le copier sur une clef usb
    • demarrer le PC sur un system_rescue (en mode graphique)
    • lvremove /dev/lvm_vg_1/home -> supprime le lv
    • vgreduce lvm_vg_1 /dev/sda -> reduit le vg de la taille de sda (pas sûr! mais il m’invitait a faire ca avant le pvremove)
    • pvremove /dev/sda -> sort effectivement le disque du vg
    • lvcreate -n home -l 100%FREE lvm_vg_1 -> recree un lv sur tout l’espace libre du disque nvme avec le meme nom (j’ai supposé que ce serait plus simple a gerer pour GRUB), il a vu qu’il y avait un entete btfrs (surement du precedent) que j’ai wipé
    • mkfs.ext4 /dev/lvm_vg_1/home -> formate la partition en ext4
    • blkid pour recuperer le UUID de la nouvelle partition
    • edite le FSTAB pour remplacer l’ancien UUID
    • mount la nouvelle partition pour y decompresser l’archive precedente

    Je prends ces notes alors que je suis encore sous systemrescue. Next step: tourner 3 fois sur ma chaise, prier, redemarrer et esperer que tout se passe bien = fedora qui redemarre comme si de rien n’etait 😧

ggmero a renommé le titre en lvm supprimer pv d'un vg le .

Salut
Avant tout et pour la bonne compréhension, peut-tu préciser ce que tu appelles d’abord disque 1 et disque 2 et plus loin nvme0 et sda ?

Salut,

Disque 1 = /dev/nvme0 = disque que je veux garder, celui sur lequel j’ai le /boot et le /boot/efi sur des partitions dediées

Disque 2 = /dev/sda = disque que je veux enlever

En tous cas avant tout tu ne peux réduire un fs ou un lv à chaud, ce qui veut dire que tu dois démarrer à partir d’un live.

    nouvo09

    J’ai essayé aussi, en passant par le live de fedora qui m’avait servi a faire l’installation. Quand je fais ca, on dirait qu’il n’arrive pas a voir que les 2 disques sont ressemble dans un meme lv, du coup je ne peux rien faire…

    Vu que je n’ai encore rien sur la lv home (celle que je veux modifier), peut-etre que je peux passer par une suppression puis recreation?

    Est-ce que c’est possible de faire ca? a chaud?

    A chaud probablement mais pas en mode console, pas graphique.
    Mais avant tout je voudrais bien voir les résultats des commandes:

    $ mount
    et
    sudo fdisk -l /dev/nvme0

    pour mount

    proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
    sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
    devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=4096k,nr_inodes=4093294,mode=755,inode64)
    securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
    tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel,inode64)
    devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
    tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,size=6557872k,nr_inodes=819200,mode=755,inode64)
    cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,seclabel,nsdelegate,memory_recursiveprot)
    pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime,seclabel)
    efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
    bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
    ramfs on /run/credentials/systemd-vconsole-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,seclabel,mode=700)
    configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
    /dev/mapper/lvm_vg_1-root on / type btrfs (rw,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/)
    selinuxfs on /sys/fs/selinux type selinuxfs (rw,nosuid,noexec,relatime)
    systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=24807)
    mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime,seclabel)
    hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel,pagesize=2M)
    debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime,seclabel)
    tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime,seclabel)
    fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
    ramfs on /run/credentials/systemd-sysctl.service type ramfs (ro,nosuid,nodev,noexec,relatime,seclabel,mode=700)
    ramfs on /run/credentials/systemd-tmpfiles-setup-dev.service type ramfs (ro,nosuid,nodev,noexec,relatime,seclabel,mode=700)
    /dev/nvme0n1p2 on /boot type ext4 (rw,relatime,seclabel)
    tmpfs on /tmp type tmpfs (rw,nosuid,nodev,seclabel,nr_inodes=1048576,inode64)
    /dev/mapper/lvm_vg_1-home on /home type btrfs (rw,relatime,seclabel,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/)
    /dev/nvme0n1p1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)
    binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
    ramfs on /run/credentials/systemd-tmpfiles-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,seclabel,mode=700)
    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
    ramfs on /run/credentials/systemd-resolved.service type ramfs (ro,nosuid,nodev,noexec,relatime,seclabel,mode=700)
    tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=3278932k,nr_inodes=819733,mode=700,uid=1000,gid=1000,inode64)
    gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
    portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

    et pour fdisk sur le /dev/nvme0n1:

    Disque /dev/nvme0n1 : 223,57 GiB, 240057409536 octets, 468862128 secteurs
    Modèle de disque : ******                    
    Unités : secteur de 1 × 512 = 512 octets
    Taille de secteur (logique / physique) : 512 octets / 512 octets
    taille d'E/S (minimale / optimale) : 512 octets / 512 octets
    Type d'étiquette de disque : gpt
    Identifiant de disque : AFFF902F-6695-4DED-A17A-A99AF1F6BE45
    
    Périphérique     Début       Fin  Secteurs Taille Type
    /dev/nvme0n1p1    2048    393215    391168   191M Système EFI
    /dev/nvme0n1p2  393216   2347007   1953792   954M Système de fichiers Linux
    /dev/nvme0n1p3 2347008 468860927 466513920 222,5G LVM Linux

    fdisk sur le /dev/sda:

    Disque /dev/sda : 465,76 GiB, 500107862016 octets, 976773168 secteurs
    Modèle de disque : *****  
    Unités : secteur de 1 × 512 = 512 octets
    Taille de secteur (logique / physique) : 512 octets / 512 octets
    taille d'E/S (minimale / optimale) : 512 octets / 512 octets

    Bizarrement il n’affiche pas les partitions de ce disque… alors que dans blivet je vois bien qu’il est affecté au vg

    Pour être sur de l’homogénéité de la procédure, je ferais depuis un live (perso je préfère sysresccd)

    • d’abord une sauvegarde de tout /home au moyen d’un tar :
      Montage de /home dans un répertoire provisoire en le créant au besoin :
      mount /dev/mapper/lvm_vg_1-home /tempo
      cd /tempo ; tar cvf sauvehome.tar *
      et mettre ce fichier de côté soit sur une clé usb soit dans la partition uefi provisoirement et démonter : umount /tempo

    supprimer le volume logique lvm_vg_1_home (si demandé, supprimer auparavant les pv de ce volume

    Lancer la commande : fdisk /dev/nvme0n1 et modifier le type de la partition 3 en 83 (linux). Enregistrer, quitter.

    Créer un système de fichiers ext sur cette partition : mkfs.ext4 /dev/nvme0n1p3

    Monter cette partition : mount /dev/nvme0n1p3 /tempo et y rapatrier le fichier sauvehome.tar, et le « déballer » : cd /tempo ; tar xvf sauvehome

    éditer le fichier /etc/fstab et remplacer /dev/mapper/lvm_vg_1-home par /dev/nvme0n1p3 et modifier les type et options : ext4 defaults 1 1 (tu modifies selon tes besoins)

    éteindre la machine, ôter sda et redémarrer. Ca devrait fonctionner si je ne me suis pas gouré.

      nouvo09 merci pour les infos!

      Ca me parait beaucoup plus compliqué que je ne me l’imaginais, d’autant qu’on m’avait vendu lvm comme une moyen simple d’étendre/réduire des partitions a la volée…

      j’ai cependant quelques questions

      supprimer le volume logique lvm_vg_1_home

      j’ai mon root et mon swap qui appartiennent a ce vg, ca va les supprimer en meme temps?

      Créer un système de fichiers ext sur cette partition

      Je vois que tu passes par une partition ext4: pourquoi? je pensais que btfrs était le filesystem a utiliser en ce moment?

        tu as un volume dénommé :
        /dev/mapper/lvm_vg_1-root

        alors çà m’étonnerait que root soit sur le volume home. Quant au swap peu importe tu peux le recréer où tu veux, il n’y a pas de données à perdre.

        ggmero je pensais que btfrs était le filesystem a utiliser en ce moment?

        moi, les effets de mode…

        Salut,

        Au final ce que j’ai fait:

        • sauvegarder /home dans un fichier tar comme proposé, et le copier sur une clef usb
        • demarrer le PC sur un system_rescue (en mode graphique)
        • lvremove /dev/lvm_vg_1/home -> supprime le lv
        • vgreduce lvm_vg_1 /dev/sda -> reduit le vg de la taille de sda (pas sûr! mais il m’invitait a faire ca avant le pvremove)
        • pvremove /dev/sda -> sort effectivement le disque du vg
        • lvcreate -n home -l 100%FREE lvm_vg_1 -> recree un lv sur tout l’espace libre du disque nvme avec le meme nom (j’ai supposé que ce serait plus simple a gerer pour GRUB), il a vu qu’il y avait un entete btfrs (surement du precedent) que j’ai wipé
        • mkfs.ext4 /dev/lvm_vg_1/home -> formate la partition en ext4
        • blkid pour recuperer le UUID de la nouvelle partition
        • edite le FSTAB pour remplacer l’ancien UUID
        • mount la nouvelle partition pour y decompresser l’archive precedente

        Je prends ces notes alors que je suis encore sous systemrescue. Next step: tourner 3 fois sur ma chaise, prier, redemarrer et esperer que tout se passe bien = fedora qui redemarre comme si de rien n’etait 😧

          Tu vois que c’est pas si difficile, le tout c’est de bien préparer la manœuvre. Cela dit je n’aurais surement pas recréé un lvm juste pour remplir une partition. On empile les processus et ça multiplie les risques.