|PolarDB-O主备高可用部署及切换排雷指引( 六 )
2)查询服务
/usr/local/polardb_cluster_manager/bin/polardb_cluster_manager_control.py /root/polardb_cluster_manager/ status
输出结果应为:
PolarDB ClusterManager Work ON /root/polardb_cluster_manager/ IS RUNNING
如需停止服务的话执行如下命令 , 此处不需要执行 。
3)停止服务
/usr/local/polardb_cluster_manager/bin/polardb_cluster_manager_control.py /root/polardb_cluster_manager/ stop
6、配置CM集群
1)在CM节点上配置主库
curl -H ''Content-Type:application/json'' -X POST --data ''{''user'':''polardb'',''dataPath'':''/opt/polardb/data'',''ip'':''192.168.238.130'',''port'':''5432'',''type'':''Master'',''storage_type'':''local_ssd'',''sync'':''SYNC''}'' http://127.0.0.1:5000/v1/add_ins
{''code'':200}
返回结果200为正常 , 500为错误 。
- user:部署数据库的账号 , polardb;
- dataPath:部署数据库的数据目录 。 即$PGDATA;
- ip/port: 数据库的物理IP地址及端口;
- type: 数据库角色 , Master为主库;
- sync: SYNC表示同步复制 , 采用异步复制切换可能会丢数据.
curl -H ''Content-Type:application/json'' -X POST --data ''{''user'':''polardb'',''dataPath'':''/opt/polardb/data'',''ip'':''192.168.238.131'',''port'':''5432'',''type'':''Standby'',''storage_type'':''local_ssd'',''sync'':''SYNC''}'' http://127.0.0.1:5000/v1/add_ins
{''code'':200}
返回结果200为正常 , 500为错误 。
- type: Standby表示备库 。 首次添加备库时会重启备库 。
高可用方式下 , 对外提供数据库服务器的主机除了有一个真实IP外还有一个虚拟IP , 使用这两个IP都可以连接到该主机 , 所有项目中数据库链接配置的都是到虚拟IP , 当服务器发生故障无法对外提供服务时 , 动态将这个虚IP切换到备用主机 。
curl -H ''Content-Type:application/json'' -X POST --data ''{''vip'':''192.168.238.133'',''mask'':''255.255.255.0'',''interface'':''ens33''} '' http://127.0.0.1:5000/v1/add_vip
{''code'':200}
返回结果200为正常 , 500为错误 。
- vip:虚拟IP地址 , 通过Linux Virtual IP实现 , 因此需要和主备库在同一交换机下的网段 , 且不冲突 。 也不能与其他物理地址冲突;
- mask: vip的网关掩码;
- interface: 主备库的物理IP所在的网卡 。
在使用curl配置主备库的过程中注意参数不要写错 , 如果需要重新调整可以使用remove_ins接口可以将原来的配置清除掉 。
例如:清除master节点配置 。
curl -H ''Content-Type:application/json'' -X POST --data ''{''user'':''polardb'',''dataPath'':''/opt/polardb/data'',''ip'':''192.168.238.130'',''port'':''5432'',''type'':''Master'',''storage_type'':''local_ssd'',''sync'':''SYNC''}'' http://127.0.0.1:5000/v1/remove_ins
注意:
CM的日志在/root/polardb_cluster_manager目录下 , 报错多看下log(主备切换的日志也在这里) 。
排雷5:
CM异常关闭的时候pid文件会一直在(supervisor_pid) , 下次启动需要手工删掉 。
4)集群状态查询
curl -H ''Content-Type:application/json'' http://127.0.0.1:5000/v1/status?type=visual
{
''phase'': ''RunningPhase'',