GBase 8a部分V95版本升级时需要gcware.flush_statemachine强行刷快照的操作

GBase 8a部分V95版本升级时需要强行刷快照的操作

1、升级前如何确认gcware快照版本? 

  在所有gcware服务的节点上,进入$GCWARE_BASE/data/gcware目录,查看SNAPSHOT.term.index信息,如果存在多个SNAPSHOT.term.index,先比较term位置的数值,term大的为最新的快照,如果term一致,再比较index位置的数值,index大的为最新的快照。   

 2、如何刷快照?

    (1)升级之前停止集群所有节点服务;    (2)只启动所有gcware服务(V952coor上执行:gcluster_services gcware start,V953gcware上执行:gcware_services gcware start)    (3)任意选择一个coor节点,执行gcadmin查看gcware服务状态,确保所有gcware服务状态均为OPEN    (4)任意选择一个coor节点,执行python,import gcware,gcware.flush_statemachine(),gcware刷快照是异步执行的,返回1代表仅代表刷快照命令发送成功。   

3、如何确认快照刷成功了?

    (1)在所有gcware服务的节点上,进入$GCWARE_BASE/data/gcware目录,查看SNAPSHOT.term.index信息,如果term或index,其中任意一个变大的SNAPSHOT.term.index文件夹存在,则代表刷新成功。    (2)如果执行完gcware.flush_statemachine()后立即查看,可能会存在SNAPSHOT.term.index.s的文件夹存在,表示刷新快照正在进行中。   

4、后续计划

为了提升易用性,降低现场误操作的风险,V95的下一版本会把上述过程自动化,由升级脚本自动完成。

操作样例

[gbase@localhost gcinstall]$ gcluster_services gcware start
Starting gcware :                                          [  OK  ]
[gbase@localhost gcinstall]$ gcadmin
CLUSTER STATE:         ACTIVE
VIRTUAL CLUSTER MODE:  NORMAL

=============================================================
|           GBASE COORDINATOR CLUSTER INFORMATION           |
=============================================================
|   NodeName   | IpAddress  | gcware | gcluster | DataState |
-------------------------------------------------------------
| coordinator1 | 10.0.2.102 | CLOSE  |  CLOSE   |     0     |
-------------------------------------------------------------
| coordinator2 | 10.0.2.202 |  OPEN  |  CLOSE   |     0     |
-------------------------------------------------------------
| coordinator3 | 10.0.2.203 | CLOSE  |  CLOSE   |     0     |
-------------------------------------------------------------
=========================================================================================================
|                                    GBASE DATA CLUSTER INFORMATION                                     |
=========================================================================================================
| NodeName |                IpAddress                 | DistributionId | gnode | syncserver | DataState |
---------------------------------------------------------------------------------------------------------
|  node1   |                10.0.2.102                |       6        | CLOSE |   CLOSE    |     0     |
---------------------------------------------------------------------------------------------------------
|  node2   |                10.0.2.202                |       6        | CLOSE |   CLOSE    |     0     |
---------------------------------------------------------------------------------------------------------
|  node3   |                10.0.2.203                |       6        | CLOSE |   CLOSE    |     0     |
---------------------------------------------------------------------------------------------------------

[gbase@localhost gcinstall]$ python
Python 2.7.5 (default, Aug  2 2016, 04:20:16)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gcware;
>>> gcware.flush_statemachine()
1
>>> quit
Use quit() or Ctrl-D (i.e. EOF) to exit
>>> quit()
[gbase@localhost gcinstall]$ gcluster_services gcware stop
Stopping gcware :                                          [  OK  ]
[gbase@localhost gcinstall]$ 

发表评论

您的电子邮箱地址不会被公开。