[linux-lvm] pvmove is blocking all other process until the system is wedged
Brian J. Murrell
brian at interlinx.bc.ca
Sun May 2 02:54:16 UTC 2010
After having successfully pvmoved two PVs to one larger PV, one LV at a time,
unfortunately I need to evacuate it. Easy peasy, just pvmove the data back to
the PVs they came from, right? I wish it were so easy.
The problem is that the pvmove starts and makes progress (~16% of ~200GB last
time) and eventually it, and the rest of the system comes to a grinding halt
with all processes blocked with similar stack traces to the following:
[ 8499.592155] cron D 00000000 0 24508 1094 0x00000000
[ 8499.592155] e6f77e48 00000086 e6f77e48 00000000 00000000 c0846740 d4f082ac
c0846740
[ 8499.592155] 4b087af2 00000468 c0846740 c0846740 d4f082ac c0846740 c0846740
e2b79c00
[ 8499.592155] 4a9175b6 00000468 d4f08000 c1a08740 d4f08000 e6f77e94 e6f77e58
c058994a
[ 8499.592155] Call Trace:
[ 8499.592155] [<c058994a>] io_schedule+0x3a/0x60
[ 8499.592155] [<c01c9f2d>] sync_page+0x3d/0x50
[ 8499.592155] [<c0589f97>] __wait_on_bit_lock+0x47/0x90
[ 8499.592155] [<c01c9ef0>] ? sync_page+0x0/0x50
[ 8499.592155] [<c01c9ebe>] __lock_page+0x7e/0x90
[ 8499.592155] [<c0167790>] ? wake_bit_function+0x0/0x50
[ 8499.592155] [<c01cc0ca>] filemap_fault+0x39a/0x410
[ 8499.592155] [<c01e4650>] __do_fault+0x40/0x490
[ 8499.592155] [<c01ea4fb>] ? mmap_region+0x1fb/0x480
[ 8499.592155] [<c01e6259>] handle_mm_fault+0x139/0x390
[ 8499.592155] [<c058da8d>] do_page_fault+0x10d/0x3a0
[ 8499.592155] [<c01de9cb>] ? sys_mmap_pgoff+0x12b/0x240
[ 8499.592155] [<c058d980>] ? do_page_fault+0x0/0x3a0
[ 8499.592155] [<c058b983>] error_code+0x73/0x80
The full list of blocked tasks the last time this happened can be seen at:
http://pastebin.com/CNhDQhTh
Kernel is (Ubuntu's) 2.6.32-21-generic.
Included in this pvmove are the devices hosting the filesystems (i.e. /, /usr,
/var, /home, etc.) the system is booted on when the pmove is done, if that's
meaningful. If I boot from a CD and pvmove this problem does not seem to
occur.
Don't forget though, moving all of these same devices onto the disk that I am
currently trying to move them off of, worked just fine, even while the system
was booted and running from the filesystems being moved. Granted, I was moving
them one at a time before, rather than just trying to evacuate a whole disk as
I am trying to do currently.
Thots?
More information about the linux-lvm
mailing list