[linux-lvm] Control of which devices are used for striping (or mirroring)

From: "Ty! Boyack" <ty nrel colostate edu>

To: LVM general discussion and development <linux-lvm redhat com>

Subject: [linux-lvm] Control of which devices are used for striping (or mirroring)

Date: Fri, 15 Dec 2006 18:48:15 -0700

Folks,

Is there anyway to control which devices a logical volume gets striped
across?

The reason for the question is that we have a situation with multiple
raid arrays that can be expanded. but present new luns when they are
expanded. The first array is partially populated and gives us LUN 0.
The second array is also partially populated and also gives us LUN 0.
We put both of those luns (as PVs) in a volume group, and then build our
LVs striped across both LUNS for performance.
When we add equal disks to both arrays, we get a new LUN 1 on each
array. I would expect to add these new volums into the save VG. If I
make a new LV saying --stripe 2, I don't want it to end up striping
across LUN 0 and LUN 1 on the same array, since that will only hurt
performance.

Naturally, the same issue occurs with mirroring. If I mirror on LUN0
and LUN1 of the same array, and that array goes bad, then the mirror
isn't doing a whole lot of good ;-)

Even better than controlling which devices get mapped at lvcreate time,
I'd love it if there was a way to create a "grouping" of PVs that LVM
knew were really the same device, and therefore provide no benefit to
striping or mirroring. Any way to do that?

I'm certainly open to suggestions about striping or mirroring outside of
LVM, but this will be used in a clustered environment, so I'd like to
keep as much as possible in (C)LVM or find cluster-safe tools to work
with outside of LVM.