GBase 8a从配置文件获得节点IP地址

GBase 8a提供了gcadmin命令来获得集群的节点信息,但如果集群没有启动,也可以从集群的配置文件里获得。

86版本集群

管理节点

从/etc/corosync/corosync.conf配置文件获得,标志为 memberaddr

[root@gbase_rh7_001 gcware]# cat /etc/corosync/corosync.conf
totem {
    version: 2
    secauth: off
    nodeid: 101
    interface {
        member {
            memberaddr: 2001:2002:2003:2004:2005:2006:2007:101
            nodeid: 101
        }
        ringnumber: 0
        bindnetaddr: 2001:2002:2003:2004:2005:2006:2007:101
        mcastport: 5493
        ttl: 1
    }
    transport: udpu
    token: 60000
    token_retransmits_before_loss_const:80
    send_join: 80
    join: 1500
    consensus:120000
}
。。。。

过滤的结果

[root@gbase_rh7_001 gcware]# cat /etc/corosync/corosync.conf |grep memberaddr
            memberaddr: 2001:2002:2003:2004:2005:2006:2007:101
            memberaddr: 2001:2002:2003:2004:2005:2006:2007:101

数据节点

从/var/lib/gcware/DATASERVER【.bak】里获得,标志为ipaddr。

如果两个文件都存在,则以epoch大的为准。如相同,随意一个。

[root@gbase_rh7_001 gcware]# cat /var/lib/gcware/DATASERVER
{
  "version":1,
  "epoch":5,
  "list_entries":2,
  "nodes":[
    {
      "nodeid":101,
      "nodename":"node1",
      "ipaddr":"2001:2002:2003:2004:2005:2006:2007:101"
    },
    {
      "nodeid":1,
      "nodename":"node2",
      "ipaddr":"2001:2002:2003:2004::2006:2007:102"
    }
  ]
}[root@gbase_rh7_001 gcware]# cat /var/lib/gcware/DATASERVER.bak
{
  "version":1,
  "epoch":5,
  "list_entries":2,
  "nodes":[
    {
      "nodeid":101,
      "nodename":"node1",
      "ipaddr":"2001:2002:2003:2004:2005:2006:2007:101"
    },
    {
      "nodeid":1,
      "nodename":"node2",
      "ipaddr":"2001:2002:2003:2004::2006:2007:102"
    }
  ]
}[root@gbase_rh7_001 gcware]#

95版本集群

管理节点

配置文件在:安装目录/gcware/config/gcware.conf,标志为 memberaddr

数据节点

在运行期的SNAPSHOT里面,安装目录/gcware/data/gcware/SNAPSHOT.1.66/statemachine/vc00001

其中的SNAPSHOT后缀的编号,以大的为准。 里面的vc00001对应虚拟集群编号,默认是vc00001

/opt/gbase/
[gbase@gbase_rh7_001 vc00001]$ cat DATASERVER
{
  "version":1,
  "epoch":0,
  "list_entries":2,
  "nodes":[
    {
      "nodeid":101,
      "nodename":"node1",
      "ipaddr":"2001:2002:2003:2004:2005:2006:2007:101"
    },
    {
      "nodeid":1,
      "nodename":"node2",
      "ipaddr":"2001:2002:2003:2004:2005:2006:2007:102"
    }
  ]
}