Phase 6: Storage & LVM

Phase 6: Storage & LVM

LVM is core to RHCSA. You have ~4 GB unallocated in the root VG plus two 10 GB data disks attached.

Current Layout

# Block devices
lsblk
# Volume groups
sudo vgs
# Logical volumes
sudo lvs
# Physical volumes
sudo pvs

Extend Existing LV (Practice)

This is an RHCSA exam task. Extend /home using the unallocated space in the VG.

# Check free space in VG
sudo vgdisplay | grep -i free
# Extend /home LV by 2GB
sudo lvextend -L +2G /dev/mapper/rhel-home
# Grow the XFS filesystem (XFS can only grow, not shrink)
sudo xfs_growfs /home
# Verify
df -hT /home

Create New VG from Data Disks

# Initialize disks as PVs
sudo pvcreate /dev/vdb /dev/vdc
# Create new VG
sudo vgcreate vg_data /dev/vdb /dev/vdc
# Create LVs
sudo lvcreate -L 5G -n lv_projects vg_data
sudo lvcreate -L 5G -n lv_containers vg_data
# Create filesystems
sudo mkfs.xfs /dev/vg_data/lv_projects
sudo mkfs.xfs /dev/vg_data/lv_containers

Persistent Mounts

# Create mount points
sudo mkdir -p /data/projects /data/containers
# Add to fstab (use LV path, not UUID for LVM)
echo '/dev/vg_data/lv_projects  /data/projects  xfs  defaults  0 0' | sudo tee -a /etc/fstab
echo '/dev/vg_data/lv_containers  /data/containers  xfs  defaults  0 0' | sudo tee -a /etc/fstab
# Mount all
sudo mount -a
# Verify
df -hT | grep data

Swap Management

# Check current swap
swapon --show
# Create additional swap LV (if needed)
sudo lvcreate -L 1G -n lv_swap2 rhel
sudo mkswap /dev/rhel/lv_swap2
sudo swapon /dev/rhel/lv_swap2
# Make persistent
echo '/dev/rhel/lv_swap2  none  swap  defaults  0 0' | sudo tee -a /etc/fstab

Stratis (RHCSA 9 Objective)

Stratis is a local storage management solution built on XFS + thin provisioning.

# Install Stratis
sudo dnf install -y stratisd stratis-cli
sudo systemctl enable --now stratisd
# Stratis requires unpartitioned block devices
# Use remaining space from data disks or add a new disk
Check Status

LVM layout verified (vgs, lvs, pvs)

[ ]

/home LV extended with lvextend + xfs_growfs

[ ]

vg_data created from data disks

[ ]

lv_projects and lv_containers created

[ ]

Persistent mounts in /etc/fstab

[ ]

mount -a succeeds

[ ]

Swap verified/configured

[ ]

Stratis installed

[ ]