一、概要:
YashanDB在一主多备环境中,可以基于RAFT协议实现主备自动切换,但RAFT要求多数存活,在一主一备配置下无法工作。而客户实际配置一主一备居多,即使一主多备,也可能同机房一主一备、其它备机在同城或异地的不同机房,在主库异常情况下,需要优先启用同机房备机。YashanDB通过yasom仲裁可实现一主一备自动切换。
二、环境部署
假定环境信息如下:
host |
ip address |
cluster name |
begin-port |
user/password |
host1 |
192.168.18.81 |
yscluster |
1688 |
ysinst1/Cod-2024 |
host2 |
192.168.18.82 |
|||
host3 |
192.168.18.83 |
安装介质:/tmp/yashandb-23.1.4.101-linux-x86_64.tar.gz
部署架构图如下:
部署步骤:
1、在每台主机用root创建用户,设置密码
2、确认SSH可以互通,用到的端口(1688,1689,1675,1676)可以访问
3、上传安装介质,解压
4、生成安装配置文件
yasboot package se gen --cluster yscluster --ip 192.168.18.81,192.168.18.82,192.168.18.83 -u yscluster -p Cod-2024 --install-path /data/ysinst1/yasdb\_home --data-path /data/ysinst1/yasdb\_data --node 3
5、更改配置文件host.toml,将默认的OM指向host3
\[om\]
hostid = "host0003"
\[om.config\]
LISTEN\_ADDR = "192.168.18.83:1675"
6、更改配置文件yscluster.toml,删除下面信息
\[\[group.node\]\]
data\_path = "/data/ysinst1/yasdb\_data"
hostid = "host0003"
role = 2
\[group.node.config\]
LISTEN\_ADDR = "192.168.18.83:1688"
REPLICATION\_ADDR = "192.168.18.83:1689"
RUN\_LOG\_FILE\_PATH = "/data/ysinst1/yasdb\_home/yashandb/23.1.4.101/log/yscluster/db-1-3/run"
RUN\_LOG\_LEVEL = "INFO"
SLOW\_LOG\_FILE\_PATH = "/data/ysinst1/yasdb\_home/yashandb/23.1.4.101/log/yscluster/db-1-3/slow"
7、安装介质
yasboot package install -t hosts.toml -i /tmp/yashandb-23.1.4.101-linux-x86\_64.tar.gz
8、部署集群
yasboot cluster deploy -t yscluster.toml
三、配置
默认自动切换是关闭的,用下面命令可以查看配置
yasboot election config show -c yscluster
开启自动切换
yasboot election enable on -c yscluster
关闭自动切换
yasboot election enable off -c yscluster
显示自动切换相关事件
yasboot election event show -c yscluster
四、常见问题
1、为什么需要将OM部署在第三台服务器?
解答:一主一备,FAILOVER或SWITCHOVER命令由OM发起,如果OM与主库部署在同一台服务器,在服务器不可用的情况下,备机不能升级为主;如果部署在备库,一旦备库升级为主库,同样出现前面问题。
2、OM仲裁服务器的有哪些配置要求?
解答:可以比较低的配置,跟主,备库有可靠的网络连接即可。
3、同一台服务器可否作为多个主备集群的OM仲裁?
解答:可以,需要规划不同的用户(或集群名)及IP端口。