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