经过查询资料和试验验证,该方案弱网或频繁操作下具有不稳定性,可能导致文件丢失,对于网上的双向同步更是缺少架构理论依据。个人评估可应用于以下场景:
- 对数据完整一致性要求不是太高;
- 待同步文件较少且操作不频繁;
- 网络环境较好;
- 做文件的单向同步;
本文是实际操作过程中实现的文件同步部署脚本,场景是两节点做主备方案,给主机生成一个开机自启脚本,保证主机服务挂掉后再启动时,主机可以拉取到备机在其宕机时刻产生的文件,拉取完成后继续开机主机到备机的文件同步服务。
部分内容参数和业务相关可忽略,仅做参考。
生产
需要在主备节点都执行以下步骤:
将sync_install.tar.gz (链接: https://pan.baidu.com/s/110fldkrqTBAIaPabA-wS1w 提取码: bqrt )拷贝到服务器任意位置
执行命令:
tar zxvf sync_install.tar.gz
cd sync_install
./install.sh
输出如下图表示成功
验证:
执行命令查看xinted服务正常即可:ps aux|grep xinetd
配置
1.将sync_deploy.tar.gz(链接: https://pan.baidu.com/s/1cI7TONs-KSaD_jEGLdeULw 提取码: fvqf )拷贝到主机和备机服务器任意位置,执行命令
tar zxvf sync_deploy.tar.gz
cd sync_deploy
z_deploy.sh是主节点配置目录同步的运行脚本;
b_deploy.sh是备节点配置目录同步的运行脚本;
config.ini存放的是默认的同步路径,该路径是基于生产指南部署的默认路径,如果生产部署时有修改需要同步修改该文件中的路径。
查看config.ini文件:cat config.ini
2.备机执行
运行b_deploy.sh需要一个参数,$1:systemFlag
$1 systemFlag:ca 或者 ra ,一个机器同时部署ca和ra,需要执行两次脚本。
例如:在CA服务机器上(11.12.110.85):
sh b_deploy.sh ca
输出如下表示成功
3.主机执行
运行z_deploy.sh需要两个参数,$1:systemFlag,$2:ip
$1 systemFlag:ca 或者 ra ,一个机器同时部署ca和ra,需要执行两次脚本。
$2 ip:备份机器的ip
例如:在CA服务机器上(11.12.110.85):
sh z_deploy.sh ca 11.12.110.83
使用实例:
配置RA系统目录文件同步执行命令:
sh z_deploy.sh ca 11.12.110.83
输出如下图为正常执行结束。
查看主机开机自启脚本
vim /etc/rc.local
新增如下
验证:
(1)查看sersync服务进程是否正常,一个目录一个进程:
命令:ps aux|grep sersync
(2)查看xinetd服务进程是否正常:
命令:ps aux|grep xinetd
(3)在主节点上配置好的同步目录修改或者新增文件,在目标机器查看该文件有没有被正常同步。