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

CentOS7配置NFS网络文件系统的更多相关文章

  1. 二十五 存储技术与应用 iSCSI技术应用 、 udev配置 NFS网络文件系统 、 Multipath多路径 、 NFS网络文件系统 、 udev配置

    1.配置iSCSI服务 服务器上要额外配置一块硬盘 服务端(proxy)安装target,并将新加的硬盘配置为iSCSI 的共享磁盘 在客户端(client)上安装initiator,挂载服务器iSC ...

  2. NFS网络文件系统的配置

    NFS网络文件系统的配置 NFS网络文件系统 NFS(network file system)网络文件系统.一种使用于分散式文件协定,有SUN公司开发.功能是通过网络让不同的机器.不同的操作系统能够分 ...

  3. Linux基础学习-NFS网络文件系统实时文件共享

    NFS网络文件系统 如果大家觉得Samba服务程序的配置太麻烦了,那么你共享文件的主机都是Linux系统,那么推荐大家在客户端部署nfs服务来共享文件.nfs(网络文件系统)服务可以将远程Linux系 ...

  4. Linux系统NFS网络文件系统

    Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...

  5. [学习嵌入式开发板]iTOP-4412实现NFS网络文件系统

    本文转自迅为:http://www.topeetboard.com 学习平台:iTOP-4412开发板 本文讲解如何在 iTOP-4412 开发板上实现 NFS 网络文件系统. 我们使用的软硬件环境是 ...

  6. NFS(网络文件系统的搭建)

    关于NFS的原理,我在这就不概诉了,其实非常简答的理解就是一个网络磁盘,你需要把它挂载到你的磁盘上使用而已.那接下来谈谈如和搭建NFS网络文件系统. 需要使用2台机器作此实验,我分别配置IP为192. ...

  7. ubuntu 10.10配置NFS网络共享步骤

    安装好交叉编译环境arm-linux-gcc之后,就开始配置NFS网络共享,用于不同的linux主机与目标机之间文件的共享.如果是windows和linux的共享则需用samba服务. NFS(Net ...

  8. 三者互ping,PC,虚拟机,uboot,nfs网络文件系统搭建

    要想实现三者互ping,韦老师虽然专门出了视频说明,但是在自己配置过程还是出现了问题,这里记录一下解决办法,虽然我也不知道原因,但是解决了出现的问题也实现了三者互ping. 首先,我的硬件设备是PC通 ...

  9. Linux系统——NFS网络文件系统

    在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源文件,通常网站用户上传的文件都会放到NFS共享里,然后前端所有的节点访问这些静态资源时都会读取NFS存储上的资 ...

随机推荐

  1. Vue框架使用sass

    引入: cnpm install node-sass --save-dev //安装node-sass cnpm install sass-loader@7.3.1 --save-dev cnpm i ...

  2. vue 解决axios 跨域问题

    闲着没事,假期敲vue 请求数据,总结下vue跨越问题 第一种.服务器服务器不支持跨域请求   1.当跨域无法请求的时候我们可以修改工程下config文件夹下的index.js中的dev:{}部分. ...

  3. Python开发WebService--使用soaplib库

    Python开发WebService--使用soaplib库   使用soaplib开发基于Python语言的WebService主要有以下四个步骤:一.准备环境    S1:下载插件Python.s ...

  4. python实例31[生成随即的密码]

    代码: import random import string import time # strong.high = 3  #random for the whole passwd #storng. ...

  5. ios获取系统当前日期并以一定格式显示

    NSDate *date=[NSDate date]; NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init]; [dateform ...

  6. python3中OpenCV imwrite保存中文路径文件

    原先一段将特征值保存为图片的代码,这部分学生的电脑上运行没有生成图片 代码的基本样子是: import os import cv2 import numpy as np def text_to_pic ...

  7. UVALive 3211 : Now or later 【2-SAT】

    题目链接 题意及题解参见lrj训练指南 #include<bits/stdc++.h> using namespace std; ; struct TwoSAT { int n; vect ...

  8. java.lang.IllegalArgumentException: java.io.IOException: Alias name [tomcat] does not identify a key entry

    java.lang.IllegalArgumentException: java.io.IOException: Alias name [tomcat] does not identify a key ...

  9. 查看 XML 文件

    在所有现代浏览器中,均能够查看原始的 XML 文件. 不要指望 XML 文件会直接显示为 HTML 页面. 查看 XML 文件 查看这个 XML 文件:note.xml 打开 XML 文件 - XML ...

  10. EventArgs

    序言 DataEventArgs<DataSet> arg = new DataEventArgs<DataSet>(ds); 事件总线 什么是事件总线 我们知道事件是由一个P ...