linux sersync2 <ssh start="true",rsync+nfs+sersync实战案例

回顾:

1.rsync

统一备份各个服务器的配置文件或重要文件

系统配置文件

日志文件

系统日志文件

messages、secure、cron

服务日志文件

access_log、access.log

服务配置文件/etc/rsyncd.conf、/etc/exports...

2.NFS

网络文件系统,提供共享存储服务

3.sersync

提供实时同步服务

实验组合:

1.rsync

实验环境:

rsync服务器

rsync客户机

实验需求:

rsync服务器提供同步模块,rsync客户端可以通过推拉实现数据备份

2.nfs

实验环境:

nfs服务器

nfs客户机(apache)

实验需求:

nfs服务器提供共享目录

客户机通过挂载共享目录实现web页面的访问

3.rsync+nfs

实验环境:

rsync服务器

nfs服务器(rsync客户机)

nfs客户机(apache)

实验需求:

rsync服务器提供同步模块

nfs服务器提供共享目录

客户机通过挂载共享目录,上传文件至nfs服务器

nfs服务器通过手动rsync命令将文件推送到rsync服务器上

4.rsync+sersync+nfs

实验环境:

rsync服务器

nfs服务器(rsync客户机)

nfs客户机(apache)

实验需求:

rsync服务器提供同步模块

nfs服务器提供共享目录

客户机通过挂载共享目录,上传文件至nfs服务器

nfs服务器通过sersync实时同步数据到rsync服务器

模拟nfs服务器故障,通过将rsync服务器变成nfs服务器,实现故障切换

完整实验文档

实验拓扑

实验需求

实验步骤

实验组合一:

实验步骤:

1.搭建rsync服务器

1yum install -y rsync2)修改配置文件rsyncd.conf

[[email protected]~]# cat >/etc/rsyncd.conf<

uid=rsync

gid=rsync

port=873fake super=yes

usechroot=no

max connection=200timeout=600ignore errors

read only=falselist= falseauth users=rsync_backup

secretsfile=/etc/rsync.passwdlogfile=/var/log/rsyncd.log

#!module

[backup]

comment=commit

path= /backup

EOF3mkdir /chown -R rsync.rsync /backup/echo ‘rsync_backup:1‘ > /etc/rsync.passwdchmod 600 /etc/rsync.passwd

4systemctl enable rsyncd5)验证

客户端:

安装rsync软件包

[[email protected]~]# yum install -y rsync

实验rsync-passwd rsync_backup@172.16.1.51::backup

可以使用两种方式实现免密

创建password-fileecho ‘1‘ >/etc/rsync.passwdchmod 600 /etc/rsync.passwdfile=/etc/rsync.passwd给环境变量RSYNC_PASSWORD赋值

[[email protected]~]# export RSYNC_PASSWORD=1

实验组合二:

2.搭建NFS服务器

1).安装nfs-utils,rpcbind软件包

[[email protected]~]# yum install -y nfs-utils.x86_642).启动nfs和rpcbind服务

[[email protected]~]# systemctl start rpcbind nfs &&systemctl enable nfs

注意:1.启动顺序,先rpcbind,再nfs2.rpcbind开启之后,就是永久启动,所以只需将nfs设置为永久启动3).修改配置文件/etc/exportsecho "/data 172.16.1.0/24(rw,all_squash,sync)" > /etc/exports4mkdir -p /chown -R nfsnobody.nfsnobody /data/

5arv6).验证

客户端:

安装nfs-yum install -y nfs-utils.x86_64

启动rpcbind服务

[[email protected]~]# systemctl start rpcbind

查看nfs服务端挂载信息

[[email protected]~]# showmount -e 172.16.1.41Export listfor 172.16.1.41:/data 172.16.1.0/24mount 172.16.1.41:/data /var/www/echo ‘172.16.1.41:/data /var/www/html nfs defaults 0 0‘ >> /etc/mount -a

实验组合三:

rsync+nfs

web01(nfs客户端的)配置

1)安装httpdyum install -y httpd2)启动httpd服务

systemctl start httpd&&systemctl enable httpd3)将nfs共享目录挂载到/var/www/htmlecho ‘172.16.1.41:/data /var/www/html nfs defaults 0 0‘ >> /etc/fstabmount -a

注意:

这里添加多台web服务器,操作步骤是一模一样

问题:如果nfs服务故障,会导致所有web服务器的页面都无法访问

解决方案:1.将nfs共享目录里的内容,推送至rsync服务器2.将rsync服务器临时变成nfs服务器

问题:nfs和rsync的程序用户不一致,会导致权限问题(甚至web服务器的程序用户也不一样)

解决方案:

将nfs rsync web的程序用户统一即可

操作步骤:

rsync服务器

[[email protected]~]# groupadd -g 666666 -g 666 -M -s /sbin/sed -ri ‘s#(.*)rsync$#\1www#g‘ /etc/chown -R www.www /backup/ /data/echo "/data 172.16.1.0/24(rw,all_squash,sync,anonuid=666,anongid=666)" > /etc/]# systemctl restart rsyncd

nfs服务器

[[email protected]~]# groupadd -g 666666 -g 666 -M -s /sbin/chown -R www.www /data/echo "/data 172.16.1.0/24(rw,all_squash,sync,anonuid=666,anongid=666)" > /etc/666666 -g 666 -M -s /sbin/nologin www

缺点:需要人为手动将nfs的共享目录的内容推送到rsync服务器,实现同步

4.sersync

需要在nfs服务器上安装sersync,对nfs共享目录进行实时监控,当出现文件的增加,删除,修改后,自动触发rsync

将变换后的内容推送至rsync服务器,实现实时同步

1).安装sersync

#sersync需要依赖inotify和rsync,所以需要安装对应软件

[[email protected]~]# yum install rsync inotify-tools -mkdir /server/tools -wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/sersync/sersync2.5.4_64bit_binary_stable_final.tar.gz

[[email protected] tools]# tar xf sersync2.5.4_64bit_binary_stable_final.tarmv GNU-Linux-x86/ /usr/local/sersync

[[email protected] tools]# cd/usr/local/sersync/

2).修改配置文件

[[email protected] sersync]# vim confxml.xml<?xml version="1.0" encoding="ISO-8859-1"?>

#监控对象 false改成true

#监控信息

#命令选项#rsync的认证信息

echo "1" >/etc/nfs.passwdchmod 600 /etc/nfs.passwd

3)启动服务

#将sersync2执行脚本链接到系统路径

[[email protected] sersync]#ln -s /usr/local/sersync/sersync2 /usr/bin/[[email protected] sersync]# sersync2-h

set the system param

execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches

execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events

parse the command param

_______________________________________________________

参数-d:启用守护进程模式

参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍

c参数-n: 指定开启守护线程的数量,默认为10个

参数-o:指定配置文件,默认使用confxml.xml文件

参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块

参数-m:单独启用其他模块,使用 -m socket 开启socket模块

参数-m:单独启用其他模块,使用 -m http 开启http模块

不加-m参数,则默认执行同步程序

________________________________________________________________

[[email protected] sersync]# sersync2-dro /usr/local/sersync/confxml.xml

原文:https://www.cnblogs.com/xmtxh/p/12229931.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值