* [XFS] Any process to a particular XFS device hung in D state forever. @ 2016-04-19 9:56 Hugo Kuo 2016-04-19 11:30 ` Brian Foster 0 siblings, 1 reply; 8+ messages in thread From: Hugo Kuo @ 2016-04-19 9:56 UTC (permalink / raw) To: xfs; +Cc: Darrell Bishop [-- Attachment #1.1.1: Type: text/plain, Size: 1483 bytes --] Hi XFS team, We encountered a problem frequently in past three weeks. Our daemons store data to XFS partition associate with xattr. Disk seems not responding since all processes to this disk in D state and can't be killed at all. - It happens on several disks. I feel it's randomly. - Reboot seems solve the problem temporarily. - All disks are multipath devices. I suspected that's an issue from disk corrupted at beginning. But smartctl doesn't show any clue about disk bad. And reboot makes the problem gone away. - Any process to this disk is blocked. Even a simple $ls . Kernel log <https://gist.github.com/HugoKuo/f87748786b26ea04fd9e1d86d9538293> - I tested the disk by read bytes on block via $dd . It works fine without any error in dmesg. - The `xfs_repair -n` output of a problematic mount point [xfs_repair -n] <https://gist.github.com/HugoKuo/76f65bdc0b860ca6ed5e786f8c43da0e> . It is still processing. - Kernel : Linux node9 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 18:01:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux - OS : CentOS release 6.5 (Final) - XFS : xfsprogs.x86_64 3.1.1-14.el6 There's an interesting behaviour of $ls command. * This is completed in 1sec. Very quick and give me the result in the test.d864 file $ls /srv/node/d864/tmp > test.d864 * This is hanging $ls /srv/node/d864/tmp [image: Inline image 1] I suspect there's something wrong with imap. Is there a known bug ? Thanks // Hugo [-- Attachment #1.1.2: Type: text/html, Size: 1959 bytes --] [-- Attachment #1.2: dd.png --] [-- Type: image/png, Size: 307262 bytes --] [-- Attachment #2: Type: text/plain, Size: 121 bytes --] _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [XFS] Any process to a particular XFS device hung in D state forever. 2016-04-19 9:56 [XFS] Any process to a particular XFS device hung in D state forever Hugo Kuo @ 2016-04-19 11:30 ` Brian Foster 2016-04-19 13:24 ` Hugo Kuo 0 siblings, 1 reply; 8+ messages in thread From: Brian Foster @ 2016-04-19 11:30 UTC (permalink / raw) To: Hugo Kuo; +Cc: Darrell Bishop, xfs On Tue, Apr 19, 2016 at 05:56:19PM +0800, Hugo Kuo wrote: > Hi XFS team, > > We encountered a problem frequently in past three weeks. Our daemons store > data to XFS partition associate with xattr. > > Disk seems not responding since all processes to this disk in D state and > can't be killed at all. > > - It happens on several disks. I feel it's randomly. > - Reboot seems solve the problem temporarily. > - All disks are multipath devices. > > > I suspected that's an issue from disk corrupted at beginning. But smartctl > doesn't show any clue about disk bad. And reboot makes the problem gone > away. > > > - Any process to this disk is blocked. Even a simple $ls . Kernel log > <https://gist.github.com/HugoKuo/f87748786b26ea04fd9e1d86d9538293> Looks like it's waiting on an AGF buffer. The buffer could be held by something else, but we don't have enough information from that one trace. Could you get all of the blocked tasks when in this state (e.g., "echo w > /proc/sysrq-trigger")? > - I tested the disk by read bytes on block via $dd . It works fine > without any error in dmesg. > - The `xfs_repair -n` output of a problematic mount point [xfs_repair -n] > <https://gist.github.com/HugoKuo/76f65bdc0b860ca6ed5e786f8c43da0e> . It > is still processing. I presume this was run after a forced reboot..? If so, was the filesystem remounted first to replay the log (xfs_repair -n doesn't detect/warn about a dirty log, iirc). If the log was dirty, then repair is a bit less interesting simply because some corruption is to be expected in that scenario. > - Kernel : Linux node9 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 > 18:01:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux > - OS : CentOS release 6.5 (Final) > - XFS : xfsprogs.x86_64 3.1.1-14.el6 > > > There's an interesting behaviour of $ls command. > > * This is completed in 1sec. Very quick and give me the result in the > test.d864 file $ls /srv/node/d864/tmp > test.d864 > * This is hanging $ls /srv/node/d864/tmp > I'm not following you here. Are you missing an attachment (test.d864)? Brian > [image: Inline image 1] > > I suspect there's something wrong with imap. Is there a known bug ? > > Thanks // Hugo > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [XFS] Any process to a particular XFS device hung in D state forever. 2016-04-19 11:30 ` Brian Foster @ 2016-04-19 13:24 ` Hugo Kuo 2016-04-19 19:34 ` Brian Foster 0 siblings, 1 reply; 8+ messages in thread From: Hugo Kuo @ 2016-04-19 13:24 UTC (permalink / raw) To: Brian Foster; +Cc: Darrell Bishop, xfs [-- Attachment #1.1: Type: text/plain, Size: 3610 bytes --] Hi Brain, Here's the a gist include sysrq-trigger and strace of one of the hanging $ls result. This is from another problematic disk (d817) on the same server. https://gist.github.com/HugoKuo/8eb8208bbb7a7f562a6c9a3eafa8f37f It looks like the hanging $ls is stuck on getting extend attribute of a file on this disk. The full output can be found in the link above. lstat("/srv/node/d864/tmp/tmpIRYFaW", {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 capget(0x20080522, 0, NULL) = -1 EFAULT (Bad address) getxattr("/srv/node/d864/tmp/tmpIRYFaW", "security.capability" As for the xfs_repair output in link https://gist.github.com/HugoKuo/76f65bdc0b860ca6ed5e786f8c43da0e . Your question is if the node been force rebooted. The answer is NO. I* didn't reboot* this server yet. I force unmounted it via *$umount -l <dev>* . Then run the xfs_repair. $ls /srv/node/d864/tmp > test.d864 $ls /srv/node/d864/tmp Here's the contents of test.d864 https://gist.github.com/HugoKuo/25f93cd6daf5b0666a2ab85defd63a56 Thanks // Hugo On Tue, Apr 19, 2016 at 7:30 PM, Brian Foster <bfoster@redhat.com> wrote: > On Tue, Apr 19, 2016 at 05:56:19PM +0800, Hugo Kuo wrote: > > Hi XFS team, > > > > We encountered a problem frequently in past three weeks. Our daemons > store > > data to XFS partition associate with xattr. > > > > Disk seems not responding since all processes to this disk in D state and > > can't be killed at all. > > > > - It happens on several disks. I feel it's randomly. > > - Reboot seems solve the problem temporarily. > > - All disks are multipath devices. > > > > > > I suspected that's an issue from disk corrupted at beginning. But > smartctl > > doesn't show any clue about disk bad. And reboot makes the problem gone > > away. > > > > > > - Any process to this disk is blocked. Even a simple $ls . Kernel log > > <https://gist.github.com/HugoKuo/f87748786b26ea04fd9e1d86d9538293> > > Looks like it's waiting on an AGF buffer. The buffer could be held by > something else, but we don't have enough information from that one > trace. Could you get all of the blocked tasks when in this state (e.g., > "echo w > /proc/sysrq-trigger")? > > > > - I tested the disk by read bytes on block via $dd . It works fine > > without any error in dmesg. > > - The `xfs_repair -n` output of a problematic mount point [xfs_repair > -n] > > <https://gist.github.com/HugoKuo/76f65bdc0b860ca6ed5e786f8c43da0e> . > It > > is still processing. > > I presume this was run after a forced reboot..? If so, was the > filesystem remounted first to replay the log (xfs_repair -n doesn't > detect/warn about a dirty log, iirc). If the log was dirty, then repair > is a bit less interesting simply because some corruption is to be > expected in that scenario. > > > - Kernel : Linux node9 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 > > 18:01:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux > > - OS : CentOS release 6.5 (Final) > > - XFS : xfsprogs.x86_64 3.1.1-14.el6 > > > > > > There's an interesting behaviour of $ls command. > > > > * This is completed in 1sec. Very quick and give me the result in the > > test.d864 file $ls /srv/node/d864/tmp > test.d864 > > * This is hanging $ls /srv/node/d864/tmp > > > > I'm not following you here. Are you missing an attachment (test.d864)? > > Brian > > > [image: Inline image 1] > > > > I suspect there's something wrong with imap. Is there a known bug ? > > > > Thanks // Hugo > > > > > _______________________________________________ > > xfs mailing list > > xfs@oss.sgi.com > > http://oss.sgi.com/mailman/listinfo/xfs > > [-- Attachment #1.2: Type: text/html, Size: 8255 bytes --] [-- Attachment #2: Type: text/plain, Size: 121 bytes --] _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [XFS] Any process to a particular XFS device hung in D state forever. 2016-04-19 13:24 ` Hugo Kuo @ 2016-04-19 19:34 ` Brian Foster 2016-04-20 5:49 ` Hugo Kuo 0 siblings, 1 reply; 8+ messages in thread From: Brian Foster @ 2016-04-19 19:34 UTC (permalink / raw) To: Hugo Kuo; +Cc: Darrell Bishop, xfs On Tue, Apr 19, 2016 at 09:24:55PM +0800, Hugo Kuo wrote: > Hi Brain, > > Here's the a gist include sysrq-trigger and strace of one of the hanging > $ls result. This is from another problematic disk (d817) on the same server. > > https://gist.github.com/HugoKuo/8eb8208bbb7a7f562a6c9a3eafa8f37f > > It looks like the hanging $ls is stuck on getting extend attribute of a > file on this disk. The full output can be found in the link above. > > lstat("/srv/node/d864/tmp/tmpIRYFaW", {st_mode=S_IFREG|0600, st_size=0, > ...}) = 0 > capget(0x20080522, 0, NULL) = -1 EFAULT (Bad address) > getxattr("/srv/node/d864/tmp/tmpIRYFaW", "security.capability" > So there's definitely some traces waiting on AGF locks and whatnot, but also many traces that appear to be waiting on I/O. For example: kernel: swift-object- D 0000000000000008 0 2096 1605 0x00000000 kernel: ffff8877cc2378b8 0000000000000082 ffff8877cc237818 ffff887ff016eb68 kernel: ffff883fd4ab6b28 0000000000000046 ffff883fd4bd9400 00000001e7ea49d0 kernel: ffff8877cc237848 ffffffff812735d1 ffff885fa2e4a5f8 ffff8877cc237fd8 kernel: Call Trace: kernel: [<ffffffff812735d1>] ? __blk_run_queue+0x31/0x40 kernel: [<ffffffff81539455>] schedule_timeout+0x215/0x2e0 kernel: [<ffffffff812757c9>] ? blk_peek_request+0x189/0x210 kernel: [<ffffffff8126d9b3>] ? elv_queue_empty+0x33/0x40 kernel: [<ffffffffa00040a0>] ? dm_request_fn+0x240/0x340 [dm_mod] kernel: [<ffffffff815390d3>] wait_for_common+0x123/0x180 kernel: [<ffffffff810672b0>] ? default_wake_function+0x0/0x20 kernel: [<ffffffffa0001036>] ? dm_unplug_all+0x36/0x50 [dm_mod] kernel: [<ffffffffa0415b56>] ? _xfs_buf_read+0x46/0x60 [xfs] kernel: [<ffffffffa040b417>] ? xfs_trans_read_buf+0x197/0x410 [xfs] kernel: [<ffffffff815391ed>] wait_for_completion+0x1d/0x20 kernel: [<ffffffffa041503b>] xfs_buf_iowait+0x9b/0x100 [xfs] kernel: [<ffffffffa040b417>] ? xfs_trans_read_buf+0x197/0x410 [xfs] kernel: [<ffffffffa0415b56>] _xfs_buf_read+0x46/0x60 [xfs] kernel: [<ffffffffa0415c1b>] xfs_buf_read+0xab/0x100 [xfs] ... Are all of these swift processes running against independent storage, or one big array? Also, can you tell (e.g., with iotop) whether progress is being made here, albiet very slowly, or if the storage is indeed locked up..? In any event, given the I/O hangs, the fact that you're on an old distro kernel and you have things like multipath enabled, it might be worthwhile to see if you can rule out any multipath issues. > > As for the xfs_repair output in link > https://gist.github.com/HugoKuo/76f65bdc0b860ca6ed5e786f8c43da0e . Your > question is if the node been force rebooted. The answer is NO. I* didn't > reboot* this server yet. I force unmounted it via *$umount -l <dev>* . Then > run the xfs_repair. > 'umount -l' doesn't necessarily force anything. It just lazily unmounts the fs from the namespace and cleans up the mount once all references are dropped. I suspect the fs is still mounted internally. Brian > $ls /srv/node/d864/tmp > test.d864 > $ls /srv/node/d864/tmp > > > Here's the contents of test.d864 > https://gist.github.com/HugoKuo/25f93cd6daf5b0666a2ab85defd63a56 > > Thanks // Hugo > > On Tue, Apr 19, 2016 at 7:30 PM, Brian Foster <bfoster@redhat.com> wrote: > > > On Tue, Apr 19, 2016 at 05:56:19PM +0800, Hugo Kuo wrote: > > > Hi XFS team, > > > > > > We encountered a problem frequently in past three weeks. Our daemons > > store > > > data to XFS partition associate with xattr. > > > > > > Disk seems not responding since all processes to this disk in D state and > > > can't be killed at all. > > > > > > - It happens on several disks. I feel it's randomly. > > > - Reboot seems solve the problem temporarily. > > > - All disks are multipath devices. > > > > > > > > > I suspected that's an issue from disk corrupted at beginning. But > > smartctl > > > doesn't show any clue about disk bad. And reboot makes the problem gone > > > away. > > > > > > > > > - Any process to this disk is blocked. Even a simple $ls . Kernel log > > > <https://gist.github.com/HugoKuo/f87748786b26ea04fd9e1d86d9538293> > > > > Looks like it's waiting on an AGF buffer. The buffer could be held by > > something else, but we don't have enough information from that one > > trace. Could you get all of the blocked tasks when in this state (e.g., > > "echo w > /proc/sysrq-trigger")? > > > > > > > > > > > - I tested the disk by read bytes on block via $dd . It works fine > > > without any error in dmesg. > > > - The `xfs_repair -n` output of a problematic mount point [xfs_repair > > -n] > > > <https://gist.github.com/HugoKuo/76f65bdc0b860ca6ed5e786f8c43da0e> . > > It > > > is still processing. > > > > I presume this was run after a forced reboot..? If so, was the > > filesystem remounted first to replay the log (xfs_repair -n doesn't > > detect/warn about a dirty log, iirc). If the log was dirty, then repair > > is a bit less interesting simply because some corruption is to be > > expected in that scenario. > > > > > - Kernel : Linux node9 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 > > > 18:01:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux > > > - OS : CentOS release 6.5 (Final) > > > - XFS : xfsprogs.x86_64 3.1.1-14.el6 > > > > > > > > > There's an interesting behaviour of $ls command. > > > > > > * This is completed in 1sec. Very quick and give me the result in the > > > test.d864 file $ls /srv/node/d864/tmp > test.d864 > > > * This is hanging $ls /srv/node/d864/tmp > > > > > > > I'm not following you here. Are you missing an attachment (test.d864)? > > > > Brian > > > > > [image: Inline image 1] > > > > > > I suspect there's something wrong with imap. Is there a known bug ? > > > > > > Thanks // Hugo > > > > > > > > > _______________________________________________ > > > xfs mailing list > > > xfs@oss.sgi.com > > > http://oss.sgi.com/mailman/listinfo/xfs > > > > _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [XFS] Any process to a particular XFS device hung in D state forever. 2016-04-19 19:34 ` Brian Foster @ 2016-04-20 5:49 ` Hugo Kuo 2016-04-20 11:24 ` Brian Foster 0 siblings, 1 reply; 8+ messages in thread From: Hugo Kuo @ 2016-04-20 5:49 UTC (permalink / raw) To: Brian Foster; +Cc: Darrell Bishop, xfs [-- Attachment #1.1: Type: text/plain, Size: 3467 bytes --] Hi XFS team, Here's the lsof output of the grouped result of any openfile happens on problematic disks. The full log of xfs_repair -n is included in this gist as well. The xfs_repair recommend to contact xfs mailing list in the end of the command. https://gist.github.com/HugoKuo/95613d7864aa0a1343615642b3309451 Perhaps I should go ahead to reboot the machine and run the xfs_repair again. Please find my answers inlines. On Wed, Apr 20, 2016 at 3:34 AM, Brian Foster <bfoster@redhat.com> wrote: > > So there's definitely some traces waiting on AGF locks and whatnot, but > also many traces that appear to be waiting on I/O. For example: > Yes, those I/O waiting is the original problem of this thread. It looks like the disk was locked. All these I/O waiting for same disk (a multipath entry). > > kernel: swift-object- D 0000000000000008 0 2096 1605 0x00000000 > kernel: ffff8877cc2378b8 0000000000000082 ffff8877cc237818 ffff887ff016eb68 > kernel: ffff883fd4ab6b28 0000000000000046 ffff883fd4bd9400 00000001e7ea49d0 > kernel: ffff8877cc237848 ffffffff812735d1 ffff885fa2e4a5f8 ffff8877cc237fd8 > kernel: Call Trace: > kernel: [<ffffffff812735d1>] ? __blk_run_queue+0x31/0x40 > kernel: [<ffffffff81539455>] schedule_timeout+0x215/0x2e0 > kernel: [<ffffffff812757c9>] ? blk_peek_request+0x189/0x210 > kernel: [<ffffffff8126d9b3>] ? elv_queue_empty+0x33/0x40 > kernel: [<ffffffffa00040a0>] ? dm_request_fn+0x240/0x340 [dm_mod] > kernel: [<ffffffff815390d3>] wait_for_common+0x123/0x180 > kernel: [<ffffffff810672b0>] ? default_wake_function+0x0/0x20 > kernel: [<ffffffffa0001036>] ? dm_unplug_all+0x36/0x50 [dm_mod] > kernel: [<ffffffffa0415b56>] ? _xfs_buf_read+0x46/0x60 [xfs] > kernel: [<ffffffffa040b417>] ? xfs_trans_read_buf+0x197/0x410 [xfs] > kernel: [<ffffffff815391ed>] wait_for_completion+0x1d/0x20 > kernel: [<ffffffffa041503b>] xfs_buf_iowait+0x9b/0x100 [xfs] > kernel: [<ffffffffa040b417>] ? xfs_trans_read_buf+0x197/0x410 [xfs] > kernel: [<ffffffffa0415b56>] _xfs_buf_read+0x46/0x60 [xfs] > kernel: [<ffffffffa0415c1b>] xfs_buf_read+0xab/0x100 [xfs] > > > Are all of these swift processes running against independent storage, or > one big array? Also, can you tell (e.g., with iotop) whether progress is > being made here, albiet very slowly, or if the storage is indeed locked > up..? > > There're 240+ swift processes in running. All stuck swift processes were attempting to access same disk. I can confirm it's indeed locked rather than slowly. By monitoring io via iotop. There's 0 activity one the problematic mount point. > In any event, given the I/O hangs, the fact that you're on an old distro > kernel and you have things like multipath enabled, it might be > worthwhile to see if you can rule out any multipath issues. > > To upgrade the kernel for CentOS6.5 may not the option for the time being but it definitely worth to give it try by picking up one of nodes for testing later. As for the multipath, yes I did suspect some mystery problem with multipath + XFS under a certain loading. But it's more like a XFS and inode related hence I start to investigate from XFS. If there's no chance to move forward in XFS, I might break the multipath and observe the result for awhile. > > 'umount -l' doesn't necessarily force anything. It just lazily unmounts > the fs from the namespace and cleans up the mount once all references > are dropped. I suspect the fs is still mounted internally. > > Brian > > Thanks // Hugo [-- Attachment #1.2: Type: text/html, Size: 5213 bytes --] [-- Attachment #2: Type: text/plain, Size: 121 bytes --] _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [XFS] Any process to a particular XFS device hung in D state forever. 2016-04-20 5:49 ` Hugo Kuo @ 2016-04-20 11:24 ` Brian Foster 2016-04-21 5:54 ` Hugo Kuo 0 siblings, 1 reply; 8+ messages in thread From: Brian Foster @ 2016-04-20 11:24 UTC (permalink / raw) To: Hugo Kuo; +Cc: Darrell Bishop, xfs On Wed, Apr 20, 2016 at 01:49:49PM +0800, Hugo Kuo wrote: > Hi XFS team, > > > Here's the lsof output of the grouped result of any openfile happens on > problematic disks. The full log of xfs_repair -n is included in this gist > as well. The xfs_repair recommend to contact xfs mailing list in the end of > the command. > > https://gist.github.com/HugoKuo/95613d7864aa0a1343615642b3309451 > > Perhaps I should go ahead to reboot the machine and run the xfs_repair > again. Please find my answers inlines. > Yes, repair is crashing in this case. Best to try xfs_repair after you've rebooted and mounted/umounted the fs to replay the log. If it's still crashing at that point, we'll probably want a metadata image of the fs, if possible (though there's a good chance a newer xfsprogs has the problem fixed). > > On Wed, Apr 20, 2016 at 3:34 AM, Brian Foster <bfoster@redhat.com> wrote: > > > > > So there's definitely some traces waiting on AGF locks and whatnot, but > > also many traces that appear to be waiting on I/O. For example: > > > > Yes, those I/O waiting is the original problem of this thread. It looks > like the disk was locked. All these I/O waiting for same disk (a multipath > entry). > > > > > > kernel: swift-object- D 0000000000000008 0 2096 1605 0x00000000 > > kernel: ffff8877cc2378b8 0000000000000082 ffff8877cc237818 ffff887ff016eb68 > > kernel: ffff883fd4ab6b28 0000000000000046 ffff883fd4bd9400 00000001e7ea49d0 > > kernel: ffff8877cc237848 ffffffff812735d1 ffff885fa2e4a5f8 ffff8877cc237fd8 > > kernel: Call Trace: > > kernel: [<ffffffff812735d1>] ? __blk_run_queue+0x31/0x40 > > kernel: [<ffffffff81539455>] schedule_timeout+0x215/0x2e0 > > kernel: [<ffffffff812757c9>] ? blk_peek_request+0x189/0x210 > > kernel: [<ffffffff8126d9b3>] ? elv_queue_empty+0x33/0x40 > > kernel: [<ffffffffa00040a0>] ? dm_request_fn+0x240/0x340 [dm_mod] > > kernel: [<ffffffff815390d3>] wait_for_common+0x123/0x180 > > kernel: [<ffffffff810672b0>] ? default_wake_function+0x0/0x20 > > kernel: [<ffffffffa0001036>] ? dm_unplug_all+0x36/0x50 [dm_mod] > > kernel: [<ffffffffa0415b56>] ? _xfs_buf_read+0x46/0x60 [xfs] > > kernel: [<ffffffffa040b417>] ? xfs_trans_read_buf+0x197/0x410 [xfs] > > kernel: [<ffffffff815391ed>] wait_for_completion+0x1d/0x20 > > kernel: [<ffffffffa041503b>] xfs_buf_iowait+0x9b/0x100 [xfs] > > kernel: [<ffffffffa040b417>] ? xfs_trans_read_buf+0x197/0x410 [xfs] > > kernel: [<ffffffffa0415b56>] _xfs_buf_read+0x46/0x60 [xfs] > > kernel: [<ffffffffa0415c1b>] xfs_buf_read+0xab/0x100 [xfs] > > > > > > Are all of these swift processes running against independent storage, or > > one big array? Also, can you tell (e.g., with iotop) whether progress is > > being made here, albiet very slowly, or if the storage is indeed locked > > up..? > > > > There're 240+ swift processes in running. > All stuck swift processes were attempting to access same disk. I can > confirm it's indeed locked rather than slowly. By monitoring io via iotop. > There's 0 activity one the problematic mount point. > > > > In any event, given the I/O hangs, the fact that you're on an old distro > > kernel and you have things like multipath enabled, it might be > > worthwhile to see if you can rule out any multipath issues. > > > > > To upgrade the kernel for CentOS6.5 may not the option for the time being > but it definitely worth to give it try by picking up one of nodes for > testing later. As for the multipath, yes I did suspect some mystery problem > with multipath + XFS under a certain loading. But it's more like a XFS and > inode related hence I start to investigate from XFS. If there's no chance > to move forward in XFS, I might break the multipath and observe the result > for awhile. > It's hard to pinpoint something to the fs when there's a bunch of hung I/Os. You probably want to track down the source of those problems first. Brian > > > > > 'umount -l' doesn't necessarily force anything. It just lazily unmounts > > the fs from the namespace and cleans up the mount once all references > > are dropped. I suspect the fs is still mounted internally. > > > > Brian > > > > > Thanks // Hugo _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [XFS] Any process to a particular XFS device hung in D state forever. 2016-04-20 11:24 ` Brian Foster @ 2016-04-21 5:54 ` Hugo Kuo 2016-04-21 12:40 ` Brian Foster 0 siblings, 1 reply; 8+ messages in thread From: Hugo Kuo @ 2016-04-21 5:54 UTC (permalink / raw) To: Brian Foster; +Cc: Darrell Bishop, xfs [-- Attachment #1.1: Type: text/plain, Size: 5072 bytes --] Hi Brian, Here's the result of xfs_repair on the same disk after rebooting. https://gist.github.com/HugoKuo/e1d683d9653e66a80dfcfcbee4294fe8 It's looks normal. We rebooted the server and no hanging process in past 12hrs. I'll keep eyes on the server. I know it's helpful to to trace-cmd for xfs. But there's too may xfs operations are happening in the server. It's crazy like 100MB data per second. I stopped the trace-cmd. As you said, we need to find out the source of the problem. trace-cmd would be a nice option. Is there a way to flush recored data if nothing happens in the past hours ? trace-cmd record -e xfs\* Regards // Hugo On Wed, Apr 20, 2016 at 7:24 PM, Brian Foster <bfoster@redhat.com> wrote: > On Wed, Apr 20, 2016 at 01:49:49PM +0800, Hugo Kuo wrote: > > Hi XFS team, > > > > > > Here's the lsof output of the grouped result of any openfile happens on > > problematic disks. The full log of xfs_repair -n is included in this gist > > as well. The xfs_repair recommend to contact xfs mailing list in the end > of > > the command. > > > > https://gist.github.com/HugoKuo/95613d7864aa0a1343615642b3309451 > > > > Perhaps I should go ahead to reboot the machine and run the xfs_repair > > again. Please find my answers inlines. > > > > Yes, repair is crashing in this case. Best to try xfs_repair after > you've rebooted and mounted/umounted the fs to replay the log. If it's > still crashing at that point, we'll probably want a metadata image of > the fs, if possible (though there's a good chance a newer xfsprogs has > the problem fixed). > > > > > On Wed, Apr 20, 2016 at 3:34 AM, Brian Foster <bfoster@redhat.com> > wrote: > > > > > > > > So there's definitely some traces waiting on AGF locks and whatnot, but > > > also many traces that appear to be waiting on I/O. For example: > > > > > > > Yes, those I/O waiting is the original problem of this thread. It looks > > like the disk was locked. All these I/O waiting for same disk (a > multipath > > entry). > > > > > > > > > > kernel: swift-object- D 0000000000000008 0 2096 1605 0x00000000 > > > kernel: ffff8877cc2378b8 0000000000000082 ffff8877cc237818 > ffff887ff016eb68 > > > kernel: ffff883fd4ab6b28 0000000000000046 ffff883fd4bd9400 > 00000001e7ea49d0 > > > kernel: ffff8877cc237848 ffffffff812735d1 ffff885fa2e4a5f8 > ffff8877cc237fd8 > > > kernel: Call Trace: > > > kernel: [<ffffffff812735d1>] ? __blk_run_queue+0x31/0x40 > > > kernel: [<ffffffff81539455>] schedule_timeout+0x215/0x2e0 > > > kernel: [<ffffffff812757c9>] ? blk_peek_request+0x189/0x210 > > > kernel: [<ffffffff8126d9b3>] ? elv_queue_empty+0x33/0x40 > > > kernel: [<ffffffffa00040a0>] ? dm_request_fn+0x240/0x340 [dm_mod] > > > kernel: [<ffffffff815390d3>] wait_for_common+0x123/0x180 > > > kernel: [<ffffffff810672b0>] ? default_wake_function+0x0/0x20 > > > kernel: [<ffffffffa0001036>] ? dm_unplug_all+0x36/0x50 [dm_mod] > > > kernel: [<ffffffffa0415b56>] ? _xfs_buf_read+0x46/0x60 [xfs] > > > kernel: [<ffffffffa040b417>] ? xfs_trans_read_buf+0x197/0x410 [xfs] > > > kernel: [<ffffffff815391ed>] wait_for_completion+0x1d/0x20 > > > kernel: [<ffffffffa041503b>] xfs_buf_iowait+0x9b/0x100 [xfs] > > > kernel: [<ffffffffa040b417>] ? xfs_trans_read_buf+0x197/0x410 [xfs] > > > kernel: [<ffffffffa0415b56>] _xfs_buf_read+0x46/0x60 [xfs] > > > kernel: [<ffffffffa0415c1b>] xfs_buf_read+0xab/0x100 [xfs] > > > > > > > > > Are all of these swift processes running against independent storage, > or > > > one big array? Also, can you tell (e.g., with iotop) whether progress > is > > > being made here, albiet very slowly, or if the storage is indeed locked > > > up..? > > > > > > There're 240+ swift processes in running. > > All stuck swift processes were attempting to access same disk. I can > > confirm it's indeed locked rather than slowly. By monitoring io via > iotop. > > There's 0 activity one the problematic mount point. > > > > > > > In any event, given the I/O hangs, the fact that you're on an old > distro > > > kernel and you have things like multipath enabled, it might be > > > worthwhile to see if you can rule out any multipath issues. > > > > > > > > To upgrade the kernel for CentOS6.5 may not the option for the time being > > but it definitely worth to give it try by picking up one of nodes for > > testing later. As for the multipath, yes I did suspect some mystery > problem > > with multipath + XFS under a certain loading. But it's more like a XFS > and > > inode related hence I start to investigate from XFS. If there's no chance > > to move forward in XFS, I might break the multipath and observe the > result > > for awhile. > > > > It's hard to pinpoint something to the fs when there's a bunch of hung > I/Os. You probably want to track down the source of those problems > first. > > Brian > > > > > > > > > 'umount -l' doesn't necessarily force anything. It just lazily unmounts > > > the fs from the namespace and cleans up the mount once all references > > > are dropped. I suspect the fs is still mounted internally. > > > > > > Brian > > > > > > > > Thanks // Hugo > [-- Attachment #1.2: Type: text/html, Size: 6959 bytes --] [-- Attachment #2: Type: text/plain, Size: 121 bytes --] _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [XFS] Any process to a particular XFS device hung in D state forever. 2016-04-21 5:54 ` Hugo Kuo @ 2016-04-21 12:40 ` Brian Foster 0 siblings, 0 replies; 8+ messages in thread From: Brian Foster @ 2016-04-21 12:40 UTC (permalink / raw) To: Hugo Kuo; +Cc: Darrell Bishop, xfs On Thu, Apr 21, 2016 at 01:54:44PM +0800, Hugo Kuo wrote: > Hi Brian, > > Here's the result of xfs_repair on the same disk after rebooting. > https://gist.github.com/HugoKuo/e1d683d9653e66a80dfcfcbee4294fe8 > It's looks normal. > > We rebooted the server and no hanging process in past 12hrs. I'll keep eyes > on the server. > I know it's helpful to to trace-cmd for xfs. But there's too may xfs > operations are happening in the server. It's crazy like 100MB data per > second. I stopped the trace-cmd. As you said, we need to find out the > source of the problem. trace-cmd would be a nice option. Is there a way to > flush recored data if nothing happens in the past hours ? > I'm not sure XFS trace data will help you, at least until we've narrowed down to something that looks like an XFS problem. I wonder if multipath has any sort if tracing support..? It doesn't appear so on a quick look, but dm.c has some trace_block_bio*()/trace_block_rq*() tracepoints that might be useful enough to show whether requests are actually completing. To answer your question, 'trace-cmd record' writes to a local trace.dat file so you don't have to worry about pulling events from the kernel yourself (i.e., as with 'trace-cmd start'). Just make sure you sync or 'xfs_io -c fsync trace.dat' before you force a hard reset, if necessary. Brian > trace-cmd record -e xfs\* > > > > Regards // Hugo > > > > > On Wed, Apr 20, 2016 at 7:24 PM, Brian Foster <bfoster@redhat.com> wrote: > > > On Wed, Apr 20, 2016 at 01:49:49PM +0800, Hugo Kuo wrote: > > > Hi XFS team, > > > > > > > > > Here's the lsof output of the grouped result of any openfile happens on > > > problematic disks. The full log of xfs_repair -n is included in this gist > > > as well. The xfs_repair recommend to contact xfs mailing list in the end > > of > > > the command. > > > > > > https://gist.github.com/HugoKuo/95613d7864aa0a1343615642b3309451 > > > > > > Perhaps I should go ahead to reboot the machine and run the xfs_repair > > > again. Please find my answers inlines. > > > > > > > Yes, repair is crashing in this case. Best to try xfs_repair after > > you've rebooted and mounted/umounted the fs to replay the log. If it's > > still crashing at that point, we'll probably want a metadata image of > > the fs, if possible (though there's a good chance a newer xfsprogs has > > the problem fixed). > > > > > > > > On Wed, Apr 20, 2016 at 3:34 AM, Brian Foster <bfoster@redhat.com> > > wrote: > > > > > > > > > > > So there's definitely some traces waiting on AGF locks and whatnot, but > > > > also many traces that appear to be waiting on I/O. For example: > > > > > > > > > > Yes, those I/O waiting is the original problem of this thread. It looks > > > like the disk was locked. All these I/O waiting for same disk (a > > multipath > > > entry). > > > > > > > > > > > > > > kernel: swift-object- D 0000000000000008 0 2096 1605 0x00000000 > > > > kernel: ffff8877cc2378b8 0000000000000082 ffff8877cc237818 > > ffff887ff016eb68 > > > > kernel: ffff883fd4ab6b28 0000000000000046 ffff883fd4bd9400 > > 00000001e7ea49d0 > > > > kernel: ffff8877cc237848 ffffffff812735d1 ffff885fa2e4a5f8 > > ffff8877cc237fd8 > > > > kernel: Call Trace: > > > > kernel: [<ffffffff812735d1>] ? __blk_run_queue+0x31/0x40 > > > > kernel: [<ffffffff81539455>] schedule_timeout+0x215/0x2e0 > > > > kernel: [<ffffffff812757c9>] ? blk_peek_request+0x189/0x210 > > > > kernel: [<ffffffff8126d9b3>] ? elv_queue_empty+0x33/0x40 > > > > kernel: [<ffffffffa00040a0>] ? dm_request_fn+0x240/0x340 [dm_mod] > > > > kernel: [<ffffffff815390d3>] wait_for_common+0x123/0x180 > > > > kernel: [<ffffffff810672b0>] ? default_wake_function+0x0/0x20 > > > > kernel: [<ffffffffa0001036>] ? dm_unplug_all+0x36/0x50 [dm_mod] > > > > kernel: [<ffffffffa0415b56>] ? _xfs_buf_read+0x46/0x60 [xfs] > > > > kernel: [<ffffffffa040b417>] ? xfs_trans_read_buf+0x197/0x410 [xfs] > > > > kernel: [<ffffffff815391ed>] wait_for_completion+0x1d/0x20 > > > > kernel: [<ffffffffa041503b>] xfs_buf_iowait+0x9b/0x100 [xfs] > > > > kernel: [<ffffffffa040b417>] ? xfs_trans_read_buf+0x197/0x410 [xfs] > > > > kernel: [<ffffffffa0415b56>] _xfs_buf_read+0x46/0x60 [xfs] > > > > kernel: [<ffffffffa0415c1b>] xfs_buf_read+0xab/0x100 [xfs] > > > > > > > > > > > > Are all of these swift processes running against independent storage, > > or > > > > one big array? Also, can you tell (e.g., with iotop) whether progress > > is > > > > being made here, albiet very slowly, or if the storage is indeed locked > > > > up..? > > > > > > > > There're 240+ swift processes in running. > > > All stuck swift processes were attempting to access same disk. I can > > > confirm it's indeed locked rather than slowly. By monitoring io via > > iotop. > > > There's 0 activity one the problematic mount point. > > > > > > > > > > In any event, given the I/O hangs, the fact that you're on an old > > distro > > > > kernel and you have things like multipath enabled, it might be > > > > worthwhile to see if you can rule out any multipath issues. > > > > > > > > > > > To upgrade the kernel for CentOS6.5 may not the option for the time being > > > but it definitely worth to give it try by picking up one of nodes for > > > testing later. As for the multipath, yes I did suspect some mystery > > problem > > > with multipath + XFS under a certain loading. But it's more like a XFS > > and > > > inode related hence I start to investigate from XFS. If there's no chance > > > to move forward in XFS, I might break the multipath and observe the > > result > > > for awhile. > > > > > > > It's hard to pinpoint something to the fs when there's a bunch of hung > > I/Os. You probably want to track down the source of those problems > > first. > > > > Brian > > > > > > > > > > > > > 'umount -l' doesn't necessarily force anything. It just lazily unmounts > > > > the fs from the namespace and cleans up the mount once all references > > > > are dropped. I suspect the fs is still mounted internally. > > > > > > > > Brian > > > > > > > > > > > Thanks // Hugo > > _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-04-21 12:40 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-04-19 9:56 [XFS] Any process to a particular XFS device hung in D state forever Hugo Kuo 2016-04-19 11:30 ` Brian Foster 2016-04-19 13:24 ` Hugo Kuo 2016-04-19 19:34 ` Brian Foster 2016-04-20 5:49 ` Hugo Kuo 2016-04-20 11:24 ` Brian Foster 2016-04-21 5:54 ` Hugo Kuo 2016-04-21 12:40 ` Brian Foster
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox