什么是NFS

NFS(Network File System)即网络文件系统。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

NFS在文件传送或信息传送过程依赖于RPC协议。NFS常用于多台服务器共享同样的数据,但可扩展性比较差,本身高可用方案不完善。取而代之的数据量比较大的可以采用MFS、TFS、HDFS等等分布式文件系统。

NFS搭建

1、准备

两台虚拟机

服务端,ip:192.168.1.104 。

客户端,ip:192.168.1.105。

2、安装nfs

查看nfs是否已经安装:

rpm -qa|grep rpcbindrpm -qa|grep nfs

安装方法:

yum install rpcbind* -yyum install nfs* -y

确定一下nfs安装情况:




linux nfs 查看 linux查看nfs端口_ide


3、服务端配置

NFS安装完毕,需要创建共享目录。共享目录在/etc/exports文件中配置。

可配置参数:

/home/test/ 192.168.1.105(rw,sync,no_hide,no_all_squash)

参数说明:

/home/test/ 服务端要共享的目录。192.168.1.105 即可能访问的客户端的ip,若想所有的ip都可以访问,可以用*代替。rw 读写访问sync 所有数据在请求时写入共享hide 在nfs共享目录不共享其子目录no_hide 共享nfs目录的子目录all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录no_all_squash 保留共享文件的UID和GID(默认)no_root_squas root用户具有根目录的完全管理访问权限。

注:

192.168.1.105(rw,sync,no_hide,no_all_squash)之间不要有空格,如

192.168.1.105 (rw,sync,no_hide,no_all_squash)是错误的。

/etc/exports默认是空文件,将以上内容粘贴到其中。需要到home目录创建test目录,可以将其权限全部放开。

4、启动

重启服务端的rpcbind 和 nfs服务(注意启动顺序有严格要求,先启动rpcbind,再启动nfs,不然会报错)

启动命令:

service rpcbind restartservice nfs restart

5、客户端设置

客户端也需要安装好nfs。

查看nfs服务共享信息

[root@localhost ~]# showmount -e 192.168.1.104clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

如果出现以上情况,是nfs服务器上有防火墙,这里解决办法是先关掉nfs服务器的防火墙。

systemctl stop firewalld.service

再查看nfs服务共享信息

[root@localhost ~]# showmount -e 192.168.1.104Export list for 192.168.1.104:/home/test 192.168.1.105

已经可以查到nfs信息,客户端要使用此nfs服务,需要挂载,命令:

mount -t nfs 192.168.1.104:/home/test/ /opt

挂载到本机/opt目录下。若有出错,可根据具体的出错信息排查。

df命令查看挂载情况:


linux nfs 查看 linux查看nfs端口_服务器_02


看到图中的信息说明已经挂载成功。

后面的测试就省略了,本文分享到此结束。其实操作过程中会遇到各种各样的问题,不过在本文中都没有列出,各位可以试错,然后自己解决,这样记忆更加深刻。

当然还有一些缺陷,防火墙的设置被我略过了,以后再作补充吧。