logo
关于我们

技术分享

技术分享 sersync+rsync实时同步备份案例

sersync+rsync实时同步备份案例

2020-08-05

案例: 实现web上传视频文件,实则是写入NFS至存储,当NFS存在新的数据则会实时的复制到备份服务器

nfs服务端操作如下:

1.安装nfs
[root@nfs ~]# yum install nfs-utils -y
2.配置nfs
[root@nfs ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
创建目录
[root@nfs ~]#  mkdir -p /data
创建用户
[root@nfs ~]# groupadd -g 666 www
[root@nfs ~]# useradd -u666 -g666 -M -s /sbin/nologin www


授权
[root@nfs ~]# chown -R www.www /data
3.重启nfs(restart)    下次开机自启 (enable)
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs
4.检查是否真的启动了NFS服务,共享的目录是否正常
[root@nfs ~]# cat /var/lib/nfs/etab 
/data	172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=666,anongid=666,sec=sys,rw,secure,root_squash,all_squash)

web服务端操作:

1.安装httpd php
[root@web01 ~]# yum install httpd php -y
2.配置httpd php
[root@web01 ~]# yum install httpd php -y
3.启动httpd php
[root@web01 ]# systemctl start httpd
4.检查httpd是否正常
[root@web01]# echo "Welcome to shanghai" >/var/www/html/index.html

然后通过浏览器访问当前web服务器的IP地址 10.0.0.7

5.挂载nfs存储
[root@web01 ]# mount -t nfs 172.16.1.31:/data /var/www/html

[root@web01 html]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda2           18G  1.9G   17G  11% /
devtmpfs           224M     0  224M   0% /dev
tmpfs              235M     0  235M   0% /dev/shm
tmpfs              235M  5.5M  229M   3% /run
tmpfs              235M     0  235M   0% /sys/fs/cgroup
/dev/sda1         1014M  127M  888M  13% /boot
172.16.1.31:/data   18G  2.0G   17G  11% /var/www/html
tmpfs               47M     0   47M   0% /run/user/0
6.上传我们作业代码,测试是否能将
[root@web01 ]# cd /var/www/html/

[root@web01  html]#rz -E

[root@web01  html]#ls

kaoshi.zip

[root@web01  html]#unzip kaoshi.zip

[root@web01 html]# ll
total 80
-rw-r--r-- 1 www www 38772 Apr 27  2018 bg.jpg
-rw-r--r-- 1 www www  2633 May  4  2018 index.html
-rw-r--r-- 1 www www    52 May 10  2018 info.php
-rw-r--r-- 1 www www 26927 May 17 12:32 kaoshi.zip
-rw-r--r-- 1 www www  1119 May  6  2018 upload_file.php

cat /var/log/messages | grep mount

备份服务器

1.安装rsync
[root@backup ~]#

[root@backup ~]# vim /etc/rsyncd.conf
2.配置rsync
[root@backup ~]# cat /etc/rsyncd.conf
uid = www   #(不改没有权限)
gid = www
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]

path = /backup

[data]
path = /data
创建虚拟用户以及虚拟用户的密码
[root@backup ~]# echo "rsync_backup:123456" > /etc/rsync.passwd
	[root@backup ~]# chmod 600 /etc/rsync.passwd
创建用户
[root@backup ~]# groupadd -g 666 www
[root@backup ~]# useradd -u666 -g666 www
创建目录
	[root@backup ~]# mkdir -p /data /backup
进行授权
[root@backup ~]# chown -R www.www /data/ /backup/
[root@backup ~]# ll -d /data/ /backup/
drwxr-xr-x. 7 www www 234 5月  23 10:47 /backup/
drwxr-xr-x. 2 www www   6 5月  23 10:47 /data/
3.重启rsync
[root@backup ~]# systemctl restart rsyncd

nfs服务端操作:(监控本地的/data目录,发生变化则立马同步到备份服务器)

1.安装sersync
[root@nfs ~]# yum install inotify-tools -y

下载sersync

[root@nfs ~]# wget https://raw.githubusercontent.com/wsgzao/sersync/master/sersync2.5.4_64bit_binary_stable_final.tar.gz
2.配置sersync
[root@nfs ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs ~]# mv GNU-Linux-x86/ /usr/local/sersync

[root@nfs01 sersync]# vim /usr/local/sersync/confxml.xml
  5     <fileSystem xfs="true"/>  <!-- 文件系统 -->

 12     <inotify> <!-- 监控的事件类型 -->
 13         <delete start="true"/>
 14         <createFolder start="true"/>
 15         <createFile start="true"/>
 16         <closeWrite start="true"/>
 17         <moveFrom start="true"/>
 18         <moveTo start="true"/>
 19         <attrib start="true"/>
 20         <modify start="true"/>
 21     </inotify>

 23     <sersync>
 24         <localpath watch="/data"> <!-- 监控的目录 -->
 25             <remote ip="172.16.1.41" name="data"/>  <!-- backup的IP以及模块 -->
 28         </localpath>

 29         <rsync> <!-- rsync的选项 -->
 30             <commonParams params="-az"/>
 31             <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.pass"/>
 32             <userDefinedPort start="false" port="874"/><!-- port=874 -->
 33             <timeout start="true" time="100"/><!-- timeout=100 -->
 34             <ssh start="false"/>
 35         </rsync>
3.创建密码文件
[root@nfs ~]# echo "123456" > /etc/rsync.pass 
[root@nfs ~]# chmod 600 /etc/rsync.pass
4,启动sersync
[root@nfs ~]# /usr/local/sersync/sersync2 -h

------

参数-d:启用守护进程模式
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
参数-n: 指定开启守护线程的数量,默认为10个
参数-o:指定配置文件,默认使用confxml.xml文件
参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
参数-m:单独启用其他模块,使用 -m socket 开启socket模块
参数-m:单独启用其他模块,使用 -m http 开启http模块
不加-m参数,则默认执行同步程序

------

[root@nfs ~]#/usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xml

 抓取sersync的命令,手动测试一次  (当发现不同步的时候)
[root@nfs ~]#cd /data && rsync -avz -R --delete ./  --timeout=100 rsync_backup@172.16.1.41::data --password-file=/etc/rsync.pass

sending incremental file list

sent 365 bytes  received 21 bytes  772.00 bytes/sec
total size is 4,054,686  speedup is 10,504.37

#################################################################

模拟NFS故障,尝试将web迁移到backup服务器上使用

1.backup需要安装并配置NFS
安装nfs
[root@backup ~]# yum install nfs-utils -y

配置nfs

[root@backup ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

启动nfs,并加入开机自启

[root@backup ~]# systemctl start nfs
[root@backup ~]# systemctl enable nfs
2.模拟NFS故障
[root@nfs ~]# shutdown -h now

Connection closed by foreign host.

Disconnected from remote host(nfs-31) at 15:56:24.
3.尝试切换
[root@web01 ~]# umount -lf /var/www/html/ && mount -t nfs 172.16.1.41:/data /var/www/html

[root@web01 ~]# mount -t nfs 172.16.1.41:/data /var/www/html

[root@web01 ~]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda2           18G  1.9G   17G  11% /
devtmpfs           224M     0  224M   0% /dev
tmpfs              235M     0  235M   0% /dev/shm
tmpfs              235M  5.5M  229M   3% /run
tmpfs              235M     0  235M   0% /sys/fs/cgroup
/dev/sda1         1014M  127M  888M  13% /boot
tmpfs               47M     0   47M   0% /run/user/0
172.16.1.41:/data   18G  1.9G   17G  11% /var/www/html
                   
云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 容灾备份

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载