<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    With 3.2.4 during self-heal, no operation on the file being healed
    is allowed so your VM's will stall and time out if the self-heal
    isn't finished quick enough. gluster 3.3 will fix this, but I don't
    know when it will be released. There are betas to try out though :).
    Perhaps somebody else can say how stable 3.3-beta2 is compared to
    3.2.4?<br>
    <br>
    On 10/11/2011 10:57 AM, keith wrote:
    <blockquote cite="mid:4E940516.90702@science.nus.edu.sg" type="cite">Hi
      all
      <br>
      <br>
      I am testing gluster-3.2.4 on a 2 nodes storage with replication
      as our VMware datastore.
      <br>
      <br>
      The setup is running replication on 2 nodes with ucarp and mount
      it on WMware using NFS to gluster as a datastore.
      <br>
      <br>
      <blockquote type="cite">Volume Name: GLVOL1
        <br>
        Type: Replicate
        <br>
        Status: Started
        <br>
        Number of Bricks: 2
        <br>
        Transport-type: tcp
        <br>
        Bricks:
        <br>
        Brick1: t4-01.store:/EXPORT/GLVOL1
        <br>
        Brick2: t4-03.store:/EXPORT/GLVOL1
        <br>
        Options Reconfigured:
        <br>
        performance.cache-size: 4096MB
        <br>
      </blockquote>
      <br>
      High-availability testing goes on smoothly without any problem or
      data-corruption, that is when any node is down, all VM guests runs
      normally without any problem.
      <br>
      <br>
      The problem arises when I bring up the failed node and the node
      start doing self-healing.&nbsp; All my VM guests get kernel error
      messages and finally the VM guests ended up with "EXT3-fs error:
      ext3_journal_start_sb: detected aborted journal" remount
      filesystem (root) as read-only.
      <br>
      <br>
      Below are some of the VM guests kernel error generated when I
      bring up the failed gluster node for self-healing:
      <br>
      <br>
      <blockquote type="cite">Oct 11 15:57:58 testvm3 kernel: pvscsi:
        task abort on host 1, ffff8100221c90c0
        <br>
        Oct 11 15:57:58 testvm3 kernel: pvscsi: task abort on host 1,
        ffff8100221c9240
        <br>
        Oct 11 15:57:58 testvm3 kernel: pvscsi: task abort on host 1,
        ffff8100221c93c0
        <br>
        Oct 11 15:58:34 testvm3 kernel: INFO: task kjournald:2081
        blocked for more than 120 seconds.
        <br>
        Oct 11 15:58:34 testvm3 kernel: "echo 0 &gt;
        /proc/sys/kernel/hung_task_timeout_secs" disables this message.
        <br>
        Oct 11 15:58:34 testvm3 kernel: kjournald&nbsp;&nbsp;&nbsp;&nbsp; D
        ffff810001736420&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; 2081&nbsp;&nbsp;&nbsp;&nbsp; 14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2494&nbsp; 2060 (L-TLB)
        <br>
        Oct 11 15:58:34 testvm3 kernel: ffff81003c087cf0
        0000000000000046 ffff810030ef2288 ffff81003f5d6048
        <br>
        Oct 11 15:58:34 testvm3 kernel: 00000000037685c8
        000000000000000a ffff810037c53820 ffffffff80314b60
        <br>
        Oct 11 15:58:34 testvm3 kernel: 00001883cb68d47d
        0000000000002c4e ffff810037c53a08 000000003f5128b8
        <br>
        Oct 11 15:58:34 testvm3 kernel: Call Trace:
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8006ec8f&gt;]
        do_gettimeofday+0x40/0x90
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800155d3&gt;]
        sync_buffer+0x0/0x3f
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800637ce&gt;]
        io_schedule+0x3f/0x67
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8001560e&gt;]
        sync_buffer+0x3b/0x3f
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800639fa&gt;]
        __wait_on_bit+0x40/0x6e
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800155d3&gt;]
        sync_buffer+0x0/0x3f
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff80063a94&gt;]
        out_of_line_wait_on_bit+0x6c/0x78
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800a2e2b&gt;]
        wake_bit_function+0x0/0x23
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff88033a41&gt;]
        :jbd:journal_commit_transaction+0x553/0x10aa
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8003d85b&gt;]
        lock_timer_base+0x1b/0x3c
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8004ad98&gt;]
        try_to_del_timer_sync+0x7f/0x88
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff88037662&gt;]
        :jbd:kjournald+0xc1/0x213
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800a2dfd&gt;]
        autoremove_wake_function+0x0/0x2e
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800a2be5&gt;]
        keventd_create_kthread+0x0/0xc4
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff880375a1&gt;]
        :jbd:kjournald+0x0/0x213
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800a2be5&gt;]
        keventd_create_kthread+0x0/0xc4
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff80032722&gt;]
        kthread+0xfe/0x132
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8005dfb1&gt;]
        child_rip+0xa/0x11
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800a2be5&gt;]
        keventd_create_kthread+0x0/0xc4
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff80032624&gt;]
        kthread+0x0/0x132
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8005dfa7&gt;]
        child_rip+0x0/0x11
        <br>
        Oct 11 15:58:34 testvm3 kernel:
        <br>
        Oct 11 15:58:34 testvm3 kernel: INFO: task crond:3418 blocked
        for more than 120 seconds.
        <br>
        Oct 11 15:58:34 testvm3 kernel: "echo 0 &gt;
        /proc/sys/kernel/hung_task_timeout_secs" disables this message.
        <br>
        Oct 11 15:58:34 testvm3 kernel: crond&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D
        ffff810001736420&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; 3418&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3436&nbsp; 3405 (NOTLB)
        <br>
        Oct 11 15:58:34 testvm3 kernel: ffff810036c55ca8
        0000000000000086 0000000000000000 ffffffff80019e3e
        <br>
        Oct 11 15:58:34 testvm3 kernel: 0000000000065bf2
        0000000000000007 ffff81003ce4b080 ffffffff80314b60
        <br>
        Oct 11 15:58:34 testvm3 kernel: 000018899ae16270
        0000000000023110 ffff81003ce4b268 000000008804ec00
        <br>
        Oct 11 15:58:34 testvm3 kernel: Call Trace:
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff80019e3e&gt;]
        __getblk+0x25/0x22c
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8006ec8f&gt;]
        do_gettimeofday+0x40/0x90
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800155d3&gt;]
        sync_buffer+0x0/0x3f
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800637ce&gt;]
        io_schedule+0x3f/0x67
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8001560e&gt;]
        sync_buffer+0x3b/0x3f
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff80063912&gt;]
        __wait_on_bit_lock+0x36/0x66
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800155d3&gt;]
        sync_buffer+0x0/0x3f
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800639ae&gt;]
        out_of_line_wait_on_bit_lock+0x6c/0x78
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800a2e2b&gt;]
        wake_bit_function+0x0/0x23
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8803181e&gt;]
        :jbd:do_get_write_access+0x54/0x522
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff80019e3e&gt;]
        __getblk+0x25/0x22c
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff88031d0e&gt;]
        :jbd:journal_get_write_access+0x22/0x33
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8804dd37&gt;]
        :ext3:ext3_reserve_inode_write+0x38/0x90
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8804ddb0&gt;]
        :ext3:ext3_mark_inode_dirty+0x21/0x3c
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff88050d35&gt;]
        :ext3:ext3_dirty_inode+0x63/0x7b
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff80013d98&gt;]
        __mark_inode_dirty+0x29/0x16e
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff80025a49&gt;]
        filldir+0x0/0xb7
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8003516b&gt;]
        vfs_readdir+0x8c/0xa9
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff800389db&gt;]
        sys_getdents+0x75/0xbd
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8005d229&gt;]
        tracesys+0x71/0xe0
        <br>
        Oct 11 15:58:34 testvm3 kernel: [&lt;ffffffff8005d28d&gt;]
        tracesys+0xd5/0xe0
        <br>
        Oct 11 15:58:34 testvm3 kernel:
        <br>
        Oct 11 15:58:34 testvm3 kernel: INFO: task httpd:3452 blocked
        for more than 120 seconds.
        <br>
        Oct 11 15:58:34 testvm3 kernel: "echo 0 &gt;
        /proc/sys/kernel/hung_task_timeout_secs" disables this message.
        <br>
        Oct 11 15:58:34 testvm3 kernel: httpd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D
        ffff810001736420&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; 3452&nbsp;&nbsp; 3405&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3453&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (NOTLB)
        <br>
        Oct 11 15:58:34 testvm3 kernel: ffff810035ea9dc8
        0000000000000086 0000000000000000 ffffffff80009a1c
        <br>
        Oct 11 15:58:34 testvm3 kernel: ffff810035ea9e28
        0000000000000009 ffff810037e52080 ffffffff80314b60
        <br>
        Oct 11 15:58:34 testvm3 kernel: 000018839f75405c
        000000000003363d ffff810037e52268 000000003f5e7150
        <br>
      </blockquote>
      <br>
      Please note that although I am using ucarp for IP failover and by
      default ucarp will alway have a preferred master, I have added
      codes to make sure that the ucarp master will always become slave
      when it goes down and come up again.&nbsp; This will ensure that WMware
      will not connect back to the failed node when it comes back up.
      <br>
      <br>
      However this does not prevent the problem I describe above.
      <br>
      <br>
      There are a lot of logs generated during self-healing process.&nbsp; It
      doesn't make any sense to me.&nbsp; I am attaching it. It's over 900k.
      So I zip them up.&nbsp; Hopefully the mailling list allow attachment.
      <br>
      <br>
      Is there any best practices to setup/run gluster with replication
      as a datastore to VMware that make sure VM guests run smoothly
      even when one node goes into self-healing?
      <br>
      <br>
      Any advise is appreciated.
      <br>
      <br>
      Keith
      <br>
      <br>
      <br>
      <br>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Gluster-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a>
<a class="moz-txt-link-freetext" href="http://gluster.org/cgi-bin/mailman/listinfo/gluster-users">http://gluster.org/cgi-bin/mailman/listinfo/gluster-users</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>