nfs共享目录及sersync实时同步
Posted gspblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nfs共享目录及sersync实时同步相关的知识,希望对你有一定的参考价值。
一.要求
web01,web02中的目录挂载到nfs的目录下下,并且把nfs的目录实时同步到backup中。
主机名 | 外网IP | 内网IP | 作用 | 要部署服务 |
---|---|---|---|---|
web01 | 172.16.1.7 | 10.0.0.7 | rsync和nfs的客户端 | nfs |
web02 | 172.16.1.8 | 10.0.0.8 | rsync和nfs的客户端 | nfs |
nfs | 172.16.1.31 | 10.0.0.31 | nfs的服务端(共享内存),sersync的客户端 | nfs,sersync,rsync,inotify |
backup | 172.16.1.41 | 10.0.0.41 | rsync的服务端 | rsync |
二.backup配置
1.安装服务
[root@backup /]# yum install -y rsync
2.修改配置文件
[root@backup /]# vim /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 = gsp_bak
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[nfs]
comment = welcome to oldboyedu backup!
path = /nfs
3.创建目录及用户
#1.创建统一用户www
[root@backup ~]# groupadd www -g 666
[root@backup ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
#2.创建rsync服务端的密码文件,设置密码
[root@backup /]# echo ‘gsp_bak:123‘>/etc/rsync.passwd
#设置密码文件权限
[root@backup /]# chmod 600 etc/rsync.passwd
#3.创建目录,给用户授权
[root@backup /]# mkdir /nfs
[root@backup /]# chown -R www.www /nfs
三.实现sersync实时同步
1.nfs安装服务
#1.yum install -y inotify-tools nfs-utils
#2.下载sersync包
[root@nfs ~]# wget https://raw.githubusercontent.com/wsgzao/sersync/master/sersync2.5.4_64bit_binary_stable_final.tar.gz
2.实时同步
#1.解压sersync压缩包
[root@nfs ~]# tar -zxf sersync2.5.4_64bit_binary_stable_final.tar.gz
#2.移动解压的目录并改名
[root@nfs ~]# mv GNU-Linux-x86 /usr/local/sersync
#修改配置文件
[root@nfs ~]# vim /usr/local/sersync/confxml.xml
创建密码文件和授权
#1.创建rsync客户端的密码文件
[root@nfs ~]# echo ‘123‘>/etc/rsync.pass
#2.设置密码文件的权限为600
[root@nfs ~]# chmod 600 /etc/rsync.pass
#3.启动服务
[root@nfs ~]# /usr/local/sersync/sersync2 -rdo /usr/local/sersync/confxml.xml
execute command: cd /data && rsync -az -R --delete ./ gsp_bak@10.0.0.41::nfs --password-file=/etc/rsync.pass >/dev/null 2>&1
run the sersync:
watch path is: /data #最后输出这样的
#这时nfs的/data 和 backup的/nfs目录实时同步了,对nfs操作时,backup也会对应改变
四.nfs共享存储配置
#1. 进入nfs配置文件
[root@nfs ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
#2.关闭防火墙和selinux
[root@nfs ~]# systemctl stop firewalld
[root@nfs ~]# setenforce 0
#3.创建/data共享目录,授权
[root@nfs ~]# mkdir /data
[root@nfs ~]# chown -R www.www /data
#4.开启服务(rpcbind 是自带的,不用安装,后面也不用加到自启)
[root@nfs ~]# systemctl restart rpcbind nfs.server
#5.设置开机自启
[root@nfs ~]# systemctl enable nfs.server
#这里之后nfs客户端就能找到nfs服务端
五.web客户端配置
## 安装服务
[root@web01 ~]# yum install -y nfs-utils
[root@web02 ~]# yum install -y nfs-utils
##创建用户和组
#web01
[root@web01 ~]# groupadd www -g 666
[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
#web02
[root@web02 ~]# groupadd www -g 666
[root@web02 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
#1.找到nfs服务端
[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
#2.找到想要挂载的目录,我随便创一个
[root@web01 ~]# mkdir -p /var/www/html/
#3.把这个目录挂载到nfs的 /data目录下
[root@web01 html]# mount -t nfs 172.16.1.31:/data /var/www/html/
#4.df -h 查看是否挂载
[root@web01 html]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.4G 18G 8% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
172.16.1.31:/data 19G 1.3G 18G 7% /var/www/html #显示已挂载
#5.给/var/www/html 授权
[root@web01 html]# chown -R www.www /var/www/html/
#6.web02的操作也是一样,挂载到nfs的/data目录下
以上是关于nfs共享目录及sersync实时同步的主要内容,如果未能解决你的问题,请参考以下文章