Skip to contentSkip to conversation

How can I restripe LVs on addition of extra PVs?

linux-lvm AJ Lewis 1 participant 1 message Oct 14, 2004 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

AJ Lewis

author
#1 lore raw
Quoted 19 lines · Clint Byrum
Quoted 11 lines · Daniel .

Hi,

[I'm only familiar with LVM1, so that's what I'm referring to in the rest of the mail. I probably could move to LVM2 if it solves my problems.]

I'm planning on using LVM to create LVs striped across multiple PVs (which, incidentally, are RAID 1 mirrorred partitions). In the future I will need to add extra PVs to the VG and extend the LVs.

This just came up in #lvm on freenode today. I don't think this is at all possible with LVM1. Once the striping is done for an LV, that LV cannot be extended past the physical extents that were allocated at that time.

Quoted 7 lines

However, with LVM2, you could write a script to do this by manually running pvmove over and over, doing something like "pvmove dev:1-8 otherdev;pvmove otherdev:1-8 dev;" .. It gets rather complex to figure this out on the cmdline, but I do believe it can be done and you would end up with PE's evenly spread out over all PVs.

Somebody tell me this is wrong and stupid before I try it. ;)

One problem I see with doing this is that your LVM metadata is going to get rather large after you've done this. Because you're mucking with the segments through pvmove, lvm doesn't know that you're trying to convert a stripe set of 2 to a stripe set of 4 or whatever. I'm not positive, but it seems like this could be a problem.

Also, remember that stripe size is different then segment size, and segment size is the level at which pvmove manipulates things. So that's probably not going to do what you want it to.

Regards,

Signature · 8 lines
AJ Lewis                                   Voice:  612-638-0500
Red Hat Inc.                               E-Mail: [email protected]
720 Washington Ave. SE, Suite 200
Minneapolis, MN 55414
   
Current GPG fingerprint = D9F8 EDCE 4242 855F A03D  9B63 F50C 54A8 578C 8715
Grab the key at: http://people.redhat.com/alewis/gpg.html or one of the
many keyservers out there...