10

I have one setup where / has 50G space. I want to increase space for /.

[root@testsyst ~]# df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/vg_testsyst-lv_root   50G   22G   26G  46% /
tmpfs                            127G     0  127G   0% /dev/shm
/dev/mapper/mpathap1             481M   40M  416M   9% /boot
/dev/mapper/vg_testsyst-lv_home  242G  188M  230G   1% /home

/home has 242G, from /home I want to move 150G to /.

See the output of lvmdisplay and vgdisplay below.

[root@testsyst ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg_testsyst/lv_root
  LV Name                lv_root
  VG Name                vg_testsyst
  LV UUID                VzQzcz-NssK-8BIT-qtjz-XJho-0Mwd-fEbph1
  LV Write Access        read/write
  LV Creation host, time testsyst, 2014-05-01 23:51:39 +0530
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

  --- Logical volume ---
  LV Path                /dev/vg_testsyst/lv_home
  LV Name                lv_home
  VG Name                vg_testsyst
  LV UUID                zNUKiG-QouE-q71z-ohNQ-0cFR-lggG-jNksZd
  LV Write Access        read/write
  LV Creation host, time testsyst, 2014-05-01 23:51:41 +0530
  LV Status              available
  # open                 1
  LV Size                245.50 GiB
  Current LE             62847
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:5

  --- Logical volume ---
  LV Path                /dev/vg_testsyst/lv_swap
  LV Name                lv_swap
  VG Name                vg_testsyst
  LV UUID                Nv191J-qMuf-zX7R-ifLV-76Et-V1Yp-LAkejt
  LV Write Access        read/write
  LV Creation host, time testsyst, 2014-05-01 23:51:48 +0530
  LV Status              available
  # open                 1
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4

[root@testsyst ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_testsyst
  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               299.50 GiB
  PE Size               4.00 MiB
  Total PE              76671
  Alloc PE / Size       76671 / 299.50 GiB
  Free  PE / Size       0 / 0
  VG UUID               eHqLTK-G941-Xy9V-Ga8X-0AZH-Ndf4-g5wtag
Nilesh
  • 255
  • 1
  • 6
  • 17

1 Answers1

11
  1. Boot with a maintenance CD that supports LVM, for example SystemRescueCD.

  2. Open a root shell.

  3. Reduce the size of /home:

    lvreduce --resizefs --size -150G /dev/mapper/vg_testsyst-lv_home
    

    The --resizefs option is essential, to reduce the size of the file system before you reduce the size of the volume that holds it. I believe that that option should work for most common file systems, but if it doesn't, you'll have to reduce the size of the file system first, using e.g. resize2fs for ext2/3/4 file systems.

    The 150 GB have now been returned to the vg_testsyst volume group.

  4. Add the extra space to /:

    lvextend --resizefs --size +150G /dev/mapper/vg_testsyst-lv_root
    

    This time --resizefs will expand the size of the file system to equal the new volume size.

  5. Reboot.

Andrew Schulman
  • 8,561
  • 21
  • 31
  • 47
  • 2
    N.B. If you are not playing with the root partition, and you can unmount, you can run these commands without having to reboot. Kinda cool. – teknopaul Mar 10 '17 at 12:36