当前位置: 首页 > article >正文

Linux数据相关-第3个服务-实时同步sersync

1、实时同步

背景:

  • 之前我们通过rsync + 定时任务实现定时备份/同步
  • 对于NFS我们需要进行实时同步

选择

  • 分布式存储.。
  • 使用实时同步服务+NFS。
  • 选择公有云对象存储,七牛存储,腾讯存储COS

选择:nfs+实时同步工具

  • inotify(bug需要书写脚本,不推荐使用.):是个命令监控指定目录是否发生变化
  • sersync(国产开源,内置inotify+rsync命令,一个命令+一个配置文件)
  • lsyncd(目前一些公司在使用,课后研究.)

2、Sersync原理

在这里插入图片描述

3、Sersync同步架构

需求:

用户上传文件到web服务器,web服务器挂载nfs,nfs实时同步到备份服务器上.

[项目架构]

项目三步走:

1、配置rsync服务端和客户端

2、配置sersync监控

3、配置NFS服务端和客户端

在这里插入图片描述

4、极速上手指南

4.1、rsync服务准备

a)rsync服务端(backup)
yum install -y rsync
#配置文件
[root@backup ~]# cat /etc/rsyncd.conf 
#created by linux 2024-09-13
##rsyncd.conf start ##
fake super =yes
uid = rsync
gid = rsync
use chroot = no
max connections = 2000
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
#hosts allow = 10.0.0.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[nfsbackup]
comment = Real-time synchronization by 14:18 2024-9-13
path = /nfsbackup
#1、添加虚拟用户,用于进程
useradd -s /sbin/nologin -M rsync
#2、创建密码文件,并且修改600权限
echo 'rsync_backup:1' > /etc/rsync.password
chmod 600 /etc/rsync.password 
#3、创建数据文件,修改目录所有者
chown rsync.rsync /nfsbackup
systemctl start rsyncd
systemctl enable rsyncd
b)rsync客户端(nfs01)
echo '1' > /etc/client.rsync
chmod 600 /etc/client.rsync
rsync -avz /etc/passwd rsync_backup@172.16.1.41::nfsbackup --pasword-file=/etc/client.rsync

4.2、sersync部署使用

软件包下载:sersync2.5.4_64bit_binary_stable_final.tar.gz
https://cloud.189.cn/web/share?code=3YZjqmRFJnAv(访问码:bu4i)

sersync Github主页:一键指南

a)部署

#解压目录
├── GNU-Linux-x86
│   ├── confxml.xml
│   └── sersync2
└── sersync2.5.4_64bit_binary_stable_final.tar.gz
#目录规划
/app/tools/sersync
├── bin
│   └── sersync2
└── conf
    └── confxml.xml
b)配置详解
#备份
cp /app/tools/sersync/conf/confxml.xml{,.bak}
#比较修改前和修改后的区别
cd /app/tools/sersync/conf/
vimdiff confxml.xml confxml.xml.bak

在这里插入图片描述

配置详解:

在这里插入图片描述

c)启动sersync

#二进制安装不能systemctl启动,要软连接到/bin或者修改PATH
#创建软连接
ln -s /app/tools/sersync/bin/sersync2 /bin
​
[root@nfs01 bin]# ll -a | grep '/app/tools/'
lrwxrwxrwx   1 root root        31 220 11:54 sersync2 -> /app/tools/sersync/bin/sersync2
#启动服务端
sersync2 -rdo /app/tools/sersync/conf/confxml.xml 
​
[root@nfs01 ~]# ps -ef | grep sersync
root     21905     1  0 11:58 ?        00:00:00 sersync2 -rdo /app/tools/sersync/conf/confxml.xml
#关闭服务需要使用kill+pid或pkill+进程名

在这里插入图片描述

#测试服务
#客户端监看
watch ls -l /nfsbackup/

4.3、接入nfs服务

#服务端
yum install -y nfs-utils
vim /etc/exports
chown nfsnobody.nfsnobody /data/
systemctl reload nfs
#客户端
yum install -y nfs-utils
mount -t nfs 172.16.1.31:/data/ /upload

踩坑指南:

nfs服务的时候,在自己的目录下挂载自己,属于搬起石头砸自己的脚。

[root@web01 upload]# mount -t nfs 10.0.0.12:/data/ /upload

4.4、联调

在这里插入图片描述

在这里插入图片描述


http://www.kler.cn/a/302348.html

相关文章:

  • 828华为云征文 | 云服务器Flexus X实例:源码安装 Redis 实例测评
  • GPT撰写开题报告教程——课题确定及文献调研
  • ubuntu打包命令
  • SAP B1 单据页面自定义 - 用户界面编辑字段
  • 面试高阶问题:单片机选型策略万字长文详解
  • 关于GPT5训练失败的思考
  • CRM客户关系管理系统开发源码小程序
  • 【机器学习】参数学习的基本概念以及贝叶斯网络的参数学习和马尔可夫随机场的参数学习
  • FEDERATED引擎
  • 更改flutter 应用的应用名称和图标
  • PHP一键约课高效健身智能健身管理系统小程序源码
  • vue3打包 error in node_modules/@types/node/stream/web.d.ts 错误解决办法
  • Centos7安装MySql(特详细)
  • 栈的内容..
  • Python Flask简介
  • 【2023年】云计算金砖牛刀小试6
  • 用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
  • 配网行波故障预警与定位装置:行波定位技术原理的详细分析
  • 网页时装购物:Spring Boot框架的创新应用
  • 国产游戏的机遇和挑战