NFS网络文件系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFS网络文件系统相关的知识,希望对你有一定的参考价值。

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,他允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

好处:

  • 1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
  • 2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器且可以在网络上被访问使用。
  • 3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

坏处:

NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。

应用:

NFS有很多实际应用。下面是比较常见的一些:

    1. 多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜和方便。
    1. 在大型网络中,配置一台中心NFS服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。
    1. 不同客户端可在NFS上观看影视文件,节省本地空间。
    1. 在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下。

NFS是运行在应用层的协议。随着NFS多年的发展和改进,NFS既可以用于局域网也可用于广域网,且与操作系统和硬件无关,可以在不同的计算机或系统上运行。

NFS配置实验

实验环境:

服务端:RHEL6.5(rh6-1) IP192.168.100.110/24
客户端:RHEL6.5(rh6-2) IP192.168.100.120/24

客户端配置:

#yum install nfs-utils rpcbind –y           //nfs-utils用于NFS共享发布和访问;rpcbind用于远端过程调用机制支持
#chkconfig nfs on           //选择性设置NFS服务开机自启
#chkconfig rpcbind on       //选择性设置RPC服务开机自启
#mkdir /opt/wwwroot         //设置共享目录
#vi /etc/exports                //编辑NFS配置文件expots,文件内容默认为空
    /opt/wwwroot 192.168.100.0/24(rw)       //目录位置为/opt/wwwroot,客户机地址为192.168.100.0网段,权限为rw可读可写

用于配置NFS服务程序配置文件的参数

参数 作用
ro 只读
rw 读写
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
#service rpcbind start                  //开启RPC服务
#service nfs start                          //开启NFS服务
#netstat –ntap | grep rpcbind           //查看111端口是否开启
#showmount –e 192.168.100.110       //本机中查看NFS文件    
#service iptables stop          //关闭防火墙
#setenforce 0                       //关闭增强安全功能
#chmod 777 /opt/wwwroot     //修改wwwroot路径权限以供写入

客户端配置:

#yum install nfs-utils rpcbind –y           //检查NFS和RPC服务是否安装,若未安装则自动安装
#service rpcbind start
#service nfs start
#chkconfig nfs on
#chkconfig rpcbind on
#showmount –e 192.168.100.110           //查看服务器中的NFS文件
#mkdir /abc                 //创建挂在路径
#mount 192.168.100.110:/opt/wwwroot /abc            //手动挂载
#vi /etc/fstab                  //编辑自动挂载文件
    192.168.100.110:/opt/wwwroot /abc  nfs  defaults,_netev 0 0    //添加自动挂载配置内容

测试:

在客户端(rh6-2):

#cd /abc                            //切换到共享目录下
#touch test123.txt              //在客户端创建测试文件test123.txt

在服务端(rh6-1):

#cd /opt/wwwroot                //切换到共享目录下
#ls –l
总用量0
-rw-r—r--. 1 nfsnobody nfsnobody 0 5月  7 18:45 test123.txt //可以发现没用户认证机制

可以发现,挂载完成后,访问客户机的/abc文件夹,实际上就相当于访问NFS服务器中的/opt/wwwroot文件夹,其中的网络映射过程对于用户程序来说是透明地。如上测试内容所示,在客户端创建的test
123.txt测试文件,会立刻出现在服务器的/opt/wwwroot当中。


强制卸载NFS

NFS客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端NFS服务突然间停掉了,那么在客户端就会出现执行df –h命令卡死的现象。这个使用umount命令是无法直接卸载的,需要加上-lf才能卸载,如命令#umount –lf /mnt。

以上是关于NFS网络文件系统的主要内容,如果未能解决你的问题,请参考以下文章

NFS (网络文件系统)

网络文件系统NFS的作用?

NFS(网络文件系统)

NFS 网络文件系统介绍

详细讲解NFS网络文件存储系统配置

NFS网络文件系统