Yesterday I wanted to extend an existing LVM VG with some central storage disks. In the process, I notice the VG is built upon local & external disk, which isn’t according to my standards.
So I decided to extend the VG with the external disks, and then use pvmove command to move all the PE from the internal disk before reducing the VG. The problem is, that on RHEL 4.4, the pvmove command hangs during it’s work, never returns to the prompt, and locks all the other LVM commands.
Seems that for little amounts of PEs the command works, but for 10G disks it hangs. As nothing else helped, I was forced to hard boot the server using to power button. Running the command in single user also doesn’t effect the result, although non other user/services are running.
RHEL 4.4 has LVM2 version 2.02.06, RHEL 4.5 has version 2.02.21 and RHEL 4.6 has version 2.02.27. Reading upstream’s changelog seems there isn’t any change regarding pvmove, although it’s still worth testing if upgrade helps.
Version 2.02.29 has “Refactor pvmove allocation code” in its changelog, but it will take time before this version will be officially available for RHEL (fedora 8 only has 2.02.28). Hoepfully it will solve the problem, as my HP-UX colleagues are laughing on my expense… And that I have to invest more time in mimicking pvmove work manually.