https://drive.google.com/file/d/115ixBGSDLJoY_8SN2pVun18S8ojiBm5f/view?usp=sharing

1. Understanding PV Migration

Purpose

✅ Key Benefit:

Migration happens online—users/apps keep working during the move.


2. Lab Setup: Create LVM on Source Disk

Prepare Source Disk (/dev/sda)

# Create partition on /dev/sda
sudo fdisk /dev/sda
# Commands: n → p → 1 → [Enter] → [Enter] → t → 8e → w
sudo partprobe

# Create LVM
sudo pvcreate /dev/sda1
sudo vgcreate dataVG /dev/sda1
sudo lvcreate -L 1000M -n dataLV dataVG    # Fixed: -L for size (not -l)
sudo mkfs.ext4 /dev/dataVG/dataLV

# Mount and add data
sudo mkdir /data
sudo mount /dev/dataVG/dataLV /data
sudo touch /data/test{a..z}

⚠️ Note:


3. Migrate LVM to New Disk (/dev/sdb)

Prepare Target Disk

# Create partition on /dev/sdb
sudo fdisk /dev/sdb
# Commands: n → p → 1 → [Enter] → [Enter] → t → 8e → w
sudo partprobe

# Add to Volume Group
sudo pvcreate /dev/sdb1
sudo vgextend dataVG /dev/sdb1
sudo vgs    # Verify both PVs in VG

Migrate Data with pvmove

# Check current LV location
sudo dmsetup deps /dev/dataVG/dataLV    # Shows: sda1

# Migrate LV from sda1 → sdb1
sudo pvmove -n dataLV /dev/sda1 /dev/sdb1

# Verify
sudo pvs    # sda1 should show 0 free, sdb1 used
sudo dmsetup deps /dev/dataVG/dataLV    # Now shows: sdb1

💡 How pvmove Works: