环境:CentOS release 6.8

server  192.168.25.100
client1 192.168.25.101
client2 192.168.25.102

1.服务端操作

1.1 安装nfs需要的包

yum install -y nfs-utils rpcbind

1.2 创建挂载路径

mkdir /nfsfile     我这里的这个路径是一个独立的磁盘,方便存储和管理

1.3 编写配置文件

vim /etc/exports

内容只有下面一行

/nfsfile 192.168.25.0/24(rw,async,no_root_squash,no_all_squash)

说明 第一部分是挂在的路径,第二部分是允许哪些网段的可以访问,我这里设置的是整个网段的,可以细粒度到指定一个IP,括号里面的内容可以写如下的内容

rw 读写 
ro 只读 
sync 同步模式,内存数据实时写入磁盘 
async 非同步模式 ,把内存总数据定期写入磁盘
no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大 ,不安全,不建议使用
root_squash 与上面选项相对,客户端上的root用户受到约束,被限定成某个普通用户 
all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户 
anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid
no_all_squash 客户端上所有用户在使用NFS共享目录时不受约束,显示操作用户

--------------------小插曲------------------------------------
温馨提示,如果不开后面的两个no_权限的话,操作的时候,所有者和所属组都是匿名的操作
这是客户端进行操作的
[root@test6_102 export]# mkdir test
[root@test6_102 export]# ll
total 24
drwx------ 2 root      root      16384 Aug 18 01:09 lost+found
drwxr-xr-x 2 nfsnobody nfsnobody  4096 Aug 18 01:44 test
--------------------------------------------------------------

完成配置文件后保存退出,开启服务

service rpcbind start
service nfs start

1.4 查看一下是否启动成功

showmount -e 192.168.25.100
Export list for test100:
/nfsfile 192.168.25.0/24

1.5 分配权限:

如果磁盘想让别人可以读写的话,建议给777权限,不然只能进行读取权限

chmod 777 /nfsfile

1.6 服务端查看全部的nfs共享

exportfs -avr    //   -a 全部  -v 详细信息   -r刷新
或者:
showmount -e 127.0.0.1 // 查看本机全部nfs共享

2.客户端操作

两台服务器的操作是完全一样的,这里只说明其中一台,另一台服务器同样操作

2.1 安装nfs需要的包

yum install nfs-utils rpcbind -y

2.2 创建路径

mkdir /nfsfile

2.3 挂载nfs文件

mount 192.168.25.100:/nfsfile /nfsfile

查看是否挂载成功

df -Th
Filesystem      Type       Size  Used Avail Use% Mounted on
192.168.25.100:/nfsfile  
                nfs       2.0G   3.2M  1.9G   1% /nfsfile 

挂载成功

2.4 开机自动挂载
2.4.1 客户端操作修改/etc/fstab:

vi /etc/fstab

在最后的位置添加上如下内容:

192.168.25.100:/nfsfile     /nfsfile     nfs    defaults     0  0

这样永久挂载后,每次系统启动都会自动挂载服务器端NFS,当服务端NFS没有开启时,本地客户端启动时会执行挂载任务,导致系统启动速度变慢。因此,我们可以把服务端的NFS自动挂载到本地,当我们需要时,再去访问。

2.4.2 修改系统自带配置文件

自动挂载用到的软件包automount,
一般系统都默认安装了的。如果没有安装再安装下:yum install autofs

下面进行自动挂载配置:

mkdir /nfs_mount        //先在根目录创建一个用于自动挂载的目录

vim /etc/auto.master     //编辑配置文件

添加内容:

/nfs_mount   /etc/auto.nfs    //最后一行添加(左边目录是指需要挂载的目录,右边目录是指关联到所需自动挂载路径)

保存退出

vim /etc/auto.nfs         //新建我们刚刚设置的自动挂载路径,添加如下信息

nfs_client    -rw,async,no_root_squash,no_all_squash      192.168.125.100/nfsfile //左边代表自动挂载目录,中间权限,sync 代表同步,右边代表所需挂载的文件路径

service autofs reload     //重置自动挂载map
df -Th
Filesystem      Type       Size  Used Avail Use% Mounted on
192.168.25.100:/nfsfile  
                nfs       2.0G   3.2M  1.9G   1% /nfsfile 

这时,我们去访问我们建立的自动挂载目录,去触发自动挂载

cd /nfs_mount/
ls   --ls是没有任何文件的,但是下面的cd是可以进入路径的
cd nfs_client      //上面ls查看没有nfs_client目录,但是我们可以cd访问nfs_client目录去触发自动挂载
ls
nfsfile df -Th
Filesystem      Type       Size  Used Avail Use% Mounted on
192.168.25.100:/nfsfile  
                nfs       2.0G   3.2M  1.9G   1% /nfsfile  192.168.25.100:/nfsfile  
                nfs         2.0G   3.2M  1.9G   1% /nfs_mount/nfs_client

参考文档:https://blog.csdn.net/hustcxl/article/details/78561384

【Linux】NFS搭建及使用详解的更多相关文章

  1. linux route命令的使用详解 添加永久静态路由 tracert traceroute

    linux route命令的使用详解 添加永久静态路由  tracert  traceroute route -n    Linuxroute  print  Windows traceroute  ...

  2. Linux文件系统的目录结构详解

    Linux文件系统的目录结构详解   一.前 言 文章对Linux下所有目录一一说明,对比较重要的目录加以重点解说,以帮助初学者熟练掌握Linux的目录结构. 二.目 录 1.什么是文件系统 2.文件 ...

  3. 基于CentOS6.5下snort+barnyard2+base的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机器环境实验室的大数 ...

  4. 基于Windows7下snort+apache+php 7 + acid(或者base) + adodb + jpgraph的入侵检测系统的搭建(图文详解)(博主推荐)

    为什么,要写这篇论文? 是因为,目前科研的我,正值研三,致力于网络安全.大数据.机器学习.人工智能.区域链研究领域! 论文方向的需要,同时不局限于真实物理环境机器实验室的攻防环境.也不局限于真实物理机 ...

  5. 转载]OK6410之tftp下载内核,nfs挂载文件系统全过程详解[转]

    原文地址:OK6410之tftp下载内核,nfs挂载文件系统全过程详解[转]作者:千山我独行 由于工作的平台也是嵌入式,差不多的平台,所以一直就没有把自己买过来的ok6410板子好好玩玩.以前一直都是 ...

  6. Linux上的free命令详解、swap机制

    Linux上的free命令详解   解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free ...

  7. linux PHP 编译安装参数详解

    linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...

  8. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

  9. Linux CAT与ECHO命令详解 <<EOF EOF

    Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: .一次显示整个文件. $ cat filename .从键盘 ...

随机推荐

  1. 安全声明标记语言SAML2.0初探

    目录 简介 SAML的构成 SAML的优势 SAML是怎么工作的 SP redirect request; IdP POST response SP POST Request; IdP POST Re ...

  2. python 通过pip freeze、dowload打离线包及自动安装【适用于保密的离线环境】

    python的pip是其包管理工具,相当方便好用.本文只介绍pip 如何通过其freeze命令打离线包,及其离线包的安装脚本.这个知识点,特别适用于不适合连通互联网,设备需要物理隔绝,保密要求严格的客 ...

  3. (byte & 0xff)操作

    先看一段代码: @Test public void test(){ byte a = -5; byte b = 12; System.out.println(a); System.out.printl ...

  4. MySQL锁(四)行锁的加锁规则和案例

    在上一篇文章,我们学习了间隙锁和next-key lock,但是不知道怎么加锁,有哪些规则.间隙锁的概念不太好理解,尤其是配合上行锁后,很容易在判断是否会出现锁等待的问题上犯错. 今天我们就来学习一下 ...

  5. 弱肉强食——《哆啦A梦:大雄的新恐龙》观后感

    观看大雄的新恐龙不是在电影院观看的,由于时间的问题无法去电影院观看,是在家通过梦蓝字幕组翻译好的观看的,这个翻译好的视频已经由于版权原因没有发布了. 故事的开始与以往的情节十分相似:大雄因为不想被胖虎 ...

  6. 学习JUC源码(3)——Condition等待队列(源码分析结合图文理解)

    前言 在Java多线程中的wait/notify通信模式结尾就已经介绍过,Java线程之间有两种种等待/通知模式,在那篇博文中是利用Object监视器的方法(wait(),notify().notif ...

  7. NET 5 Execl导入数据处理(EppLus、NPOI)

    先来简单介绍下市面上最广泛常见的三种操作excel库的优缺点1.NPOI 优点:免费开源,无需装Office即可操作excel, 支持处理的文件格式包括xls, xlsx, docx.格式 缺点:不支 ...

  8. Json转换值类型字段为空字符串时报错问题

    问题 在写Webservices时,碰到的问题. 定义的类 public class User { public string sID { get; set; } public int? iAge { ...

  9. 每日CSS_仿苹果平滑开关按钮

    每日CSS_仿苹果平滑开关按钮 2020_12_24 源码 1. 代码解析 1.1 html 代码解析 <div class="checkbox"> <div c ...

  10. 【Unity游戏开发】SpriteAtlas与AssetBundle最佳食用方案

    一.简介 在Unity步入2019.4以后,新版的SpriteAtlas日趋完善,已经完全可以在商业项目中使用了.但是纵观网络平台上,许多关于SpriteAtlas的文章还停留在2018的初版时期,其 ...