How to increase swap space on Linux

The Ask

The user wants to increase the swap space on their Linux machine (CentOS/RHEL). The existing swap space has been configured as an LVM logical Volume.

The Solution

The following solution will first add a new physical volume (PV) to the volume group being used, and will then extend the swap logical volume.

In the example below, the voljume group is called vg_main, the swap logical volume is called lv_swap, and the new physical volume is called /dev/xvdd. Please substitute the name of the physical volume you are adding when running these commands.

Please back up any configuration information and data from the VM instance before performing LVM commands, and if possible run through the procedure on a non-production system first.

Step 1 : Create the PV

First, create a new Physical Volume using the disk /dev/vxdd.

# pvcreate /dev/xvdd

Step 2 : Add PV to existing VG

Add the new PV to existing volume group to extend the available space.

# vgextend vg_main /dev/xvdd

This adds more space to the already existing vg_main volume group, so you can then extend an existing swap logical volume, or if you’ve already deleted it, create a new logical volume for the swap that is larger.

Step 3 : Extend LV

Extend the logical volume used for swap.

# lvextend -l +100%FREE /dev/vg_main/lv_swap

This command will extend lv_swap into the remaining space in vg_main.

Step 4 : Format swap space

Next step is to format the swap space using the “mksawp” command.

# mkswap /dev/mapper/vg_main/lv_swap

Step 5 : Add swap in /etc/fstab (optional if already added)

If the swap is not already added to /etc/fstab, add it to /etc/fstab.

# vi /etc/fstab
/dev/mapper/vg_swap-lv_swap    swap    swap    defaults    0 0

Step 6 : Activate VG and LV

Activate the volume groups and logical volumes:

# vgchange -ay

Step 7 : Activate the swap space

Mount the volumes and activate the swap space:

# mount -a
# swapon -s
Related Post