Eric Radman : a Journal

Growing Linux Volumes

Adding a Second Disk using LVM

List the available disks

# lsscsi
[0:0:0:0]    disk    VMware   Virtual disk     2.0   /dev/sda
[0:0:1:0]    disk    VMware   Virtual disk     2.0   /dev/sdb

Add a partition

# fdisk /dev/sdb
n - new
p - primary
t - set type
  8e - Linux LVM
w - write changes

Create physical volume

pvcreate /dev/sdb1

List volume groups and extend

# lvs
LV       VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
datavol0 data -wi-ao---- 16.00g
pgdata0  data -wi-ao---- <1.90t
swap     data -wi-ao----  8.00g
var      data -wi-ao---- 16.00g
vgextend data /dev/sdb1
lvextend -l +100%FREE /dev/data/pgdata0

Resize the file system

resize2fs /dev/data/pgdata0

Extending Physical RAID (5/6)

Add GPT label

gdisk /dev/nvme6n1
gdisk /dev/nvme7n1
gdisk /dev/nvme8n1

Add the new devices to the MD device

mdadm --add /dev/md3 /dev/nvme6n1p1
mdadm --add /dev/md3 /dev/nvme7n1p1
mdadm --add /dev/md3 /dev/nvme8n1p1
mdadm --grow /dev/md3 --raid-devices=9

Extend the physical volume

pvresize /dev/md3
lvextend -l +100%free /dev/pg_data/datavol1
resize2fs /dev/mapper/pg_data-datavol1

To raise the rebuild speed

echo 50000 > /proc/sys/dev/raid/speed_limit_min
echo 200000 > /proc/sys/dev/raid/speed_limit_max