<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    HI all,<br>
        We continue to have gfs2 crashes and hangs on our production
    cluster, so I'm beginning to think that we've done something really
    wrong.  Here is our set-up:<br>
    <ul>
      <li>4 node cluster, only 3 participate in gfs2 filesystems</li>
      <li>Running several services on multiple nodes using gfs2:</li>
      <ul>
        <li>IMAP (dovecot)</li>
        <li>Web (apache with lots of python)</li>
        <li>Samba (using ctdb)</li>
      </ul>
      <li>GFS2 partitions are multipathed on an HP EVA-based SAN (no
        LVM) -- here is fstab from one node (the three nodes are all the
        same):</li>
    </ul>
    <blockquote>
      <blockquote><tt>LABEL=/1                /                      
          ext3    defaults        1 1</tt><br>
        <tt>LABEL=/boot1            /boot                   ext3   
          defaults        1 2</tt><br>
        <tt>tmpfs                   /dev/shm                tmpfs  
          defaults        0 0</tt><br>
        <tt>devpts                  /dev/pts                devpts 
          gid=5,mode=620  0 0</tt><br>
        <tt>sysfs                   /sys                    sysfs  
          defaults        0 0</tt><br>
        <tt>proc                    /proc                   proc   
          defaults        0 0</tt><br>
        <tt>LABEL=SW-cciss/c0d0p2   swap                    swap   
          defaults        0 0</tt><br>
        <tt>LABEL=plato:Mail        /var/spool/mail         gfs2   
          noatime,_netdev</tt><br>
        <tt>LABEL=plato:VarTmp      /var/tmp                gfs2   
          _netdev</tt><br>
        <tt>LABEL=plato:UsrLocal    /usr/local              gfs2   
          noatime,_netdev</tt><br>
        <tt>LABEL=plato:UsrLocalProjects /usr/local/projects gfs2  
          noatime,_netdev</tt><br>
        <tt>LABEL=plato:Home2       /home/socr              gfs2   
          noatime,_netdev</tt><br>
        <tt>LABEL=plato:HomeNoBackup /home/socr/nobackup    gfs2   
          _netdev</tt><br>
        <tt>LABEL=plato:DbBackup    /databases/backups      gfs2   
          noatime,_netdev</tt><br>
        <tt>LABEL=plato:DbMol       /databases/mol          gfs2   
          noatime,_netdev</tt><br>
        <tt>LABEL=plato:MolDbBlast  /databases/mol/blast    gfs2   
          noatime,_netdev</tt><br>
        <tt>LABEL=plato:MolDbEmboss /databases/mol/emboss   gfs2   
          noatime,_netdev</tt></blockquote>
    </blockquote>
    <ul>
      <li>Kernel version is: 2.6.18-194.3.1.el5 and all nodes are
        x86_64.</li>
      <li>What's happening is every so often, we start seeing
        gfs2-related task hangs in the logs.  In the last instance (last
        Friday) we've got this:</li>
    </ul>
    <blockquote>
      <blockquote>Node 0:<br>
        <blockquote><tt>[2010-07-30 13:23:25]INFO: task imap:25716
            blocked for more than 120 seconds.^M</tt><br>
          <tt>[2010-07-30 13:23:25]"echo 0 >
            /proc/sys/kernel/hung_task_timeout_secs" disables this
            message.^M</tt><br>
          <tt>[2010-07-30 13:23:25]imap          D ffff8100010825a0    
            0 25716   9217         24080 25667 (NOTLB)^M</tt><br>
          <tt>[2010-07-30 13:23:25] ffff810619b59bc8 0000000000000086
            ffff810113233f10 ffffffff00000000^M</tt><br>
          <tt>[2010-07-30 13:23:26] ffff81000f8c5cd0 000000000000000a
            ffff810233416040 ffff81082fd05100^M</tt><br>
          <tt>[2010-07-30 13:23:26] 00012196d153c88e 0000000000008b81
            ffff810233416228 0000000f6a949180^M</tt><br>
          <tt>[2010-07-30 13:23:26]Call Trace:^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff887d0be6>]
            :gfs2:gfs2_dirent_find+0x0/0x4e^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff887d0c18>]
            :gfs2:gfs2_dirent_find+0x32/0x4e^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff887d5ee7>]
            :gfs2:just_schedule+0x0/0xe^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff887d5ef0>]
            :gfs2:just_schedule+0x9/0xe^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff80063a16>]
            __wait_on_bit+0x40/0x6e^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff887d5ee7>]
            :gfs2:just_schedule+0x0/0xe^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff80063ab0>]
            out_of_line_wait_on_bit+0x6c/0x78^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff800a0aec>]
            wake_bit_function+0x0/0x23^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff887d5ee2>]
            :gfs2:gfs2_glock_wait+0x2b/0x30^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff887e579e>]
            :gfs2:gfs2_permission+0x83/0xd5^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff887e5796>]
            :gfs2:gfs2_permission+0x7b/0xd5^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff8000ce97>]
            do_lookup+0x65/0x1e6^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff8000d918>]
            permission+0x81/0xc8^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff8000997f>]
            __link_path_walk+0x173/0xf42^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff8000e9e2>]
            link_path_walk+0x42/0xb2^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff8000ccb2>]
            do_path_lookup+0x275/0x2f1^M</tt><br>
          <tt>[2010-07-30 13:23:26] [<ffffffff8001280e>]
            getname+0x15b/0x1c2^M</tt><br>
          <tt>[2010-07-30 13:23:27] [<ffffffff80023876>]
            __user_walk_fd+0x37/0x4c^M</tt><br>
          <tt>[2010-07-30 13:23:27] [<ffffffff80028846>]
            vfs_stat_fd+0x1b/0x4a^M</tt><br>
          <tt>[2010-07-30 13:23:27] [<ffffffff800638b3>]
            schedule_timeout+0x92/0xad^M</tt><br>
          <tt>[2010-07-30 13:23:27] [<ffffffff80097dab>]
            process_timeout+0x0/0x5^M</tt><br>
          <tt>[2010-07-30 13:23:27] [<ffffffff800f8435>]
            sys_epoll_wait+0x3b8/0x3f9^M</tt><br>
          <tt>[2010-07-30 13:23:27] [<ffffffff800235a8>]
            sys_newstat+0x19/0x31^M</tt><br>
          <tt>[2010-07-30 13:23:27] [<ffffffff8005d229>]
            tracesys+0x71/0xe0^M</tt><br>
          <tt>[2010-07-30 13:23:27] [<ffffffff8005d28d>]
            tracesys+0xd5/0xe0^M</tt><br>
        </blockquote>
        Node 1:<br>
        <blockquote><tt>[2010-07-30 13:23:59]INFO: task pdflush:623
            blocked for more than 120 seconds.^M</tt><br>
          <tt>[2010-07-30 13:23:59]"echo 0 >
            /proc/sys/kernel/hung_task_timeout_secs" disables this
            message.^M</tt><br>
          <tt>[2010-07-30 13:23:59]pdflush       D ffff810407069aa0    
            0   623    291           624   622 (L-TLB)^M</tt><br>
          <tt>[2010-07-30 13:23:59] ffff8106073c1bd0 0000000000000046
            0000000000000001 ffff8103fea899a8^M</tt><br>
          <tt>[2010-07-30 13:23:59] ffff8106073c1c30 000000000000000a
            ffff8105fff7c0c0 ffff8107fff4c820^M</tt><br>
          <tt>[2010-07-30 13:24:00] 0000ed85d9d7a027 0000000000011b50
            ffff8105fff7c2a8 00000006f0a9d0d0^M</tt><br>
          <tt>[2010-07-30 13:24:00]Call Trace:^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff8001a927>]
            submit_bh+0x10a/0x111^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff88802ee7>]
            :gfs2:just_schedule+0x0/0xe^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff88802ef0>]
            :gfs2:just_schedule+0x9/0xe^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff80063a16>]
            __wait_on_bit+0x40/0x6e^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff88802ee7>]
            :gfs2:just_schedule+0x0/0xe^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff80063ab0>]
            out_of_line_wait_on_bit+0x6c/0x78^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff800a0aec>]
            wake_bit_function+0x0/0x23^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff88802ee2>]
            :gfs2:gfs2_glock_wait+0x2b/0x30^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff88813269>]
            :gfs2:gfs2_write_inode+0x5f/0x152^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff88813261>]
            :gfs2:gfs2_write_inode+0x57/0x152^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff8002fbf8>]
            __writeback_single_inode+0x1e9/0x328^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff80020ec9>]
            sync_sb_inodes+0x1b5/0x26f^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff800a08a6>]
            keventd_create_kthread+0x0/0xc4^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff8005123a>]
            writeback_inodes+0x82/0xd8^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff800c97b5>]
            wb_kupdate+0xd4/0x14e^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff80056879>]
            pdflush+0x0/0x1fb^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff800569ca>]
            pdflush+0x151/0x1fb^M</tt><br>
          <tt>[2010-07-30 13:24:00] [<ffffffff800c96e1>]
            wb_kupdate+0x0/0x14e^M</tt><br>
          <tt>[2010-07-30 13:24:01] [<ffffffff80032894>]
            kthread+0xfe/0x132^M</tt><br>
          <tt>[2010-07-30 13:24:01] [<ffffffff8009d734>]
            request_module+0x0/0x14d^M</tt><br>
          <tt>[2010-07-30 13:24:01] [<ffffffff8005dfb1>]
            child_rip+0xa/0x11^M</tt><br>
          <tt>[2010-07-30 13:24:01] [<ffffffff800a08a6>]
            keventd_create_kthread+0x0/0xc4^M</tt><br>
          <tt>[2010-07-30 13:24:01] [<ffffffff80032796>]
            kthread+0x0/0x132^M</tt><br>
          <tt>[2010-07-30 13:24:01] [<ffffffff8005dfa7>]
            child_rip+0x0/0x11^M</tt><br>
        </blockquote>
        Node 2:<br>
        <blockquote><tt>[2010-07-30 13:24:46]INFO: task
            delete_workqueu:7175 blocked for more than 120 seconds.^M</tt><br>
          <tt>[2010-07-30 13:24:46]"echo 0 >
            /proc/sys/kernel/hung_task_timeout_secs" disables this
            message.^M</tt><br>
          <tt>[2010-07-30 13:24:46]delete_workqu D ffff81082b5cf860    
            0  7175    329          7176  7174 (L-TLB)^M</tt><br>
          <tt>[2010-07-30 13:24:46] ffff81081ed6dbf0 0000000000000046
            0000000000000018 ffffffff887a84f3^M</tt><br>
          <tt>[2010-07-30 13:24:46] 0000000000000286 000000000000000a
            ffff81082dd477e0 ffff81082b5cf860^M</tt><br>
          <tt>[2010-07-30 13:24:46] 00012166bf7ec21d 000000000002ed0b
            ffff81082dd479c8 00000007887a9e5a^M</tt><br>
          <tt>[2010-07-30 13:24:46]Call Trace:^M</tt><br>
          <tt>[2010-07-30 13:24:46] [<ffffffff887a84f3>]
            :dlm:request_lock+0x93/0xa0^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff8884f556>]
            :lock_dlm:gdlm_ast+0x0/0x311^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff8884f2c1>]
            :lock_dlm:gdlm_bast+0x0/0x8d^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887d3ee7>]
            :gfs2:just_schedule+0x0/0xe^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887d3ef0>]
            :gfs2:just_schedule+0x9/0xe^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff80063a16>]
            __wait_on_bit+0x40/0x6e^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887d3ee7>]
            :gfs2:just_schedule+0x0/0xe^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff80063ab0>]
            out_of_line_wait_on_bit+0x6c/0x78^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff800a0aec>]
            wake_bit_function+0x0/0x23^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887d3ee2>]
            :gfs2:gfs2_glock_wait+0x2b/0x30^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887e82cf>]
            :gfs2:gfs2_check_blk_type+0xd7/0x1c9^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887e82c7>]
            :gfs2:gfs2_check_blk_type+0xcf/0x1c9^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff80063ab0>]
            out_of_line_wait_on_bit+0x6c/0x78^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887e804f>]
            :gfs2:gfs2_rindex_hold+0x32/0x12b^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887d5a29>]
            :gfs2:delete_work_func+0x0/0x65^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887d5a29>]
            :gfs2:delete_work_func+0x0/0x65^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887e3e3a>]
            :gfs2:gfs2_delete_inode+0x76/0x1b4^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff887e3e01>]
            :gfs2:gfs2_delete_inode+0x3d/0x1b4^M</tt><br>
          <tt>[2010-07-30 13:24:47] [<ffffffff8000d3ba>]
            dput+0x2c/0x114^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff887e3dc4>]
            :gfs2:gfs2_delete_inode+0x0/0x1b4^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff8002f35e>]
            generic_delete_inode+0xc6/0x143^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff887d5a83>]
            :gfs2:delete_work_func+0x5a/0x65^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff8004d8f0>]
            run_workqueue+0x94/0xe4^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff8004a12b>]
            worker_thread+0x0/0x122^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff800a08a6>]
            keventd_create_kthread+0x0/0xc4^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff8004a21b>]
            worker_thread+0xf0/0x122^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff8008d087>]
            default_wake_function+0x0/0xe^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff800a08a6>]
            keventd_create_kthread+0x0/0xc4^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff800a08a6>]
            keventd_create_kthread+0x0/0xc4^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff80032894>]
            kthread+0xfe/0x132^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff8005dfb1>]
            child_rip+0xa/0x11^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff800a08a6>]
            keventd_create_kthread+0x0/0xc4^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff80032796>]
            kthread+0x0/0x132^M</tt><br>
          <tt>[2010-07-30 13:24:48] [<ffffffff8005dfa7>]
            child_rip+0x0/0x11^M</tt><br>
        </blockquote>
      </blockquote>
    </blockquote>
    <ul>
      <li>Various messages related to hung_task_timeouts repeated on
        each node (usually related to imap).</li>
      <li>Within a minute or two, the cluster was completely hung.  Root
        could log into the console, but commands (like dmesg) would just
        hang.</li>
    </ul>
    So, my major question:  is there something wrong with my
    configuration?  Have we done something really stupid?  The initial
    response from RedHat was that we shouldn't run services on multiple
    nodes that access gfs2, which seems a little confusing since we
    would use ext3 or ext4 if we were going to node lock (or failover)
    the partitions.  Have we missed something somewhere?<br>
    <br>
    Thanks in advance for any help anyone can give.  We're getting
    pretty desperate here since the downtime is starting to have a
    significant impact on our credibility.<br>
    <br>
    -- scooter<br>
    <br>
      <br>
  </body>
</html>