您的位置:首页 > 理论基础 > 计算机网络

NFS网络文件系统部署

2016-11-07 22:45 253 查看
NFS网络文件系统部署前服务器端的准备工作
1、查看服务器端系统配置信息如下图所示:




如上图所示:服务器端系统配置为:X86-64位内核版本是2.6.32-131 red-hat 6.5 的系统 主机名是:redha65-NFS-server
2、要部署redhat 6.5服务器端的NFS网络文件系统服务器端必须安装两个服务,一个是nfs 一个是rpc (注:因为redhat 6.5版的rpc远程过程调用的服务是rpcbind) 所以必须查询是否存在,这两个服务和两个服务当前的运行状态。




如上图所示:nfs 与rpcbind 所要求的软件包已经安装,如果没有安装可以使用:命令:
yum install nfs-* -y 与yum installrpcbind –y 来进行安装,也就是常说的,yum安装。下面就查看一下当前两个服务的运行状态了!



如上图所示这两个服务的状态都是处于stop状态,要想使用NFS网络文件系统必段将它们启用:启动是有先后顺序的,重点是 rpc服务(rpcbind)必须先启动,然后nfs服务再启动,首先要启动RPC服务否则 NFS SERVER 就无法向RPC服务注册。另外如果RPC服务重新启动,原来已经注册好的NFS端口数据就会丢失,此时RPC服务管理的NFS程序也需要重新启动(最好重新启动一下NFS服务),以重新向RPC注册。所以需要如下命令:1、/etc/init.d/rpcbind start 2、/etc/init.d/nfsstart 如

下图所示:




NFS网络文件系统部署前客户端的准备工作
1、查看客户端系统配置信息如下图所示



如上图所示:客户器端系统配置为:X86-64位内核版本是2.6.32-131 red-hat 6.5 的系统 主机名是:redhat65-NFS-client

2、要部署redhat 6.5客户端的NFS网络文件系统客户端必须安装一个服务,就是rpc服务(注因为redhat6.5 版本的rpc服务是rpcbind )所以需要查看,当前客户端服务器上面是否正确安装了rpcbind的软件包。使用命令:rpm –qa|grep “rpcbind” 如下图所示:




安装成功:再看一下当前rpc服务的运行状态



如上图所示rpc服务正在运行,那么对于服务器端来讲一切有关NFS网络服务的配置已经完成。如果上面的服务没有开启,则需要安装 rpcbind 服务使用 yum install rpcbind –y
安装完成后,使用命令:/etc/init.d/rpcbind start 将rpc服务开启就可以了。

3、本人之前想了很长的时间在NFS网络服务的客户端需不需要也同样打开nfs服务呢,通过最后的实验结论,不需要打开nfs服务如下图所示:



上面所有的有关nfs服务在客户端都是stop状态,但有一点,客户端的rpc服务一定要打开,这个是必须的。

在服务器端打开NFS配置文件并且使用vi 进行编辑
默认的配置地点是 /etc/exports
/etc/exports 文件配置格式为:

NFS 共享的目录 NFS 客户端地址 (参数1、 参数2)

其中各项的参数含义如下:
1、NFS 共享的目录:为NFS服务端要共享的实际目录,必须是绝对路径
2、客户端地址: 为服务端授权的可访问的共享目录NFS客户端地址,可以是单独的IP地址或主机名,域名等,也可以为一整个地址网段如(192.168.1.0/24),还可以用*配所有服务器可以访问。这里所谓的客户端一般来说是前端的业务服务器如web服务器
3、参数集:对授权的客户端的访问权限进行设置。(客户以什么权限访问)

使用命令:vi /etc/exports 进行编辑。(如果我在服务器端想要共享的目录是/data/shared
那么这个目录在服务器端必须存在,如果不存在使用命令mkdir /data/shared 进行创建



如上图所示我已经配置好了/etc/exports 的NFS网络文件系统服务端配置文件,意思是在192.168.1.0/24 这个网段上所有的主机都可以共享本服务器上面的/data/shared 这个目录,且是(sync 这个参数是可读可写的)。

对配置好的服务器共享文件进行挂载
可以首先在服务器本地进行挂载:使用showmount –e 127.0.0.1 来查看如下图所示:



如上图如示,已经显示出可以挂载的目录,这只是第一步,并不代表挂载成功,也可以使用命令 showmount –e 192.168.1.79 这样也可以,192.168.1.79是本机的ip 地址,是如何知道的,可以使用ifconfig 来进行查看如下图所示:



那么第二步是进行真正客户端的挂载:使用命令:mount –t nfs 192.168.1.79:/data/shared /mnt

如下图所示:




如上图所示本机挂载已经成功使用df-h 进行了查看,也可以使用命令 cat /proc/mounts 查看如下图所示:



看最后一行,已经详细显示了挂载的详细信息了。

在客户端对服务端共享的目录进行挂载
使用命令:showmount –e 192.168.1.79 如下图所示:




如上图所示已经显示出服务器端的挂载目录的详细信息了,可以使用命令:mount –t nfs 192.168.1.79:/data/shared /mnt 如下图所示:挂载成功




在客户端输入命令后没有回应就是最好的回应表示挂载已经成功了。可以使用 df –h 或cat/proc/mounts 进行查看如下图所示:







如上面两张图片如示:已经成功实现了对服务器端的挂载。
那么现在我进入 挂载点 /mnt 能建立一个目录或文件吗? 答案是不能如下图所示,因为我只有登入主机的权限 并没有共享目录写的权限。




这个时候有一个重要的知识点需要明白,我们在客户端进入/mnt目录实际上是登入了服务端共享的文件系统 /data/shared目录 客户端是以什么身份登入的 是当前客户端的root用户吗? 不是,是uid 与gid 为65534 的用户nfsnoboy这个身份登入的,如果我们想要在共享目录里面有写的权限,那么只需要在服务器端将/data/shared 这个目录的属主从root 改成nfsnobody 即可如下图所示在服务器端使用命令:chown nfsnobody /data/shared




然后我们再次在客户端进入/mnt 使用touch a.txt 或mkdira 进行创建文件与目录 再使用 ll 命令查看
如下图所示。




如上图所示已经创建成功
在服务器端再次查看:




和上面的结论一样,创建成功了。文件的属主与属组都是nfsnobody 证明上面的结论完全正确。

小结:
NFS文件系统是网络文件系统用来不同主机系统之间共存目录与文件的,是目前网络系统架构中常用的数据存储方式之一。
要想架设好NFS文件系统就必须理解 rpc与nfs 之间的关系,以及nfs 配置文件 /etc/exports 正常参数设置,还有就是正确的挂载命令格式。

在挂载之前一定要使用命令showmount –e 127.0.0.1 进行试挂载,如果本机都挂载不了,那么其它主机的挂载也是一定也不行。
如果本地挂载可以,但是其它主机不可以,一定要查看一下服务器端防火墙是否关闭,这个经常遇到问题。还有就是一定要查看 /etc/exports 里的客户端主机地址是否正确等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络 服务器 软件包