April 20, 2014

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.