Failover 释义:
当一个操作在发起端gclusterd出现意外时,为了确保影响到的数据的一致性,设置failover, 由其它gclusterd进程负责检查故障操作设计的表的一致性。
如发现不一致,比如在commit阶段,部分分片成功了,那么根据主备比例,采取对不成功的分片设置1进行同步,或者对少量已经commit的分片进行强制回滚。
最终确保所有节点全部成功或者全部失败。
gcamdin showfailover
功能
显示当前保留在 gcware 中的所有 failover 信息。
语法
gcadmin showfailover [f]
参数说明
参数名称 | 说明 |
---|---|
f | 可选参数,按 xml 格式显示锁信息。 |
在输入gcadmin showfailover命令后会显示集群锁信息表,该表的列信息如下:
列名称 | 说明 |
commit id | failover的唯一标识,64 位数字。 |
database | 数据库名。 |
table | 表名。 |
scn | scn 号。 |
type | ddl/dml/rebalance。 |
create time | 当前节点创建 failover 信息的时间。 |
state failover | 对应的状态如下: init:初始化,对应显示数字 0 add_res:添加集群锁,对应显示数字 1 set_info:设置 failover 信息,对应显示数字 2 set_status:设置分片状态,对应显示数字 3 set_rebalance_info:设置 rebalance 信息,对应显示数4 set_rebalance_status:设置 rebalance 状态,对应显示数字 5 |
original node | 发起节点。 |
takeover node | 当前接管节点,如果没有发生接管则显示为 0.0.0.0。 |
takeover number | failover的接管次数,gcware 通知 gcluster 接管后这个值就加1。 |
示例
$gcadmin showfailover +===============================================================================================================================================+、 | GCLUSTER FAILOVER |
+===============================================================================================================================================+ +------------+------------+-----------+------------+-----------+------------------+-------+-----------------+-----------------+-----------------+ | commit id | database | table | scn | type | create time | state | original node | takeover node | takeover number | +------------+------------+-----------+------------+-----------+------------------+-------+-----------------+-----------------+-----------------+ | 1 | test | t1 | 1 | ddl | 20161019101114 | 5 | 192.168.153.130 | 0.0.0.0 | 0 | +------------+------------+-----------+------------+-----------+------------------+-------+-----------------+-----------------+-----------------+