NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
现在有三台服务器 s1(主),s2(从), s3(从)需要实现文件实时同步,我们可以安装NFS服务端和客户端来实现!
一、安装 NFS 服务器所需的软件包:
yum install -y nfs-utils
二、编辑 s1(主)exports文件,添加从机
vim /etc/exports
/data 192.168.0.100(rw,sync,fsid=0) 192.168.0.101(rw,sync,fsid=0)
192.168.0.100 和192.168.0.101两台机器可以挂载NFS服务器上(即s1主机)的/data目录到自己的文件系统中
也就是允许192.168.0.100 和192.168.0.101两台机器访问s1主机的/data目录
rw表示可读写;sync表示同步写,fsid=0表示将/data这个目录包装成根目录
三、启动nfs服务
RPC即Remote Procedure Call Protocol(远程过程调用协议),RPCBIND用于取代旧版本中的portmap组件。 简单说,RPCBIND就是为了将不同服务与对应的端口进行绑定,以便支持机器间的互操作。
先为rpcbind和nfs做开机启动:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
然后分别启动rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service
确认NFS服务器启动成功:
rpcinfo -p
检查 NFS 服务器是否挂载我们想共享的目录 /data:
exportfs
#可以查看到已经ok
/data 192.168.0.100
/data 192.168.0.101
四、在从机上安装NFS 客户端
首先是安裝nfs,同上,然后启动rpcbind服务
先为rpcbind做开机启动:
systemctl enable rpcbind.service
然后启动rpcbind服务:
systemctl start rpcbind.service
注意:客户端不需要启动nfs服务
检查 NFS 服务器端是否有目录共享:
showmount -e nfs服务器的IP
在从机上使用 mount 挂载服务器端的目录/data到客户端某个目录下:
mkdir /data #创建挂在点
mount nfs服务器IP:/data /data #把服务器上/data目录挂在到客户端机/data目录上
或者按照下面这样写:
mount -t nfs4 nfs服务器IP:/ /data
df -h 查看是否挂载成功
想在客户机上实现开机挂载,则需要编辑/etc/fstab:
vi /etc/fstab
# 加上
nfs服务器IP:/data /data nfs ro 0 0
或者按照下面这样写:
nfs服务器IP:/ /data nfs4 ro,hard,intr,proto=tcp,port=2049,noauto 0 0
客户端挂载后,写文件时可能会报一个权限问题:Permission denied。解决这个问题可以修改nfs主服务器/etc/exports文件,改成如下內容:
vi /etc/exports
# xx请根据下面替换
/data 192.168.0.100(rw,sync,fsid=0,anonuid=xx,anongid=xx) 192.168.0.101(rw,sync,fsid=0,anonuid=xx,anongid=xx)
查看服务器uid
# id root
uid=0(root) gid=0(root) groups=0(root)
将xx改成65534
重新读取NFS配置文件:
exportfs -rv
可使用如下命令查看配置
exportfs -v
- 本文固定链接: http://www.ttfde.top/index.php/post/365.html
- 转载请注明: admin 于 TTF的家园 发表
《本文》有 0 条评论