原理
rsync 是不支持实时同步的,通常我们借助于 inotify 这个软件来实时监控 文件变化,一旦inotify 监控到文件变化 ,则立即调用 rsync 进行同步,推送到 rsync 服务端。
环境准备
步骤1:获取数据包
获取 sersync 的包安装到存储服务器-nfs01 上,这里我是用博客园-刘应杰的提供的链接 wget 获取的包进行测试。
sersync下载安装及配置(有演示示例) - 刘应杰 - 博客园 (cnblogs.com)
bash
wget http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz
bash
目录规划:
/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
步骤2:创建目录
bash
mkdir -p /app/tools/sersync/{bin,conf}
步骤3:迁移配置目录
bash
mv GNU-Linux-x86/sersync2 /app/tools/sersync/bin/
bash
mv GNU-Linux-x86/confxml.xml /app/tools/sersync/conf/
步骤4:查看结果
bash
tree -F /app/tools/
完整演示
实验设备
- 存储服务器:172.16.1.31
- web服务器:172.16.1.7
- 备份服务器:172.16.1.41
操作流程
步骤1:备份服务器:修改的rsyncd配置文件,添加准备实时同步的共享目录
bash
vim /etc/rsyncd.conf
在配置文件中添加如下信息
bash
[nfsbackup]
comment = realtime
path=/nfsbackup
步骤2:备份服务器:创建共享目录修改权限
bash
mkdir -p /nfsbackup
bash
chown -R rsync.rsync /nfsbackup/
步骤3:备份服务器:重启 rsync
bash
systemctl restart rsyncd
步骤3:存储服务器:修改 sersync 的 confxml.xml 配置文件
具体修改如下:左修改后,有原文件
步骤4:存储服务器:创建软连接
bash
ln -s /app/tools//sersync/bin/sersync2 /bin/
步骤5:存储服务器:启动或者关闭服务
启动
bash
sersync2 -rdo /app/tools/sersync/conf/confxml.xml
关闭两种选择
bash
# 第一种
pkill sersync2
# 第二种
kill 进程id
步骤6:存储服务器:配置文件 /etc/exports
bash
vim /etc/exports
添加配置
bash
/data/ 172.16.1.0/24(rw)