什么是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安装情况:
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命令查看挂载情况:
看到图中的信息说明已经挂载成功。
后面的测试就省略了,本文分享到此结束。其实操作过程中会遇到各种各样的问题,不过在本文中都没有列出,各位可以试错,然后自己解决,这样记忆更加深刻。
当然还有一些缺陷,防火墙的设置被我略过了,以后再作补充吧。