NFS(网络文件系统)部署和优化:
首先:什么是NFS?
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
原理说明:假设有A,B,C 三台机器,在A上搭建nfs服务,然后把A上的一个目录(例如NFSlist)同时共享给B 和 C,接着B和C把A共享的目录放在自己本地上(挂载,类似磁盘挂载)。 这样,在用户看来,A,B,C同时存在一个相同的目录,有着相同的文件,只要去改动任意一台机器且在该目录下的文件,其他两台机器都会相应同步变化。
一、NFS前期部署工作
搭建环境:虚拟机(用Vmware Workstation创建2台虚拟主机)
LINUX版本:RHEL6.6(本教程只针对6.X以上)
(1)用做NFS服务器的电脑、主机名设置为Sever IP地址: 192.168.202.66
查询该主机是否安装rpcbind和nfs,下图是已经安装就绪。
RHEL6.X系统已经预装此两种服务,如果未安装请在光盘的Package文件安装rpcbind和nfs。
安装方法:# yum install rpcbind*
# yum install nfs*
(配置yum源自己度娘,也可以挂载本地iso镜像用rpm安装)
(2)用做访问NFS服务器的客户机,主机名为Clinet IP地址:192.168.202.11
确保客户机安装了nfs服务
二、设置参数
(1)主机Sever(192.168.202.66),设置NFS配置参数。用vim编辑 /etc/exports
说明:
cd : 回到root家目录
mkdir /NFSlist: 在根目录(/)创建NFSlist文件夹,(B,C主机挂载时就是用此目录)
chmod -R 777 /NFSlist: 将NFSlist目录的权限完全开放,客户机挂载后即可写入数据
vim /etc/exports: 设置NFS文件参数,注意: 192.168.202.11和(rw,sync) 之间不能有空格,【举个错误例子:192.168.202.11 (rw,sync) 这样设置会出错】。rw是客户机可读写,ro为只读。
(2)重启主机名Sever(192.168.202.66)的rpcbind 和 nfs服务(注意启动顺序有严格要求,先启动rpcbind,再启动nfs,不然会报错)
方法一:
方法二:
(3)客户机Clinet(192.168.202.11)的nfs也重启下
三、客户机挂载NFS服务器的文件,并写入和删除数据
(1)客户机Clinet(192.168.202.11)上查询NFS服务器挂载的目录
showmount -e 192.168.202.66: 查询该NFS服务器共享目录信息
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host): NFS服务器主机有防火墙,所以无法访问(解决办法,先关掉NFS服务器192.168.202.66的防火墙)
本教程只针对连通nfs服务器到客户端,不建议实际环境关闭防火墙,(防火墙设置后续再开贴详细说明吧,此处先关闭)
(2)关闭主机Sever(192.168.202.66)的防火墙
(3)再次在客户机Clinet(192.168.202.11)上查询NFS服务器挂载的目录
我们查询到可以访问此/NFSlist目录的用户ip地址是:192.168.202.11
(4)挂载主机Sever(192.168.202.66)的/NFSlist目录到自己客户机Clinet(192.168.202.11)的本地目录
先查询本地目录有哪些:
再挂载主机Sever(192.168.202.66)的/NFSlist目录到本地/mnt目录
至此,已经成功挂载NFS服务器文件到本地。
四、测试
(1)在客户机Clinet(192.168.202.11)的/mnt目录创建一个文件:misem.2016.text
(2)在主机Sever(192.168.202.66)的/NFSlist中可以查看到已经创建的信息,我们现在删除misem.2016.text,再创建个文件hello_misem
(3)回到客户机Clinet(192.168.202.11)的/mnt目录,发现文件 misem.2016.text没有了,只有文件hello_misem
五、如何在NFS服务器挂载新的目录
(1)在主机Sever(192.168.202.66)上创建要挂载的目录
mkdir /Fire2017 : 创建要挂载的目录
vim /etc/exports: 编辑NFS服务器参数
exportfs -rv : 切记要在(192.168.202.66)上运行,不然客户机端收不到更新的挂载目录
(2)在客户机Clinet(192.168.202.11)上查询
重复之前的步骤即可。
六、总结:
至此我们完成了简易的NFS服务器的搭建和测试,其中防火墙设置略过,后续我会专门讲解防火墙的知识。实际使用中会遇到各种各样的问题,相信通过度娘能解决大部分问题。
有朋友会问如果关机了是不是又要重新挂载,在这里你可以vim /etc/fstab ,设置开机自动启动就行。第一次写教程,一来仓促,二来水平有限,请高手指教,新人可以参考。