美文网首页
NFS安装、配置、挂载

NFS安装、配置、挂载

作者: 疯狂撸代码的奋青骚年 | 来源:发表于2018-10-23 18:55 被阅读0次

    [TOC]

    NFS安装、配置、挂载

    转载:

    为什么要用NFS

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

    NFS最早是由Sun公司发展出来的,简单的来说:它就是是可以透过网络,让不同的主机、不同的操作系统可以共享存储。

    以下是NFS最显而易见的好处:

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

    NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

    NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

    准备阶段:(客户端和服务端)

    [root@NFS-server ~]# cat /etc/redhat-release #查看系统版本
    CentOS release 6.8 (Final)
    [root@NFS-server ~]# uname -r #查看系统内核版本
    2.6.32-642.11.1.el6.x86_64
    [root@NFS-server ~]# uname -m #查看系统是否64位
    x86_64
    

    NFS服务端所需的软件列表

    nfs-utils: 这个是NFS服务主程序(包含rpc.nfsd、rpc.mountd、daemons)
    rpcbind: 这个是CentOS6.X的RPC主程序(CentOS5.X的为portmap)

    检查软件是否安装

    [root@NFS-server ~]# rpm -qa nfs-utils rpcbind #检查安装的软件包
    rpcbind-0.2.0-12.el6.x86_64
    nfs-utils-1.2.3-70.el6_8.2.x86_64
    

    <font color=red><如果没有安装在系统中通过yum 命令进行安装以上两个包></font>

    [root@NFS-server ~]# yum install -y nfs-utils rpcbind #安装上述所需的两个软件包
    

    配置服务端NFS

    固定NFS端口

    [root@NFS-server ~]# vim /etc/sysconfig/nfs
    RQUOTAD_PORT=1001
    LOCKD_TCPPORT=32803
    LOCKD_UDPPORT=32769
    MOUNTD_PORT=892
    

    配置NFS共享目录

    创建目录

    [root@NFS-server ~]# mkdir -p /junnaTest/shareDir
    

    配置目录

    [root@NFS-server ~]# vim /etc/exports
    
    /junnaTest/shareDir 47.106.122.67(rw,no_root_squash,no_all_squash,sync) 113.106.165.0/24(rw,no_root_squash,no_all_squash,sync)
    

    让配置文件生效

    [root@NFS-server ~]# /etc/init.d/nfs reload
    [root@NFS-server ~]# exportfs -r
    [root@NFS-server ~]# showmount -e 127.0.0.1
    

    备注:

    格式如下:

    NFS共享目录 NFS客户端地址1(参数1,参数2,参数3......) 客户端地址2(参数1,参数2,参数3......)

    NFS共享目录 NFS客户端地址(参数1,参数2,参数3......)

    常见的参数则有:


    常见的参数

    启动NFS服务端相关服务

    <strong>启动rpcbind、nfs服务</strong>

    [root@NFS-server ~]# service rpcbind start  #rpcbind服务启动
    [root@NFS-server ~]# service rpcbind status  #查询rpcbind服务状态
    rpcbind (pid 1281) is running...
    [root@NFS-server ~]# service nfs start  #rpcbind服务启动
    [root@NFS-server ~]# service nfs status  #查询rpcbind服务状态
    

    <strong>开机自启动rpcbind、nfs服务</strong>

    [root@NFS-server ~]# chkconfig rpcbind on
    [root@NFS-server ~]# chkconfig nfs on
    [root@NFS-server ~]# chkconfig --list rpcbind #检查rpcbind自启动情况
    rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
    [root@NFS-server ~]# chkconfig --list nfs #检查nfs自启动情况
    
    [root@NFS-server ~]# lsof -i :111  #查询rpcbind监听状态 (111是rpcbind的主端口)
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    rpcbind 1281 rpc 6u IPv4 10766 0t0 UDP *:sunrpc
    rpcbind 1281 rpc 8u IPv4 10769 0t0 TCP *:sunrpc (LISTEN)
    rpcbind 1281 rpc 9u IPv6 10771 0t0 UDP *:sunrpc
    rpcbind 1281 rpc 11u IPv6 10774 0t0 TCP *:sunrpc (LISTEN)
    
    [root@NFS-server ~]# netstat -lntup |grep rpcbind #查询rpcbind服务启动状态 (同lsof查询端口效果一样)
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1281/rpcbind
    tcp 0 0 :::111 :::* LISTEN 1281/rpcbind
    udp 0 0 0.0.0.0:608 0.0.0.0:* 1281/rpcbind
    udp 0 0 0.0.0.0:111 0.0.0.0:* 1281/rpcbind
    udp 0 0 :::608 :::* 1281/rpcbind
    udp 0 0 :::111 :::* 1281/rpcbind
    

    配置防火墙

    [root@NFS-server ~]# /sbin/iptables -I INPUT -p tcp -s 47.106.122.67 -m multiport --dport 111,2049,1001,892,32803 -j ACCEPT
    [root@NFS-server ~]# /sbin/iptables -I INPUT -p udp -s 47.106.122.67 -m multiport --dport 111,2049,1001,892,32769 -j ACCEPT
    
    [root@NFS-server ~]# /etc/rc.d/init.d/iptables save 
    [root@NFS-server ~]# /etc/rc.d/init.d/iptables restart
    [root@NFS-server ~]# /etc/init.d/iptables status
    

    客户端配置

    [root@NFS-server ~]# mount -t nfs 120.79.205.120:/junnaTest/shareDir /test/mmp
    

    客户端卸载已挂在的NFS

    [root@NFS-server ~]# umount /test/mmp
    

    可参考:Linux指令操作栈下载

    相关文章

      网友评论

          本文标题:NFS安装、配置、挂载

          本文链接:https://www.haomeiwen.com/subject/sboazftx.html