现在有三台服务器 s1(主),s2(从), s3(从)需要实现文件实时同步,我们可以安装Nfs服务端和客户端来实现!
一、安装 NFS 服务器所需的软件包:
1 |
|
二、编辑exports文件,添加从机
1 2 |
|
192.168.0.100 和192.168.0.101两台机器可以挂载NFS服务器上的/data目录到自己的文件系统中
rw表示可读写;sync表示同步写,fsid=0表示将/data找个目录包装成根目录
三、启动nfs服务
先为rpcbind和nfs做开机启动:
1 2 |
|
然后分别启动rpcbind和nfs服务:
1 2 |
|
确认NFS服务器启动成功:
1 |
|
检查 NFS 服务器是否挂载我们想共享的目录 /data:
1 2 3 4 |
|
修改 /etc/sysconfig/nfs 文件
MOUNTD_PORT="32903"
STATD_PORT="32904"
LOCKD_TCPPORT="32905"
LOCKD_UDPPORT="32906"
在防火墙里面打开:111,2049和上面四个端口(32903,32904,32905,32906) 注意:udp tcp都打开
firewall-cmd --zone=public --permanent --add-port=111/udp
firewall-cmd --zone=public --permanent --add-port=111/tcp
这里不一一列举了...
刷新防火墙
systemctl restart firewalld.service
如果你是使用群晖访问,那么还需要 更改/data的acl访问权限:
setfacl -m d:o:rwx /data
setfacl -m d:g::rwx /data
四、在从机上安装NFS 客户端 (群晖需要在控制面板-->文件服务-->NFS勾选支持nfs4)
首先是安裝nfs,同上,然后启动rpcbind服务
先为rpcbind做开机启动:
1 |
|
然后启动rpcbind服务:
1 |
|
注意:客户端不需要启动nfs服务
检查 NFS 服务器端是否有目录共享:
1 |
|
在从机上使用 mount 挂载服务器端的目录/data到客户端某个目录下:
1 2 3 |
|
想在客户机上实现开机挂载,则需要编辑/etc/fstab:
1 2 3 |
|
客户端挂载后,写文件时可能会报一个权限问题:Permission denied。解决这个问题可以修改nfs主服务器/etc/exports文件,改成如下內容:
1 2 3 |
|
查看服务器uid
1 2 |
|
将xx改成65534
重新读取NFS配置文件:
1 |
|
可使用如下命令查看配置
1 |
|