#快速恢复yasom

在实际使用过程中,yasom进程可能会因网络、服务器等原因造成异常场景,可参考以下解决方案:

# 主yasom进程故障

故障现象

执行主yasom特有功能报错connection refused。

解决方案

方案一:在一台没有yasom的服务器上恢复出一个主yasom,执行yasboot process yasom recover -c yashandb -l 192.168.1.3:1675 --role primary

方案二:在一台已有备yasom的服务器上进行升主,执行yasboot process yasom recover -c yashandb --role primary

# yasom出现多主

故障现象

执行任何操作都会报错"primary yasom is inconsistent"。

可能原因

发生网络通信异常后手动恢复出新的primary yasom,待网络恢复时原primary yasom与新primary yasom共存,出现多主现象。

问题定位

$ ./bin/yasboot process yasom status -c yashandb 
 hostid   | pid   | ipaddr      | primary          | secondary | local_yasom_addr | role    | backup_num | max_seq 
-------------------------------------------------------------------------------------------------------------------
 host0001 | 16806 | 192.168.1.2 | 192.168.1.2:1675 | []        | 192.168.1.2:1675 | primary | 4          | 41      
----------+-------+-------------+------------------+-----------+------------------+---------+------------+---------
 host0002 | 25832 | 192.168.1.3 | 192.168.1.3:1675 | []        | 192.168.1.3:1675 | primary | 5          | 43      
----------+-------+-------------+------------------+-----------+------------------+---------+------------+---------
 host0003 | -     | 192.168.1.4 | 192.168.1.3:1675 | []        | -                | -       | 5          | 43      
----------+-------+-------------+------------------+-----------+------------------+---------+------------+---------

Copied!

若出现上述类似返回结果,表示当前数据库集群中存在2个primary yasom进程。

解决方案

以安装用户登录任意一个primary yasom所在的服务器,并执行yasboot process yasom clean清理多余的primary yasom。

# 主备配置不同步

故障现象

执行yasboot process yasom status,可以看到服务器间的primary和secondary信息不一致。

$ ./bin/yasboot process  yasom status -c yashandb
 hostid   | pid   | ipaddr      | primary          | secondary          | local_yasom_addr | role      | backup_num | max_seq 
------------------------------------------------------------------------------------------------------------------------------
 host0001 | 28550 | 192.168.1.2 | 192.168.1.3:1675 | [192.168.1.2:1675] | 192.168.1.2:1675 | secondary | 5          | 43      
----------+-------+-------------+------------------+--------------------+---------------------+-----------+------------+------
 host0002 | 25832 | 192.168.1.3 | 192.168.1.3:1675 | [192.168.1.2:1675] | 192.168.1.3:1675 | primary   | 5          | 43      
----------+-------+-------------+------------------+--------------------+------------------+-----------+------------+---------
 host0003 | -     | 192.168.1.4 | 192.168.1.3:1675 | []                 | -                | -         | 5          | 43      
----------+-------+--------------+-----------------+--------------------+------------------+-----------+------------+---------
Copied!

可能原因

执行recover或clean操作时,有yasagent出现宕机或超时,导致新的yasom的信息没有同步到该服务器。

解决方案

以安装用户登录任意一台服务器,并执行yasboot process yasom sync

pdf-btn 下载文档
copy-btn 复制链接