Linux下的NFS网络文件系统
一、NFS概述
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
二、NFS的组成
一台NFS服务器和若干台客户机,客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。在NFS服务器正式启用前,需要根据实际环境和需求,配置一些NFS参数。
NFS是运行在应用层的协议。随着NFS多年的发展和改进,NFS既可以用于局域网也可以用于广域网,且与操作系统和硬件无关,可以在不同的计算机或系统上运行。
三、NFS 应用
- 多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜跟方便。
- 在大型网络中,配置一台中心 NFS 服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。
- 不同客户端可在NFS上观看影视文件,节省本地空间。
- 在客户端完成的工作数据,可以备份保存到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.卸载挂载并查看,发现卸载成功,如下所示:
注意:
exportfs若果修改了/etc/exports文件后不需要重新激活NFS,只需要重新扫描一次/etc/exports文件,并重新将设定加载即可
当挂载成功后,本地/mnt下如果有数据,则原有的数据都不可见,用户看到的是远程主机172.25.254.212上面的/mnt目录文件列表
exportfs命令常用参数说明:
-a 全部挂载/etc/exports文件中的设置 -r 重新挂载/etc/exports中的设置 -u 卸载某一目录 -v 在export时将共享的目录显示在屏幕上 showmount命令常用参数说明:
-a 列出NFS服务共享的完整目录信息 -d 仅列出客户机远程安装的目录 -e 显示导出目录的列表 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查看有挂载,当不用时相当于退出,此时再去查看发现没有挂载,如下所示:
注意:
- 不要df一直查看,因为查看一次就会被读取一次
- 正因为目录能被自动挂载的原因是因为,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网络文件系统相关推荐
- Linux 下搭建NFS网络服务器 Win7 下访问挂载
1. Ubuntu 安装 NFS 服务. apt-get install nfs-kernel-server 2. 修改 NFS 配置文件 #vi /etc/exports 在最后一行添加: /srv ...
- 如何在ubuntu 14.04系统下开启nfs网络文件系统
之前安装过ubuntu 11.04和ubuntu 12.04的系统时,分别研究过如何开启NFS网络文件系统.今天将系统更新到了ubuntu 14.04,发现之前的办法都不行了,有些步骤得更新一下,于是 ...
- 如何在ubuntu 12.04系统下开启nfs网络文件系统
之前装ubuntu 11.04的时候,曾经把nfs搞定过了.但是现在换成了ubuntu 12.04,那么就得重新来过一次了. 1.首先得安装nfs: #sudo apt-get install nfs ...
- linux通过网关挂在nfs,NFS 网络文件系统挂载在A8板子上
我承认自己是菜鸟,没什么网络知识就来搞挂载nfs网络文件系统,花费了5天的时间才把nfs网络文件系统成功挂载在A8板子上,实现了A8板子和虚拟机的文件共享.分享一下个人经验: 以下是基于nfs已经完成 ...
- 嵌入式成长轨迹33 【嵌入式学习阶段】【ARM环境调试】【在虚拟机下Ubuntu建立NFS网络文件系统】...
更新版 http://www.cnblogs.com/zeedmood/archive/2012/12/08/2808376.html (以防参考资料链接无效,将所有参考文章都附后了,所以非常长;实际 ...
- Linux运维系列总结-Linux系统启动过程、WEB工作原理、DHCP工作原理、DNS解析原理、NFS网络文件系统、FTP文件传输协议、PXE+KICKSTART自动安装系统
Linux运维系列总结-Linux系统启动过程.WEB工作原理.DHCP工作原理.DNS解析原理.NFS网络文件系统.FTP文件传输协议.PXE+KICKSTART自动安装系统 1.Linux系统的启 ...
- 嵌入式成长轨迹61 【智能家居项目】【ARM 飞凌ok6410】【在虚拟机Ubuntu下NFS网络文件系统建立】...
推荐阅读顺序: 基本环境搭建: [配置]在虚拟机Ubuntu下NFS网络文件系统建立 <ok6410 Qt移植百科全书> [配置]QT&QWT&sqlite3安装配置 这中 ...
- Linux 下的NFS server 架设基础及方法
Linux 下的NFS server 架设基础及方法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office: ...
- NFS 网络文件系统
CentOS下搭建NFS和windows挂载 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资 ...
最新文章
- Java基础学习三:循环结构的使用
- Oracle体系结构之密码文件管理
- 手机自动化测试:appium源码分析之bootstrap六 (下)
- 动图与数据同步关系研究
- 一次性定时事件的处理
- Eclipse Neon安装指导
- Linux系统下***软件大荟萃
- php 常用简单函数,PHP中常用函数简单介绍
- 字符串表达式求值 C#实现
- 一些简单的链表算法一
- ListView实现多种item布局的方法和注意事项
- html5 动态3d箭头,HTML5旋转的3D镐 | 箭头
- 阿里云 OSS 如何设置防盗链, 上个月图床流量耗费50G+,请求次数10W+,什么鬼?
- HDU2098 分拆素数和【筛选法】
- Docker 日常指令
- RGB图像转到HSI图像
- 点击场景中的物件无法定位到Hierarchy
- 鲍威尔法源程序码matlab,十一、Powell算法(鲍威尔算法)原理以及实现
- VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题
- Ubuntu安装翻译软件(goldendcit)
热门文章
- 2015年4月7号的日志
- skinmagic对VC中程序窗口的换肤
- linux下用脚本语言开发自动重启程序
- python编程(最简单的rpc代码)
- oracle 下和 db2的syscat 对应的,oracle db2命令对比(整理中)
- logback日志pattern_003、Spring Boot使用slf4j进行日志记录
- python刷b站教程_【Python】【学习资源】B站上的Python学习资源
- linux 将当前时间往后调整2分钟_【转】修改LINUX时间
- python tornado高并发_tornado IO并发真的很高么?
- Python基础(使用print()函数输出格式化字符串)