Select PV when creating LV resource

I am running linstor 1.31.1 with Proxmox VE 8.4, and LVM as the backing. The volume group has multiple disks.

I’d like to know: is it possible, when creating a volume via linstor, to specify the physical volume(s) to be used?

Linstor has StorDriver/LvcreateOptions. However, when you run lvcreate at the command line, the physical volume(s) to use need to be provided as positional arguments after the volume group name, e.g.

lvcreate -L 10G --name foo myvg /dev/sda   # where /dev/sda is one of the PVs in myvg

… and I can’t see a way to do that via Linstor. Looking at source:

    public static synchronized OutputData createFat(
...
        return genericExecutor(
            extCmd.setSaveWithoutSharedLocks(false),
            buildCmd(
                "lvcreate",
                lvmConfig,
                additionalParameters,
                "--size", size + "k",
                volumeGroup,
                "-n", vlmId,
                "-y" // force, skip "wipe signature question"
            ),

I could let lvm create where it likes, and use pvmove to move the extents later, but that’s a bit risky to do on data which is changing.

Is there something I’ve missed? Or should I raise this as a feature request?

FYI, it looks like my best option is to create dummy LVs in the places I don’t want allocated, and delete them afterwards.

But actually, the default LVM policy which tries to allocate contiguous space if it can, is normally OK.

On SSD I’m not so worried about “contiguous”. Ideally, I’d like it to assign new logical volumes to whichever PV has the most free space (contiguous or not); and when extending a logical volume, to prefer to use the same physical volume(s) that it already resides on. But that doesn’t seem to be an available policy.