技术分享
架构整理-CentOS 7中搭建NFS服务器并实时备份-CentOS 7中使用rsync实现NFS服务目录的远程备份
2021-02-02
一、问题产生的背景
考虑到NFS文件共享服务中存放的都是重要的数据文件,现准备对NFS服务目录进行远程备份,因此选择使用rsync工具。
二、最终要达成的目标
1、在NFS备份主机中,实现对NFS服务器的共享目录进行备份。
2、此时,NFS备份主机作为rsync的服务端,NFS服务端作为rsync的客户端
三、需要注意的前提条件
1、rsync服务端需关闭CentOS 7防火墙
命令:
setenforce 0 systemctl stop firewalld && systemctl disabled firewalld
2、如开启防火墙,则需在防火墙规则中开放873端口
命令:
firewall-cmd --permanent --add-port 873/tcp systemctl restart firewalld
3、两台主机需要在同一网段下,并且能相互PING通
四、解决方案
1、在rsync服务端添加专门用于rsync备份的虚拟用户(不需要添加目录)
命令:
useradd rsync -s /sbin/nologin -M
2、在rsync服务端新建目录,用于拉取或被推送NFS服务器需要备份的文件,并且给rsync用户赋予处理目录权限
命令:
mkdir /home/backup chown -R rsync /home/backup
3、在rsync服务端创建账户和密码文件
命令:
echo "rsync_backup:[password]" >/etc/rsync.password
4、修改上述账户和密码文件的权限为600
命令:
chmod 600 /etc/rsync.password
5、修改rsync的配置文件
命令:
vim /etc/rsyncd.conf
笔者这里给出了一个配置范本
uid = rsync gid = rsync use chroot = no max connections = 200 timeout = 300 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 auth users = rsync_backup secrets file = /etc/rsync.password [nfsbackup] #这里是rsync客户端访问的路径 path = /home/backup
6、关闭rsync,杀死其进程
命令:
pkill rsync
7、启动rsync服务并设置开机启动
命令:
systemctl start rsyncd && systemctl enable rsyncd
8、查看rsync是否运行
命令:
lsof -i tcp:873
9、在rsync客户端创建rsync的账户和密码文件,密码要跟rsync服务端配置的密码相同
命令:
echo "[password]" >/etc/rsync.password
10、在rsync客户端修改上述账户和密码文件的权限为600
命令:
chmod 600 /etc/rsync.password
11、在rsync客户端测试是否能够从NFS服务共享目录推送数据到rsync服务端的目录中
命令:
rsync -avz /home/data/ rsync_backup@[nfs server ip address]::nfsbackup/ --password-file=/etc/rsync.password

- 标签:
-
网络安全