NFS目录共享配置-集群搭建步骤2

        NFS server可以看作是一个FILE SERVER,它可以让你的PC通过网络将远端的NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使用NFS的远端文件就象是在使用本地文件一样。

RPC(Remote Procedure Call)

  NFS本身是没有提供信息传输的协议和功能,它使用RPC作为传输协议。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

        NFS共享目录配置分为server端和client端,共享存储硬盘需挂载在server端,利用NFS可将目录export给其他的机器共享。配置过程分为如下几步(本次操作系统为Centos7.9):

server端IP:192.168.1.203

client端IP:192.168.1.201-205

1、server端的配置

server端需先安装下述两个库

yum install nfs-utils.x86_64
yum install rpcbind.x86_64

安装完之后开机默认开启nfs和rpcbind服务:

systemctl enable nfs
systemctl enable rpcbind
systemctl start nfs
systemctl start rpcbind
systemctl stop firewalld
systemctl disable firewalld

注意server端必须关闭防火墙,否则client不能与server进行连接。

编辑/etc/exports这个文件,把需要共享的目录及相关权限配置写到配置文件中。

在共享之前,本地共享存储硬盘已经挂载到了/public目录下

vim /etc/exports

在文件中添加如下内容:

/public *(rw,async,no_root_squash,no_subtree_check)

参数说明:

/public需要共享给其他机器的目录
*其他机器的IP地址,*代表任意机器都可以访问
ro该主机对该共享目录有只读权限
rw操作权限,rw代表其他机器对此目录具有可读写权限
async资料会先暂存于内存中,而非直接写入硬盘
syncSync 资料同步写入到内存与硬盘中
root_squash客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash客户机用root访问该共享文件夹时,不映射root用户
all_squash客户机上的任何用户访问该共享目录时都映射成匿名用户
anonuid客户机上的用户映射成指定的本地用户ID的用户
anongid将客户机上的用户映射成属于指定的本地用户组ID
insecure允许从这台机器过来的非授权访问
subtree_check如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check不检查父目录权限
no_wdelay如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置
wdelay如果多个用户要写入NFS目录,则归组写入
no_hide共享NFS目录的子目录
hide在NFS共享目录中不共享其子目录

编辑好保存之后退出,执行如下命令,nfs会重新读取配置文件,无需重启nfs服务。

exportfs -rv

2、client端的配置

同样,client端需先安装下述两个库

yum install nfs-utils.x86_64
yum install rpcbind.x86_64

安装完之后开机默认开启nfs和rpcbind服务:

systemctl enable nfs
systemctl enable rpcbind
systemctl start nfs
systemctl start rpcbind
systemctl stop firewalld
systemctl disable firewalld

开启服务后挂载进行挂载即可:

mount -t nfs 192.168.1.203:/public /public

3、常见报错处理  

如果挂载ntfs出现错误,可查看server端的/var/log/messages日志文件,查看具体错误原因。

(1) mount.ntfs: no route to host 

该错误出现原因为server端和client端的防火墙未关闭,在两边执行如下命令即可:

systemctl stop firewalld

(2) rpc.mountd[10301]: refused mount request from 192.168.1.204 for /public (/public): unmatched host

该错误出现原因为server端的/etc/exports文件中IP地址设置有问题,之前我设置的是:

/public 192.168.1.*(rw,async,no_root_squash,no_subtree_check)

以为这样能匹配以192.168.1.开头的所有IP地址,但实际不行,不知道为什么,后面直接用*通配符就可以了。

/public *(rw,async,no_root_squash,no_subtree_check)

(3) mount.ntfs: operation not permitted

报错原因:因为 nfs 默认配置选项是 secure,不允许客户端通过非特权端口访问。

在server端/etc/exports配置文件中添加insecure选项即可。

/public *(rw,async,insecure,no_root_squash,no_subtree_check)
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值