zoukankan      html  css  js  c++  java
  • CentOS7配置NFS网络文件系统

      NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

    • 查看是否已安装:

    • CentOS7:

    • rpm -qa | grep nfs-*
    • 如果没有安装,则执行
    • yum install -y nfs-utils rpcbind
    • NFS 服务器配置文件常用参数

      • 配置文件介绍(记得先备份): 

      • vim /etc/exports
      • 默认配置文件里面是没啥内容的,我们需要自己加上配置内容,一行表示共享一个目录。为了方便使用,共享的目录最好将权限设置为 777(chmod 777 目录名)。

      • 假设在配置文件里面加上:/opt/mytest 192.168.0.0/55(rw,sync,all_squash,anonuid=501,anongid=501,no_subtree_check)

      • 该配置解释:

        • /opt/mytest 表示我们要共享的目录
        • 192.168.0.0/55 表示内网中这个网段区间的IP是可以进行访问的,如果要任意网段都可以访问,可以用 * 号表示
        • (rw,sync,all_squash,anonuid=501,anongid=501,no_subtree_check) 表示权限
          • rw:是可读写(ro是只读)
          • sync:同步模式,表示内存中的数据时时刻刻写入磁盘(async:非同步模式,内存中数据定期存入磁盘)
          • all_squash:表示不管使用NFS的用户是谁,其身份都会被限定为一个指定的普通用户身份。(no_root_squash:其他客户端主机的root用户对该目录有至高权限控制。root_squash:表示其他客户端主机的root用户对该目录有普通用户权限控制)
          • anonuid/anongid:要和root_squash或all_squash选项一同使用,表示指定使用NFS的用户被限定后的uid和gid,前提是本图片服务器的/etc/passwd中存在这一的uid和gid
          • no_subtree_check:不检查父目录的权限
      • 修改完后重新加载exports配置
      • exportfs -r  #重载exports配置
        -a 全部挂载或卸载 /etc/exports中的内容
        -r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
        -u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
        -v 输出详细的共享参数  
      • 二、配置端口

        nfs除了主程序端口2049和rpcbind的端口111是固定以外,还会使用一些随机端口,以下配置将定义这些端口,以便配置防火墙

      • # vim /etc/sysconfig/nfs
        #追加端口配置
        MOUNTD_PORT=4001  
        STATD_PORT=4002
        LOCKD_TCPPORT=4003
        LOCKD_UDPPORT=4003
        RQUOTAD_PORT=4004

      防火墙放开端口

      # iptables -I INPUT 5 -p tcp -m tcp --dport 111 -j ACCEPT
      # iptables -I INPUT 5 -p udp -m udp --dport 111 -j ACCEPT
      # iptables -I INPUT 5 -p tcp -m tcp --dport 2049 -j ACCEPT
      # iptables -I INPUT 5 -p udp -m udp --dport 2049 -j ACCEPT
      # iptables -I INPUT 5 -p tcp -m tcp --dport 4001:4004 -j ACCEPT
      # iptables -I INPUT 5 -p udp -m udp --dport 4001:4004 -j ACCEPT
      # iptables-save >/etc/sysconfig/iptables

       重新启动服务

      # systemctl start rpcbind.service
      # systemctl enable rpcbind.service
      # systemctl start nfs.service
      # systemctl enable nfs.service

      启动顺序一定是rpcbind->nfs,否则有可能出现错误

      客户端挂载

      1、直接挂 

      # mount -t nfs nfs.st.local:/var/nfs /mnt

      也可将挂载配置写入fstab文件中,与普通磁盘挂载一样,挂载时同样可以指定权限,只是类型为nfs。

    •  2、autofs挂载

      # yum -y install autofs
      # vi /etc/auto.master
      #添加一行
      /- /etc/auto.mount
      # vi /etc/auto.mount
      #添加一行
      /mnt -fstype=nfs,rw nfs.st.local:/var/nfs

      #启动服务
      # systemctl start autofs
      # systemctl enable autofs

      故障解决:

      1、nfs只能挂载为nobody

      同时修改服务端、客户端/etc/idmapd.conf中的Domain为一样的值,随后重启rpcidmapd服务,或重启所有服务

      2、客户端无法卸载nfs目录

      umount.nfs4: /var/nfs: device is busy

      执行fuser -km /var/nfs/,然后再执行umount

       

  • 相关阅读:
    C# 中的var关键字
    sql中去掉换行符和回车符
    Linq之旅:Linq入门详解(Linq to Objects)
    c# for 和 foreach
    c# Dictionary
    ASP.NET Web.config学习
    c# 装箱与拆箱的概念
    c# List集合学习
    Index was out of range
    C# double保留四位小数
  • 原文地址:https://www.cnblogs.com/fusheng11711/p/11269833.html
Copyright © 2011-2022 走看看