[Pacemaker] different behavior cibadmin -Ql with cman and corosync2

Andrey Groshev greenx at yandex.ru
Mon Sep 2 07:27:14 UTC 2013



30.08.2013, 07:18, "Andrew Beekhof" <andrew at beekhof.net>:
> On 29/08/2013, at 7:31 PM, Andrey Groshev <greenx at yandex.ru> wrote:
>
>>  29.08.2013, 12:25, "Andrey Groshev" <greenx at yandex.ru>:
>>>  29.08.2013, 02:55, "Andrew Beekhof" <andrew at beekhof.net>:
>>>>   On 28/08/2013, at 5:38 PM, Andrey Groshev <greenx at yandex.ru> wrote:
>>>>>    28.08.2013, 04:06, "Andrew Beekhof" <andrew at beekhof.net>:
>>>>>>    On 27/08/2013, at 1:13 PM, Andrey Groshev <greenx at yandex.ru> wrote:
>>>>>>>     27.08.2013, 05:39, "Andrew Beekhof" <andrew at beekhof.net>:
>>>>>>>>     On 26/08/2013, at 3:09 PM, Andrey Groshev <greenx at yandex.ru> wrote:
>>>>>>>>>      26.08.2013, 03:34, "Andrew Beekhof" <andrew at beekhof.net>:
>>>>>>>>>>      On 23/08/2013, at 9:39 PM, Andrey Groshev <greenx at yandex.ru> wrote:
>>>>>>>>>>>       Hello,
>>>>>>>>>>>
>>>>>>>>>>>       Today I try remake my test cluster from cman to corosync2.
>>>>>>>>>>>       I drew attention to the following:
>>>>>>>>>>>       If I reset cluster with cman through cibadmin --erase --force
>>>>>>>>>>>       In cib is still there exist names of nodes.
>>>>>>>>>>      Yes, the cluster puts back entries for all the nodes it know about automagically.
>>>>>>>>>>>       cibadmin -Ql
>>>>>>>>>>>       .....
>>>>>>>>>>>          <nodes>
>>>>>>>>>>>            <node id="dev-cluster2-node2.unix.tensor.ru" uname="dev-cluster2-node2"/>
>>>>>>>>>>>            <node id="dev-cluster2-node4.unix.tensor.ru" uname="dev-cluster2-node4"/>
>>>>>>>>>>>            <node id="dev-cluster2-node3.unix.tensor.ru" uname="dev-cluster2-node3"/>
>>>>>>>>>>>          </nodes>
>>>>>>>>>>>       ....
>>>>>>>>>>>
>>>>>>>>>>>       Even if cman and pacemaker running only one node.
>>>>>>>>>>      I'm assuming all three are configured in cluster.conf?
>>>>>>>>>      Yes, there exist list nodes.
>>>>>>>>>>>       And if I do too on cluster with corosync2
>>>>>>>>>>>       I see only names of nodes which run corosync and pacemaker.
>>>>>>>>>>      Since you're not included your config, I can only guess that your corosync.conf does not have a nodelist.
>>>>>>>>>>      If it did, you should get the same behaviour.
>>>>>>>>>      I try and expected_node and nodelist.
>>>>>>>>     And it didn't work? What version of pacemaker?
>>>>>>>     It does not work as I expected.
>>>>>>    Thats because you've used IP addresses in the node list.
>>>>>>    ie.
>>>>>>
>>>>>>    node {
>>>>>>      ring0_addr: 10.76.157.17
>>>>>>    }
>>>>>>
>>>>>>    try including the node name as well, eg.
>>>>>>
>>>>>>    node {
>>>>>>      name: dev-cluster2-node2
>>>>>>      ring0_addr: 10.76.157.17
>>>>>>    }
>>>>>    The same thing.
>>>>   I don't know what to say.  I tested it here yesterday and it worked as expected.
>>>  I found that the reason that You and I have different results - I did not have reverse DNS zone for these nodes.
>>>  I know what it should be, but (PACEMAKER + CMAN) worked without a reverse area!
>>  Hasty. Deleted all. Reinstalled. Configured. Not working again. Damn!
>
> It would have surprised me... pacemaker 1.1.11 doesn't do any dns lookups - reverse or otherwise.
> Can you set
>
>  PCMK_trace_files=corosync.c
>
> in your environment and retest?
>
> On RHEL6 that means putting the following in /etc/sysconfig/pacemaker
>   export PCMK_trace_files=corosync.c
>
> It should produce additional logging[1] that will help diagnose the issue.
>
> [1] http://blog.clusterlabs.org/blog/2013/pacemaker-logging/
>

Hello, Andrew.

You are a little misunderstood me.
I wrote that I rushed to judgment.
After I did the reverse DNS zone, the cluster behaved correctly.
BUT after I took apart the cluster dropped configs and restarted on the new cluster, 
cluster again don't showed all the nodes in the nodes (only node with running pacemaker).

A small portion of the log. Full log 
In which (I thought) there is something interesting.

Aug 30 12:31:11 [9986] dev-cluster2-node4        cib: (  corosync.c:423   )   trace: check_message_sanity:      Verfied message 4: (dest=<all>:cib, from=dev-cluster2-node4:cib.9986, compressed=0, size=1551, total=2143)
Aug 30 12:31:11 [9989] dev-cluster2-node4      attrd: (  corosync.c:96    )   trace: corosync_node_name:        Checking 172793107 vs 0 from nodelist.node.0.nodeid
Aug 30 12:31:11 [9989] dev-cluster2-node4      attrd: (      ipcc.c:378   )   debug: qb_ipcc_disconnect:        qb_ipcc_disconnect()
Aug 30 12:31:11 [9989] dev-cluster2-node4      attrd: (ringbuffer.c:294   )   debug: qb_rb_close:       Closing ringbuffer: /dev/shm/qb-cmap-request-9616-9989-27-header
Aug 30 12:31:11 [9989] dev-cluster2-node4      attrd: (ringbuffer.c:294   )   debug: qb_rb_close:       Closing ringbuffer: /dev/shm/qb-cmap-response-9616-9989-27-header
Aug 30 12:31:11 [9989] dev-cluster2-node4      attrd: (ringbuffer.c:294   )   debug: qb_rb_close:       Closing ringbuffer: /dev/shm/qb-cmap-event-9616-9989-27-header
Aug 30 12:31:11 [9989] dev-cluster2-node4      attrd: (  corosync.c:134   )  notice: corosync_node_name:        Unable to get node name for nodeid 172793107
Aug 30 12:31:11 [9989] dev-cluster2-node4      attrd: (   cluster.c:338   )  notice: get_node_name:     Defaulting to uname -n for the local corosync node name
Aug 30 12:31:11 [9989] dev-cluster2-node4      attrd: (     attrd.c:651   )   debug: attrd_cib_callback:        Update 4 for probe_complete=true passed
Aug 30 12:31:11 [9615] dev-cluster2-node4 corosync debug   [QB    ] HUP conn (9616-9989-27)
Aug 30 12:31:11 [9615] dev-cluster2-node4 corosync debug   [QB    ] qb_ipcs_disconnect(9616-9989-27) state:2
Aug 30 12:31:11 [9615] dev-cluster2-node4 corosync debug   [QB    ] epoll_ctl(del): Bad file descriptor (9)
Aug 30 12:31:11 [9615] dev-cluster2-node4 corosync debug   [MAIN  ] cs_ipcs_connection_closed()
Aug 30 12:31:11 [9615] dev-cluster2-node4 corosync debug   [CMAP  ] exit_fn for conn=0x7fa96bcb31b0
Aug 30 12:31:11 [9615] dev-cluster2-node4 corosync debug   [MAIN  ] cs_ipcs_connection_destroyed()
Aug 30 12:31:11 [9615] dev-cluster2-node4 corosync debug   [QB    ] Free'ing ringbuffer: /dev/shm/qb-cmap-response-9616-9989-27-header
Aug 30 12:31:11 [9615] dev-cluster2-node4 corosync debug   [QB    ] Free'ing ringbuffer: /dev/shm/qb-cmap-event-9616-9989-27-header
Aug 30 12:31:11 [9615] dev-cluster2-node4 corosync debug   [QB    ] Free'ing ringbuffer: /dev/shm/qb-cmap-request-9616-9989-27-header
Aug 30 12:31:11 [9989] dev-cluster2-node4      attrd: (  corosync.c:423   )   trace: check_message_sanity:      Verfied message 1: (dest=<all>:attrd, from=dev-cluster2-node4:attrd.9989, compressed=0, size=181, total=773)
Aug 30 12:31:42 [9984] dev-cluster2-node4 pacemakerd: (  mainloop.c:270   )    info: crm_signal_dispatch:       Invoking handler for signal 10: User defined signal 1
Aug 30 12:31:59 [9986] dev-cluster2-node4        cib: (       ipc.c:307   )    info: crm_client_new:    Connecting 0x16c98e0 for uid=0 gid=0 pid=10007 id=f2f15044-8f76-4ea7-a714-984660619ae7
Aug 30 12:31:59 [9986] dev-cluster2-node4        cib: ( ipc_setup.c:476   )   debug: handle_new_connection:     IPC credentials authenticated (9986-10007-13)
Aug 30 12:31:59 [9986] dev-cluster2-node4        cib: (   ipc_shm.c:294   )   debug: qb_ipcs_shm_connect:       connecting to client [10007]
Aug 30 12:31:59 [9986] dev-cluster2-node4        cib: (ringbuffer.c:227   )   debug: qb_rb_open_2:      shm size:524288; real_size:524288; rb->word_size:131072
Aug 30 12:31:59 [9986] dev-cluster2-node4        cib: (ringbuffer.c:227   )   debug: qb_rb_open_2:      shm size:524288; real_size:524288; rb->word_size:131072
Aug 30 12:31:59 [9986] dev-cluster2-node4        cib: (ringbuffer.c:227   )   debug: qb_rb_open_2:      shm size:524288; real_size:524288; rb->word_size:131072
Aug 30 12:31:59 [9986] dev-cluster2-node4        cib: (        io.c:579   )   debug: activateCibXml:    Triggering CIB write for cib_erase op
Aug 30 12:31:59 [9991] dev-cluster2-node4       crmd: (te_callbacks:122   )   debug: te_update_diff:    Processing diff (cib_erase): 0.9.3 -> 0.11.1 (S_IDLE)
Aug 30 12:31:59 [9991] dev-cluster2-node4       crmd: (  te_utils.c:423   )    info: abort_transition_graph:    te_update_diff:126 - Triggered transition abort (complete=1, node=, tag=diff, id=(null), magic=NA, cib=0.11.1) : Non-status change



>>>>>    # corosync-cmapctl |grep nodelist
>>>>>    nodelist.local_node_pos (u32) = 2
>>>>>    nodelist.node.0.name (str) = dev-cluster2-node2
>>>>>    nodelist.node.0.ring0_addr (str) = 10.76.157.17
>>>>>    nodelist.node.1.name (str) = dev-cluster2-node3
>>>>>    nodelist.node.1.ring0_addr (str) = 10.76.157.18
>>>>>    nodelist.node.2.name (str) = dev-cluster2-node4
>>>>>    nodelist.node.2.ring0_addr (str) = 10.76.157.19
>>>>>
>>>>>    # corosync-quorumtool -s
>>>>>    Quorum information
>>>>>    ------------------
>>>>>    Date:             Wed Aug 28 11:29:49 2013
>>>>>    Quorum provider:  corosync_votequorum
>>>>>    Nodes:            1
>>>>>    Node ID:          172793107
>>>>>    Ring ID:          52
>>>>>    Quorate:          No
>>>>>
>>>>>    Votequorum information
>>>>>    ----------------------
>>>>>    Expected votes:   3
>>>>>    Highest expected: 3
>>>>>    Total votes:      1
>>>>>    Quorum:           2 Activity blocked
>>>>>    Flags:
>>>>>
>>>>>    Membership information
>>>>>    ----------------------
>>>>>       Nodeid      Votes Name
>>>>>    172793107          1 dev-cluster2-node4 (local)
>>>>>
>>>>>    # cibadmin -Q
>>>>>    <cib epoch="25" num_updates="3" admin_epoch="0" validate-with="pacemaker-1.2" crm_feature_set="3.0.7" cib-last-written="Wed Aug 28 11:24:06 2013" update-origin="dev-cluster2-node4" update-client="crmd" have-quorum="0" dc-uuid="172793107">
>>>>>     <configuration>
>>>>>       <crm_config>
>>>>>         <cluster_property_set id="cib-bootstrap-options">
>>>>>           <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.11-1.el6-4f672bc"/>
>>>>>           <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
>>>>>         </cluster_property_set>
>>>>>       </crm_config>
>>>>>       <nodes>
>>>>>         <node id="172793107" uname="dev-cluster2-node4"/>
>>>>>       </nodes>
>>>>>       <resources/>
>>>>>       <constraints/>
>>>>>     </configuration>
>>>>>     <status>
>>>>>       <node_state id="172793107" uname="dev-cluster2-node4" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
>>>>>         <lrm id="172793107">
>>>>>           <lrm_resources/>
>>>>>         </lrm>
>>>>>         <transient_attributes id="172793107">
>>>>>           <instance_attributes id="status-172793107">
>>>>>             <nvpair id="status-172793107-probe_complete" name="probe_complete" value="true"/>
>>>>>           </instance_attributes>
>>>>>         </transient_attributes>
>>>>>       </node_state>
>>>>>     </status>
>>>>>    </cib>
>>>>>>>     I figured out a way get around this, but it would be easier to do if the CIB has worked as a with CMAN.
>>>>>>>     I just do not start the main resource if the attribute is not defined or it is not true.
>>>>>>>     This slightly changes the logic of the cluster.
>>>>>>>     But I'm not sure what the correct behavior.
>>>>>>>
>>>>>>>     libqb 0.14.4
>>>>>>>     corosync 2.3.1
>>>>>>>     pacemaker 1.1.11
>>>>>>>
>>>>>>>     All build from source in previews week.
>>>>>>>>>      Now in corosync.conf:
>>>>>>>>>
>>>>>>>>>      totem {
>>>>>>>>>             version: 2
>>>>>>>>>             crypto_cipher: none
>>>>>>>>>             crypto_hash: none
>>>>>>>>>             interface {
>>>>>>>>>                     ringnumber: 0
>>>>>>>>>      bindnetaddr: 10.76.157.18
>>>>>>>>>      mcastaddr: 239.94.1.56
>>>>>>>>>                     mcastport: 5405
>>>>>>>>>                     ttl: 1
>>>>>>>>>             }
>>>>>>>>>      }
>>>>>>>>>      logging {
>>>>>>>>>             fileline: off
>>>>>>>>>             to_stderr: no
>>>>>>>>>             to_logfile: yes
>>>>>>>>>             logfile: /var/log/cluster/corosync.log
>>>>>>>>>             to_syslog: yes
>>>>>>>>>             debug: on
>>>>>>>>>             timestamp: on
>>>>>>>>>             logger_subsys {
>>>>>>>>>                     subsys: QUORUM
>>>>>>>>>                     debug: on
>>>>>>>>>             }
>>>>>>>>>      }
>>>>>>>>>      quorum {
>>>>>>>>>             provider: corosync_votequorum
>>>>>>>>>      }
>>>>>>>>>      nodelist {
>>>>>>>>>      node {
>>>>>>>>>      ring0_addr: 10.76.157.17
>>>>>>>>>      }
>>>>>>>>>      node {
>>>>>>>>>      ring0_addr: 10.76.157.18
>>>>>>>>>      }
>>>>>>>>>      node {
>>>>>>>>>      ring0_addr: 10.76.157.19
>>>>>>>>>      }
>>>>>>>>>      }
>>>>>>>>>
>>>>>>>>>      _______________________________________________
>>>>>>>>>      Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>>>>>>>      http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>>>>>>>
>>>>>>>>>      Project Home: http://www.clusterlabs.org
>>>>>>>>>      Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>>>>>>>      Bugs: http://bugs.clusterlabs.org
>>>>>>>>     ,
>>>>>>>>     _______________________________________________
>>>>>>>>     Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>>>>>>     http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>>>>>>
>>>>>>>>     Project Home: http://www.clusterlabs.org
>>>>>>>>     Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>>>>>>     Bugs: http://bugs.clusterlabs.org
>>>>>>>     _______________________________________________
>>>>>>>     Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>>>>>     http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>>>>>
>>>>>>>     Project Home: http://www.clusterlabs.org
>>>>>>>     Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>>>>>     Bugs: http://bugs.clusterlabs.org
>>>>>>    ,
>>>>>>    _______________________________________________
>>>>>>    Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>>>>    http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>>>>
>>>>>>    Project Home: http://www.clusterlabs.org
>>>>>>    Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>>>>    Bugs: http://bugs.clusterlabs.org
>>>>>    _______________________________________________
>>>>>    Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>>>    http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>>>
>>>>>    Project Home: http://www.clusterlabs.org
>>>>>    Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>>>    Bugs: http://bugs.clusterlabs.org
>>>>   ,
>>>>   _______________________________________________
>>>>   Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>>   http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>>
>>>>   Project Home: http://www.clusterlabs.org
>>>>   Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>>   Bugs: http://bugs.clusterlabs.org
>>>  _______________________________________________
>>>  Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>>  http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>>
>>>  Project Home: http://www.clusterlabs.org
>>>  Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>>  Bugs: http://bugs.clusterlabs.org
>>  _______________________________________________
>>  Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>  http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>
>>  Project Home: http://www.clusterlabs.org
>>  Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>  Bugs: http://bugs.clusterlabs.org
>
> ,
> _______________________________________________
> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org




More information about the Pacemaker mailing list