After some search I assume lvm2 restriping, as in take all extents of an active LV and redistribute them evenly across all current PVs in the VG, is not possible?
- 1 Volume Group with 6 Physical Volumes HDD-based and 1 Physical Volume SSD-based.
- A new LV is created exclusively on the SSD PV, using lvcreate options, to cope with high write IOPS.
- Later, IOPS decline and the LV hogs valuable SSD space, so it shall be moved to the 6 Physical Volumes, striped to keep up with medium write IOPS.
(having a mix of SSD and HDD in the same VG is basically a fun thing to do, because pvmove can move LVs online from SSD to HDD and back, but unfortunately it can't stripe while moving)
The offline case is straight forward: create a new striped LV across the HDDs, dd all content from old to new, rename, online again. But is there a way to do this online?
Closest thing I could come up with is write a bash script running pvmove to scatter the extents, but that wouldn't be the same (since extent size is a whopping 4 MiB opposed to typical stripe size of 64 KiB).