:::: MENU ::::

CentOS LVM Resize

Since the release of CentOS 5.5 we noticed that the default CentOS install assigns a considerable amount of its available storage space to Swap. If you don’t catch this during the installation don’t worry, Logical Volume Manager or LVM will rectify this post install.

LVM is a logical volume manager for the Linux kernel; it manages disk drives and similar mass-storage devices, in particular large ones. The term “volume” refers to a disk drive or partition thereof.

Before we start just some general housekeeping. The XEN virtual CentOS 5.5 server (base install) in this tutorial was assigned 10GB of storage with the default partitioning layout.

Let check the amount of disk space available on the file system.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      4.9G  2.4G  2.3G  51% /
/dev/xvda1             99M   23M   72M  25% /boot
tmpfs                 4.0G     0  4.0G   0% /dev/shm

Let see the attributes of the logical volumes like size, read/write status, snapshot information

# lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol00
  VG Name                VolGroup00
  LV UUID                oFXKGg-nBPo-Fk27-3ino-zaHZ-cEcv-fk0dS0
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                5.00 GB
  Current LE             160
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol01
  VG Name                VolGroup00
  LV UUID                Ntffw7-dqPh-Rjhy-rWLv-BGA0-iGik-LoyHET
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                4.88 GB
  Current LE             156
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

Let’s begin but first turning off swap on the Swap Logical Volume

# swapoff /dev/VolGroup00/LogVol01

Once swap is off let’s take the disk space we require.

# lvresize -L -4GB /dev/VolGroup00/LogVol01
  WARNING: Reducing active logical volume to 896.00 MB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol01? [y/n]: y
  Reducing logical volume LogVol01 to 896.00 MB
  Logical volume LogVol01 successfully resized

Now let’s add what we removed to the main Logical Volume.

# lvresize -L +4GB /dev/VolGroup00/LogVol00
  Extending logical volume LogVol00 to 9.00 GB
  Logical volume LogVol00 successfully resized

Resize the File System

# resize2fs -p /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 2359296 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 2359296 blocks long.

Rebuild the swap partition.

# mkswap /dev/VolGroup00/LogVol01
Setting up swapspace version 1, size = 939520 kB

Turn swap on.

# swapon /dev/VolGroup00/LogVol01

Let’s check the amount of disk space available and LVM attributes to see if our changes took effect.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      8.8G  2.4G  6.0G  28% /
/dev/xvda1             99M   23M   72M  25% /boot
tmpfs                 4.0G     0  4.0G   0% /dev/shm
# lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol00
  VG Name                VolGroup00
  LV UUID                oFXKGg-nBPo-Fk27-3ino-zaHZ-cEcv-fk0dS0
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                9.00 GB
  Current LE             288
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Name                /dev/VolGroup00/LogVol01
  VG Name                VolGroup00
  LV UUID                Ntffw7-dqPh-Rjhy-rWLv-BGA0-iGik-LoyHET
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                896.00 MB
  Current LE             28
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  • Anonymous Coward

    Anyone using default partitioning doesn’t really care about the amount of allocated swap space. Anyone using the defaults is surely just building a throw away unit anyway.

    This posting would have much more value if you applied it in the general case of using LVM for real space issues.

  • James Tanaglia

    Yay! Excellent post for a quick space recovery. Thanks!

  • ventura10

    Thanks man, you saved my day!

  • Pgpresto

    Thank you so much for the accurate and detailed post. Very helpful!!

  • Thalamus

    NICE !!

  • Денис Пищухин

    Thanks!

  • Richy

    It’s very helpful

  • Aldopraherda

    thanks. you saved my space

  • Halil-Cem Gürsoy

    Thanks… 

  • Ron Cormier

    Exactly what I need to extend my volume …

  • Srinivas_0618

    Simple steps and nice thanks for the explanation post. SRINIVAS

  • Test

    We saved a life

  • Facundor

    You saved my live! 

    Thanks a lot!

  • Fhouel

    Excellent … Thanks a lot !

  • samantha

    wow. thank you so much. we’re doing small installs in one of our labs and we were shocked to find the default swap space was nearly half the size of the root partitions. This saved us from starting back at the beginning of creating our clone images. Thank you!!

  • centosese

    Great. I have been looking for way to resize the “lv” partition… Thanks

  • Sandip

    Excellent! Very clear and concise. Just what I’ve been looking for.