数据服务-第3个服务-实时同步

1.实时同步

  • 背景:

    • 之前我们通过rsync+定时任务实现定时备份/同步.

    • 对于NFS我们需要进行实时同步.

  • 选择:

    • 分布式存储.

    • 使用实时同步服务+NFS.

    • 选择公有云对象存储OSS,七牛存储,腾讯存储COS.

  • 选择: nfs+实时同步工具

    • inotify(bug需要书写脚本,不推荐使用.):是个命令监控指定目录是否发生变化.

    • sersync(国产开源,内置inotify+rsync命令,一个命令+一个配置文件)

    • lsyncd(目前一些公司在使用,课后研究.)

2.Sersync原理

image

3. Sersync同步架构

image

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

配置详解

https://github.com/wsgzao/sersync

image

image

启动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服务器是否有文件

image

posted @ 2025-05-10 22:46  殇ベ墨~  阅读(7)  评论(0)    收藏  举报