Extending LVM on iSCSI - optimization opportunity?

Jan 15, 2025
2
0
1
After finding this thread I was able to extend an LVM-Thin pool on multipath iSCSI on TrueNAS, but it took many steps (shown below) to do this. Did I miss something? Is there a better way to do this?

Initial state after increasing the size in TrueNAS from 500GB to 2TB
Code:
# vgdisplay Lethe-ProxmoxVols-LUN-3-VG
  --- Volume group ---
  VG Name               Lethe-ProxmoxVols-LUN-3-VG
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               499.99 GiB
  PE Size               4.00 MiB
  Total PE              127998
  Alloc PE / Size       127808 / 499.25 GiB
  Free  PE / Size       190 / 760.00 MiB
  VG UUID               2Zyf39-x8sC-IND2-BAQd-kSIL-lo6I-GlBtRT

multipath -ll to list member block devices
Code:
lethe-proxmox-lun-3 (36589cfc000000e7149a60b2a78810c0e) dm-8 TrueNAS,iSCSI Disk
size=500G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 18:0:0:3 sdg 8:96  active ready running
  `- 19:0:0:3 sdl 8:176 active ready running

Forcing a re-scan and resizing multipath per https://access.redhat.com/documenta...inux/7/html/dm_multipath/online_device_resize
Code:
# echo 1 >/sys/block/sdg/device/rescan
# echo 1 >/sys/block/sdl/device/rescan
# multipathd resize map lethe-proxmox-lun-3

multipath -ll to verify change
Code:
lethe-proxmox-lun-3 (36589cfc000000e7149a60b2a78810c0e) dm-8 TrueNAS,iSCSI Disk
size=2.0T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 18:0:0:3 sdg 8:96  active ready running
  `- 19:0:0:3 sdl 8:176 active ready running

Restart multipathd to propagate change
Code:
# systemctl restart multipathd

PV still shows original size
Code:
# pvdisplay /dev/mapper/lethe-proxmox-lun-3
  --- Physical volume ---
  PV Name               /dev/mapper/lethe-proxmox-lun-3
  VG Name               Lethe-ProxmoxVols-LUN-3-VG
  PV Size               500.00 GiB / not usable <7.97 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              127998
  Free PE               190
  Allocated PE          127808
  PV UUID               wuOg52-cp4O-M40k-K8lI-YBCW-FERr-AzDE3W

Resize PV
Code:
# pvresize /dev/mapper/lethe-proxmox-lun-3
  Physical volume "/dev/mapper/lethe-proxmox-lun-3" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

Verify that PV has been resized
Code:
# pvdisplay /dev/mapper/lethe-proxmox-lun-3
  --- Physical volume ---
  PV Name               /dev/mapper/lethe-proxmox-lun-3
  VG Name               Lethe-ProxmoxVols-LUN-3-VG
  PV Size               2.00 TiB / not usable 8.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              524286
  Free PE               396478
  Allocated PE          127808
  PV UUID               wuOg52-cp4O-M40k-K8lI-YBCW-FERr-AzDE3W

Show the current VG and LV
Code:
# vgdisplay Lethe-ProxmoxVols-LUN-3-VG
  --- Volume group ---
  VG Name               Lethe-ProxmoxVols-LUN-3-VG
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <2.00 TiB
  PE Size               4.00 MiB
  Total PE              524286
  Alloc PE / Size       127808 / 499.25 GiB
  Free  PE / Size       396478 / 1.51 TiB
  VG UUID               2Zyf39-x8sC-IND2-BAQd-kSIL-lo6I-GlBtRT

# lvscan
...
  ACTIVE            '/dev/Lethe-ProxmoxVols-LUN-3-VG/Lethe-ProxmoxVols-LUN-3-ThinPool' [499.00 GiB] inherit
...

Extend the LV to use all free space
Code:
# lvextend -l +100%FREE /dev/Lethe-ProxmoxVols-LUN-3-VG/Lethe-ProxmoxVols-LUN-3-ThinPool
  Rounding size to boundary between physical extents: 512.00 MiB.
  Size of logical volume Lethe-ProxmoxVols-LUN-3-VG/Lethe-ProxmoxVols-LUN-3-ThinPool_tmeta changed from 128.00 MiB (32 extents) to 512.00 MiB (128 extents).
  Size of logical volume Lethe-ProxmoxVols-LUN-3-VG/Lethe-ProxmoxVols-LUN-3-ThinPool_tdata changed from 499.00 GiB (127744 extents) to <2.00 TiB (524030 extents).
  Logical volume Lethe-ProxmoxVols-LUN-3-VG/Lethe-ProxmoxVols-LUN-3-ThinPool successfully resized.

Verify that the LV is resized
Code:
# vgdisplay Lethe-ProxmoxVols-LUN-3-VG
  --- Volume group ---
  VG Name               Lethe-ProxmoxVols-LUN-3-VG
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <2.00 TiB
  PE Size               4.00 MiB
  Total PE              524286
  Alloc PE / Size       524286 / <2.00 TiB
  Free  PE / Size       0 / 0
  VG UUID               2Zyf39-x8sC-IND2-BAQd-kSIL-lo6I-GlBtRT

# lvscan
...
  ACTIVE            '/dev/Lethe-ProxmoxVols-LUN-3-VG/Lethe-ProxmoxVols-LUN-3-ThinPool' [<2.00 TiB] inherit
...
 
Last edited: