[linux-lvm] Need help with a particular use-case for pvmove.
swestrup at gmail.com
Sat Nov 13 21:45:36 UTC 2010
I have a 4-slot storage array with all slots filled and each of the
four drives having a single LVM2 partition. These pv's are all
collected together into a single volume group called 'Storage' and
containing a single logical volume called 'Data'. This setup has been
working fine until now, but I've almost run out of storage on the
array. Plus, one of the drives is showing signs of imminent failure,
and I'd like to replace it without data loss.
I got a new 2T drive to replace the near-failure 1T drive and thought
that I could just unplug one of the good 1T drives, plug in the new 2T
drive and do a 'pvmove' from the failing drive to the new drive. I
don't have any way to plug all 5 drives in at once, as my server is
PATA and my only SATA slots are in the array.
However pvmove tells me that I cannot do this with a missing drive. I
can't figure out why this should be. Logically I shouldn't need access
to the volume groups or logical volumes if I'm not starting the
drive-mapper or mounting the filesystem built in the logical volume.
I'm only using LVM because I thought it would give me the ability to
swap out drives in just the way I am now trying.
All I want to do is move physical extents from one physical volume to
another. Both of those volumes are present and accessible. Why should
uninvolved missing volumes be an issue, and is there any way around
it? pmmove suggests running "vgreduce --removemissing" but the
documentation for vgreduce seems to say that I'd need to 1) use
--force and 2) it would likely result in data loss.
Is there anything I can do, short of borrowing another storage array
somewhere, just so I can have an extra slot to do this move? My other
option is to put the new drive into a USB case, but the server only
supports USB1, so moving a terrabyte will take over a week.
Any help would be appreciated, thanks.
More information about the linux-lvm