数据服务-第3个服务-实时同步
1.实时同步
-
背景:
-
之前我们通过rsync+定时任务实现定时备份/同步.
-
对于NFS我们需要进行实时同步.
-
-
选择:
-
分布式存储.
-
使用实时同步服务+NFS.
-
选择公有云对象存储OSS,七牛存储,腾讯存储COS.
-
-
选择: nfs+实时同步工具
-
inotify(bug需要书写脚本,不推荐使用.):是个命令监控指定目录是否发生变化.
-
sersync(国产开源,内置inotify+rsync命令,一个命令+一个配置文件)
-
lsyncd(目前一些公司在使用,课后研究.)
-
2.Sersync原理
3. Sersync同步架构
4.极速上手指南
4.1 rsync服务准备
rsync服务端
[nfsbackup]
comment = shishi nfsbackup
path = /nfsbackup/
rsync客户端
测试传输即可
echo 123 > /etc/client.rsync
chmod 600 /etc/client.rsync
rsync -avz /etc/hostname rsync_backup@backupnfsbackup --password-file=/etc/client.rsync
4.2 sersync部署使用
部署
- 部署在nfs01
mkdir -p /app/tools
mkdir -p /app/tools/sersync/{bin,conf}
目录规划:
/app/tools/sersync/
/app/tools/sersync/bin/
/app/tools/sersync/conf/
修改之前:
GNU-Linux-x86/
GNU-Linux-x86/sersync2
GNU-Linux-x86/confxml.xml
修改完成后样子:
[root@nfs01 /app/tools/sersync]# tree
.
├── bin
│ └── sersync
└── conf
└── confxml.xml
配置详解
启动sersync
创建软连接
ln -s /app/tools/sersync/bin/sersync2 /bin/
启动服务端
sersync2 -rdo /app/tools/sersync/conf/confxml.xml
关闭服务需要使用kill+pid或pkill
接入nfs服务
- 服务端配置
[root@nfs01 /data]# cat /etc/exports
/data/ 172.16.1.0/24(rw)
- 客户端挂载
mount -t nfs 172.16.1.31:/data/ /upload/
总联调
- 在web服务端入口处创建文件,查看backup服务器是否有文件