一、NFS概述

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

二、NFS的组成

一台NFS服务器和若干台客户机,客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。在NFS服务器正式启用前,需要根据实际环境和需求,配置一些NFS参数。
NFS是运行在应用层的协议。随着NFS多年的发展和改进,NFS既可以用于局域网也可以用于广域网,且与操作系统和硬件无关,可以在不同的计算机或系统上运行。

三、NFS 应用
  1. 多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜跟方便。
  2. 在大型网络中,配置一台中心 NFS 服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。
  3. 不同客户端可在NFS上观看影视文件,节省本地空间。
  4. 在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下。
四、搭建实验环境

搭建实验的步骤:

1. 配置两个虚拟机的ip和yum源并且更改主机名,一个名字改为client.westos.com,一个改为server.westos.com
2. 然后在各自的虚拟机里作解析vim /etc/hosts客户端是:172.25.254.112 client.westos.com服务端是:172.25.254.212 server.westos.com

搭建虚拟机Desktop环境:
为了实验的纯净,配置环境之前首先将Desktop进行重置
1. 配置虚拟机Desktop的网络


2. 更改虚拟机desktop的主机名

3. 在虚拟机desktop上对文件进行本地解析

4. 配置虚拟机desktop的yum源


搭建虚拟机Server的环境:
为了实验的纯净,配置环境之前首先将Server进行重置
1. 配置虚拟机Server的网络


2. 重启网络,并更改虚拟机Server的主机名

3. 对虚拟机Server进行本地解析

4. 配置虚拟机Server的yum源



实验的环境搭建好以后,在一个shell中用ssh连接,如下所示:

五、配置NFS服务器

实验步骤:
在服务端配置如下:
1.安装可以使用网络文件系统的软件


2.关闭火墙,进入服务的配置文件
3.编辑服务的配置文件
4.开启服务,并查看服务的状态,最后将共享的目录显示在屏幕上

在客户端的测试如下:
1.安装服务软件


2.显示导出目录的列表,挂载目录并查看

3.进入挂载目录,建立文件,发现不能建立,如下图所示:

4.卸载挂载并查看,发现卸载成功,如下所示:
注意:

  1. exportfs若果修改了/etc/exports文件后不需要重新激活NFS,只需要重新扫描一次/etc/exports文件,并重新将设定加载即可

  2. 当挂载成功后,本地/mnt下如果有数据,则原有的数据都不可见,用户看到的是远程主机172.25.254.212上面的/mnt目录文件列表

  3. exportfs命令常用参数说明:

    -a 全部挂载/etc/exports文件中的设置
    -r 重新挂载/etc/exports中的设置
    -u 卸载某一目录
    -v 在export时将共享的目录显示在屏幕上
  4. showmount命令常用参数说明:

    -a 列出NFS服务共享的完整目录信息
    -d 仅列出客户机远程安装的目录
    -e 显示导出目录的列表
  5. sync和async的区别:
    <1> sync:将数据同步写入内存缓冲区和磁盘中,效率低,但可以保证数据的一致性
    <2>async:将数据先保存到内存缓冲区中,必要时写入磁盘

六、NFS服务器管理

1. 使nfs服务器可写,如下所示:

1.编辑服务端的配置文件,将只读挂载更改为读写挂载,如下所示:


2.将共享的目录显示在屏幕上,如下所示:
3.在客户端测试,发现还是不能建立文件,如下图所示:
当以读写方式挂载后,还是不能建立文件,此时原因是本地的目录/mnt并没有可写的权力,还需要我们去给一个权限,如下图所示

4.在服务端给用户一个满权限,如下图所示:

5.再次去客户端建立文件测试,发现能建立成功,如下所示:

6.查看文件的属性,发现用户和用户组都为匿名用户,如下所示:

2. 在本地对nfs服务器文件所有人、所有组的修改,如下所示:

NFS常用选项说明如下:

all_squash 将远程访问的所有普通用户及所属组都映射为匿名用户或用户组,相当于使用nobody用户访问该共享目录
no_all_squash 与all_squash取反,该选项为默认设置
root_squash 将root用户及所属组映射为匿名用户或用户组,为默认设置
no_root_squash 与root_squash取反
anonuid 将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户
anongid 将远程访问的所有用户都映射为匿名用户组账户,并指定该匿名用户组账户为本地本地用户组账户

实验步骤如下:
1.在服务端创建用户,并查看用户的id,如下图所示:

2.编辑配置文件,如下所示:

3.刷新,并将共享目录显示在屏幕上,如下所示:

4.在客户端进入挂载的目录下,创建一个文件并查看文件的属性,发现文件的用户和用户组都为1001,如下图所示:

5.再次进入服务端的配置文件,编辑配置文件,如下所示:


6.再次刷新,并将共享目录显示在屏幕上,如下所示:

7.再次在客户上建立文件测试,发现文件的所有人所有组为root用户,给本地用户满权限并且切换到student用户下建立文件,发现文件的所属人和所属组都为student,如下图所示:

8.测试:
在服务端进入/mnt下查看文件,文件file1的用户和用户组都为feng,如下图所示:

在客户端进入挂载的目录下查看,发现文件file1的用户和用户组为1001,如下所示:

9.卸载挂载,并查看发现卸载成功,如下所示:

七、NFS服务器在本地的自动挂载与卸载

此实验在客户端进行,操作步骤如下:

1.安装自动挂载的服务,如下所示:


2.开启服务并使服务开机自启动,如下所示:

3.查看服务的版本与配置文件,如下图所示:
4.设置自动挂载等待时间,如下所示:


5.测试,当使用时进入/net/172.25.254.212/mnt/查看发现有刚建立的文件,df查看有挂载,当不用时相当于退出,此时再去查看发现没有挂载,如下所示:

注意:

  1. 不要df一直查看,因为查看一次就会被读取一次
  2. 正因为目录能被自动挂载的原因是因为,autofs在开启的时候会有/net这个目录,当关闭的时候就不存在,如下所示:
八、更改共享目录的挂载点

实验需求:

1. 将服务端172.25.254.212:/mnt目录挂载到客户端的/mnt/westos目录下
2. /mnt/westos是不存在的

此实验在客户端进行,操作步骤如下:

1.进入/etc/auto.master目录,挂载/mnt到/etc/auto.nfs,如下图所示:


2.编辑自动挂载文件,挂载的子目录为westos,如下所示:


3.重启服务,如下所示:

4.进入到挂载目录下,查看发现挂载成功,退出目录再次查看发现自动卸载成功,如下图所示:

5.也可以指定挂载类型和版本,如下所示:


6.在客户端测试,发现挂载成功,并且用mount查看,发现挂载的类型为只读,版本为3,如下图所示:

7.进入挂载目录建立文件,发现不能建立,因为只读挂载,如下所示:
8.退出挂载目录,查看发现再次自动卸载成功,如下所示:

九、设置NFS服务器在客户端自动挂载目录和服务端目录相对应

1.首先在服务端建立目录并查看,如下所示:

2.在客户端编辑文件,如下所示:


3.重启自动挂载服务,并测试,发现进入/mnt/haha1目录下查看挂载,挂载即为/mnt/haha1,进入/mnt/haha2目录下查看挂载,挂载即为/mnt/haha2,如下所示:

Linux下的NFS网络文件系统相关推荐

  1. Linux 下搭建NFS网络服务器 Win7 下访问挂载

    1. Ubuntu 安装 NFS 服务. apt-get install nfs-kernel-server 2. 修改 NFS 配置文件 #vi /etc/exports 在最后一行添加: /srv ...

  2. 如何在ubuntu 14.04系统下开启nfs网络文件系统

    之前安装过ubuntu 11.04和ubuntu 12.04的系统时,分别研究过如何开启NFS网络文件系统.今天将系统更新到了ubuntu 14.04,发现之前的办法都不行了,有些步骤得更新一下,于是 ...

  3. 如何在ubuntu 12.04系统下开启nfs网络文件系统

    之前装ubuntu 11.04的时候,曾经把nfs搞定过了.但是现在换成了ubuntu 12.04,那么就得重新来过一次了. 1.首先得安装nfs: #sudo apt-get install nfs ...

  4. linux通过网关挂在nfs,NFS 网络文件系统挂载在A8板子上

    我承认自己是菜鸟,没什么网络知识就来搞挂载nfs网络文件系统,花费了5天的时间才把nfs网络文件系统成功挂载在A8板子上,实现了A8板子和虚拟机的文件共享.分享一下个人经验: 以下是基于nfs已经完成 ...

  5. 嵌入式成长轨迹33 【嵌入式学习阶段】【ARM环境调试】【在虚拟机下Ubuntu建立NFS网络文件系统】...

    更新版 http://www.cnblogs.com/zeedmood/archive/2012/12/08/2808376.html (以防参考资料链接无效,将所有参考文章都附后了,所以非常长;实际 ...

  6. Linux运维系列总结-Linux系统启动过程、WEB工作原理、DHCP工作原理、DNS解析原理、NFS网络文件系统、FTP文件传输协议、PXE+KICKSTART自动安装系统

    Linux运维系列总结-Linux系统启动过程.WEB工作原理.DHCP工作原理.DNS解析原理.NFS网络文件系统.FTP文件传输协议.PXE+KICKSTART自动安装系统 1.Linux系统的启 ...

  7. 嵌入式成长轨迹61 【智能家居项目】【ARM 飞凌ok6410】【在虚拟机Ubuntu下NFS网络文件系统建立】...

    推荐阅读顺序: 基本环境搭建: [配置]在虚拟机Ubuntu下NFS网络文件系统建立 <ok6410 Qt移植百科全书> [配置]QT&QWT&sqlite3安装配置 这中 ...

  8. Linux 下的NFS server 架设基础及方法

    Linux 下的NFS server 架设基础及方法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office: ...

  9. NFS 网络文件系统

    CentOS下搭建NFS和windows挂载 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资 ...

最新文章

  1. Java基础学习三:循环结构的使用
  2. Oracle体系结构之密码文件管理
  3. 手机自动化测试:appium源码分析之bootstrap六 (下)
  4. 动图与数据同步关系研究
  5. 一次性定时事件的处理
  6. Eclipse Neon安装指导
  7. Linux系统下***软件大荟萃
  8. php 常用简单函数,PHP中常用函数简单介绍
  9. 字符串表达式求值 C#实现
  10. 一些简单的链表算法一
  11. ListView实现多种item布局的方法和注意事项
  12. html5 动态3d箭头,HTML5旋转的3D镐 | 箭头
  13. 阿里云 OSS 如何设置防盗链, 上个月图床流量耗费50G+,请求次数10W+,什么鬼?
  14. HDU2098 分拆素数和【筛选法】
  15. Docker 日常指令
  16. RGB图像转到HSI图像
  17. 点击场景中的物件无法定位到Hierarchy
  18. 鲍威尔法源程序码matlab,十一、Powell算法(鲍威尔算法)原理以及实现
  19. VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题
  20. Ubuntu安装翻译软件(goldendcit)

热门文章

  1. 2015年4月7号的日志
  2. skinmagic对VC中程序窗口的换肤
  3. linux下用脚本语言开发自动重启程序
  4. python编程(最简单的rpc代码)
  5. oracle 下和 db2的syscat 对应的,oracle db2命令对比(整理中)
  6. logback日志pattern_003、Spring Boot使用slf4j进行日志记录
  7. python刷b站教程_【Python】【学习资源】B站上的Python学习资源
  8. linux 将当前时间往后调整2分钟_【转】修改LINUX时间
  9. python tornado高并发_tornado IO并发真的很高么?
  10. Python基础(使用print()函数输出格式化字符串)