zoukankan      html  css  js  c++  java
  • CentOS-6.5-NFS部署

     
                      nfs-server与nfs-client端配置一样
     
    NFS(network file system)网络文件系统;用于在网络上共享存储。
    服务端-192.168.161.133
    需要安装的包nfs-utils      
    rpcbind
    客户端-192.168.161.132
    nfs-utils
    rpcbind
    1、服务端配置nfs
    需要安装两个包nfs-utils和rpcbind(用于服务端和客户端的通信,CentOS6以前的版本都是安装portmap包、centos6版本安装rpcbind)
    [root@nfsserver /]# uname -r    打印系统版本
    2.6.32-431.el6.x86_64
    [root@nfsclient ~]# rpm -aq nfs-utils portmap rpcbind        #检查nfs相关的包 如果有这两个包的话使用rpm卸载  重新安装
    nfs-utils-1.2.3-39.el6.x86_64
    rpcbind-0.2.0-11.el6.x86_64
    [root@nfsclient /]# tail -6 /etc/yum.repos.d/CentOS-Media.repo    #查看本地yum配置文件
    baseurl=file:///media/CentOS/
            file:///media/cdrom/
            file:///media/cdrecorder/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    [root@nfsclient /]# sed -i 's#enabled=0#enabled=1#gp' /etc/yum.repos.d/CentOS-Media.repo  #修改配置文件
    [root@nfsclient /]# tail -6 /etc/yum.repos.d/CentOS-Media.repo     # 检查是否修改成功
            file:///media/cdrom/
            file:///media/cdrecorder/
    gpgcheck=1
    enabled=1
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    [root@nfsclient /]# yum -y remove nfs-utils rpcbind    #卸载nfs相关的包  不建议使用yum  remove卸载包、因为他会把依拉包卸载掉、有可能会影响服务器上的其他服务
    Removed:
      nfs-utils.x86_64 1:1.2.3-39.el6       rpcbind.x86_64 0:0.2.0-11.el6      
     
    Dependency Removed:
      ipa-client.x86_64 0:3.0.0-37.el6    nfs-utils-lib.x86_64 0:1.1.5-6.el6   
      yp-tools.x86_64 0:2.9-12.el6        ypbind.x86_64 3:1.20.4-30.el6        
     
    Complete!
    [root@nfsclient /]# rpm -aq nfs-utils portmap rpcbind  #确认是否卸载成功
    发一:[root@nfsserver /]# yum -y install nfs-utils rpcbind  #安装nfs相关的包
    Installed:
      nfs-utils.x86_64 1:1.2.3-70.el6_8.1     rpcbind.x86_64 0:0.2.0-12.el6    
     
    Dependency Installed:
      nfs-utils-lib.x86_64 0:1.1.5-11.el6                                       
      python-argparse.noarch 0:1.2.1-2.1.el6                                    
     
    Dependency Updated:
      libtirpc.x86_64 0:0.2.1-11.el6                                            
     
    Complete!
    [root@nfsserver /]# rpm -qa nfs-utils portmap rpcbind 
    rpcbind-0.2.0-12.el6.x86_64
    nfs-utils-1.2.3-70.el6_8.1.x86_64
                                        nfs-client端配置(安装时两边都用同一种方法,保持一致不容易出错)
    法二:[root@nfsclient /]# yum grouplist | grep -i 'nfs'  #查找nfs包组
    Failed to set locale, defaulting to C
       NFS file server
    [root@nfsclient /]# yum -y groupinstall "NFS file server"
    Installed:
      nfs-utils.x86_64 1:1.2.3-70.el6_8.1                                       
     
    Dependency Installed:
      nfs-utils-lib.x86_64 0:1.1.5-11.el6                                       
      python-argparse.noarch 0:1.2.1-2.1.el6                                    
      rpcbind.x86_64 0:0.2.0-12.el6                                             
     
    Updated:
      nfs4-acl-tools.x86_64 0:0.3.3-8.el6                                       
     
    Dependency Updated:
      libtirpc.x86_64 0:0.2.1-11.el6                                            
     
    Complete!
     
    root@nfsclient /]# rpm -aq nfs-utils portmap rpcbind
    rpcbind-0.2.0-12.el6.x86_64
    nfs-utils-1.2.3-70.el6_8.1.x86_64
                                                        nfs-server端配置
    [root@nfsserver /]# /etc/init.d/rpcbind start     #启动rpcbind服务
    Starting rpcbind:                                          [  OK  ]
    [root@nfsserver /]# ps -ef | grep rpcbind     #查看rpcbind服务状态
    rpc       5212     1  0 15:04 ?        00:00:00 rpcbind
    root      5221  4567  0 15:05 pts/0    00:00:00 grep rpcbind
    [root@nfsserver /]# /etc/init.d/rpcbind status   #查看rpcbind服务状态
    rpcbind (pid  5212) is running...
    [root@nfsserver /]# /etc/init.d/rpcbind stop
    Stopping rpcbind:                                          [  OK  ]
    [root@nfsserver /]# rpcinfo -p localhost
    rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
    报错原因rpcbind服务未启动
    [root@nfsserver /]# rpcinfo -p localhost
       program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
     
    [root@nfsserver /]# /etc/init.d/nfs start   #启动nfs服务
    Starting NFS services:                                     [  OK  ]
    Starting NFS quotas:                                       [  OK  ]
    Starting NFS mountd:                                       [  OK  ]
    Starting NFS daemon:                                       [  OK  ]
    正在启动 RPC idmapd:                                      [确定]
    [root@nfsserver /]# rpcinfo -p localhost
       program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100011    1   udp    875  rquotad
        100011    2   udp    875  rquotad
        100011    1   tcp    875  rquotad
        100011    2   tcp    875  rquotad
        100005    1   udp  37917  mountd
        100005    1   tcp  38242  mountd
        100005    2   udp  40271  mountd
        100005    2   tcp  50999  mountd
        100005    3   udp  48150  mountd
        100005    3   tcp  47540  mountd
        100003    2   tcp   2049  nfs
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs
        100227    2   tcp   2049  nfs_acl
        100227    3   tcp   2049  nfs_acl
        100003    2   udp   2049  nfs
        100003    3   udp   2049  nfs
        100003    4   udp   2049  nfs
        100227    2   udp   2049  nfs_acl
        100227    3   udp   2049  nfs_acl
        100021    1   udp  38739  nlockmgr
        100021    3   udp  38739  nlockmgr
        100021    4   udp  38739  nlockmgr
        100021    1   tcp  44041  nlockmgr
        100021    3   tcp  44041  nlockmgr
        100021    4   tcp  44041  nlockmgr
    [root@nfsserver /]# chkconfig nfs on      #添加开机自启
    [root@nfsserver /]# chkconfig rpcbind on
    [root@nfsserver /]# chkconfig --list nfs    #检查服务是否成功添加开机自启
    nfs                0:off    1:off    2:on    3:on    4:on    5:on    6:off
    [root@nfsserver /]# chkconfig --list rpcbind
    rpcbind            0:off    1:off    2:on    3:on    4:on    5:on    6:off
     
    nfs-client配置
    root@nfsclient /]# /etc/init.d/rpcbind start
    Starting rpcbind:                                          [  OK  ]
    [root@nfsclient /]# /etc/init.d/rpcbind status
    rpcbind (pid  25927) is running...
    [root@nfsclient /]# chkconfig rpcbind on
    [root@nfsclient /]# chkconfig --list rpcbind
    rpcbind            0:off    1:off    2:on    3:on    4:on    5:on    6:off
     
     
                                                        nfs-server端配置
    [root@nfsserver /]# mkdir /data            #创建共享目录
    [root@nfsserver /]# vim /etc/exports    #nfs配置文件 默认为空
    [root@nfsserver /]# cat /etc/exports 
    #shared data for bbs by oldboy at 20160810
    /data 192.168.161.0/24(rw,sync)
    注:这里的共享目录是/data目录;指定一个网段192.168.161.0/24(也可以指定单个IP);rw为可读写(ro只读);sync为同步模式(sync写入数据是直接写入磁盘,async非同步,写入数据写书内存、如果nfs服务端宕机容易造成数据丢失)详细注解可使用man exports命令;具体参数可参考下面nfs默认的配置、
    [root@nfsserver /]# cat /var/lib/nfs/etab      #nfs默认的配置参数
    /data    192.168.161.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)
    [root@nfsserver /]# /etc/init.d/nfs reload
    [root@nfsserver /]# showmount -e localhost        #现在本机检查共享是否成功
    Export list for localhost:
    /data 192.168.161.0/24
     
                                                                nfs-client端配置
     
     
     
    [root@nfsclient /]# showmount -e 192.168.161.133     //此为服务端IP
    注:要关闭防火墙、不然客户端查不到共享,汇报如下错误:
    clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
    clnt_create:RPC:端口映射器失败——不能接受:errno 113(没有通往主机)
    [root@nfsclient /]# service iptables stop    #关闭client端防火墙 或开放相应的端口
    iptables:将链设置为政策 ACCEPT:filter                    [确定]
    iptables:清除防火墙规则:                                 [确定]
    iptables:正在卸载模块:                                   [确定]
    [root@nfsserver /]# service iptables stop                #关闭client端防火墙 或开放相应的端口
    iptables:将链设置为政策 ACCEPT:filter                    [确定]
    iptables:清除防火墙规则:                                 [确定]
    iptables:正在卸载模块:                                   [确定]
    故障排查:[root@nfsclient /]# ping 192.168.161.133
    [root@nfsclient /]# telnet 192.168.161.133 111
    [root@nfsclient /]# showmount -e 192.168.161.133    #成功检测到共享
    Export list for 192.168.161.133:
    /data 192.168.161.0/24
    [root@nfsclient /]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        16G  4.0G   12G  27% /
    tmpfs           495M   80K  495M   1% /dev/shm
    /dev/sda1       2.0G   59M  1.8G   4% /boot
    /dev/sr0        4.2G  4.2G     0 100% /media/CentOS_6.5_Final
    /dev/sr0        4.2G  4.2G     0 100% /media/cdrom
    [root@nfsclient /]# mount -t nfs 192.168.161.133:/data /mnt   #挂载到/mnt下
    [root@nfsclient /]# df -h
    Filesystem             Size  Used Avail Use% Mounted on
    /dev/sda3               16G  4.0G   12G  27% /
    tmpfs                  495M   80K  495M   1% /dev/shm
    /dev/sda1              2.0G   59M  1.8G   4% /boot
    /dev/sr0               4.2G  4.2G     0 100% /media/CentOS_6.5_Final
    /dev/sr0               4.2G  4.2G     0 100% /media/cdrom
    192.168.161.133:/data   16G  3.9G   12G  26% /mnt   #挂载成功
    [root@nfsclient /]# cd /mnt
    [root@nfsclient mnt]# ll
    total 0
    -rw-r--r--. 1 root root 0 Aug 10 15:49 11
    -rw-r--r--. 1 root root 0 Aug 10 15:49 22
    -rw-r--r--. 1 root root 0 Aug 10 15:49 33
    [root@nfsclient mnt]# touch test.log      #测试下是否有写入权限
    touch: cannot touch `test.log': Permission denied    拒绝访问
    到nfs-server端检查
    [root@nfsserver /]# ll /data -ld
    drwxr-xr-x 2 root root 4096 Aug 10 15:49 /data
    [root@nfsserver /]# cat /var/lib/nfs/etab    #此目录是nfs默认的用户的信息
    /data    192.168.161.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)
    [root@nfsserver /]# grep 65534 /etc/passwd     #根据用户id查出用户
    nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
    [root@nfsserver /]# chown -R nfsnobody.nfsnobody /data     #给nsfnobody赋予权限
    [root@nfsclient mnt]# touch test.log     #创建测试目录
    [root@nfsclient mnt]# ll
    total 0
    -rw-r--r--. 1 nfsnobody nfsnobody 0 Aug 10 15:49 11
    -rw-r--r--. 1 nfsnobody nfsnobody 0 Aug 10 15:49 22
    -rw-r--r--. 1 nfsnobody nfsnobody 0 Aug 10 15:49 33
    -rw-r--r--. 1 nfsnobody nfsnobody 0 Aug 10 16:02 test.log   #创建成功
    开机自动挂载  修改/etc/fstab文件
     
     
    nfs客户端自动挂载autofs
    为什么需要autofs
    autofs可以实现当前用户访问的时候在挂载,如果没有用户访问,指定之间、内,就自动卸载。
    可以解决NFS服务器和客户端紧密耦合的问题。缺点:是用户请求才会挂载,所有请求的瞬间效率较差。一般的企业不用它。
  • 相关阅读:
    常用正则表达式实例
    java doc注释
    不让WINDOWS检测硬盘的方法
    maven eclipse插件使用问题解决
    indexof 和 indexofany有什么区别
    asp.net验证码
    C#里如何把数据库里的日期显示为只包含年月日
    雷人的发现 谷歌浏览器三大不为人知的秘密
    三层架构实例
    正则表达式30分钟入门教程
  • 原文地址:https://www.cnblogs.com/hwlong/p/5797187.html
Copyright © 2011-2022 走看看