linux初学者-NFS网络文件系统篇
在上一篇的SAMBA篇中介绍了linux系统和windows系统之间共用的网络文件系统CIFS,主要用于客户端是windows的情况。在linux系统之间,所用的网络文件系统是NFS。下文将对NFS的一些配置及用法进行介绍。
1、NFS的安装以及配置
"yum install nfs-utils -y"。安装NFS服务,"systemctl start nfs"、"systemctl enable nfs-server",开启服务且设置开机自动启动。"systemctl stop firewalld",关闭防火墙或者配置防火墙。
"vim /etc/exports"。这是编写共享目录的文件,这个文件是空的,需要自己填写。如下图所示,建立一个共享目录"/sharedir",在里面建立三个文件"sharefile{1..3}",在"/etc/exports"文件中写入"/sharedir *(sync)",表示共享"/sharedir","*"表示,所有主及均可使用,(sync)是共享权限为文件同步。保存退出后输入"exportfs -rv"刷新,建议不要重启服务,因为重启速度比较慢。
"showmount -e IP"。可以查看这个IP是否有共享文件,例如输入"showmount -e 172.25.254.202"就可以看到上述设置的共享目录"/sharedir"。
"mount 172.25.254.202/sharedir /mnt"。与CIFS网络文件系统不同,NFS不能通过登陆来查看共享内容,只能进行挂载。
2、权限及文件所有人
在配置文件"vim /etc/exports",可以设置某个或者某些主机可以进行共享目录挂载,如下图所示,输入"/sharedir 172.25.254.2(sync)"表示只有"172.25.254.2"这台主机可以进行挂载。
配置文件中输入"sync"代表文件同步,还可以输入"rw"代表开启读写权限,"ro"表示只读。更多的权限设置可以通过"man 5 exports"查看。
如下图所示,在挂载了共享目录后,在其中建立一个文件"file1",这个文件的所有人是"nfsnobody",这是NFS的匿名用户。
可以对配置文件做以下设置来改变建立文件的所有人:
a、将文件的所有人改为root。
在配置文件中的权限内输入"no_root_squash",如下图所示,挂载后建立一个文件"file2",可以看到,文件"file2"的所有人和所有组都为root。
b、指定文件的所有人和所有组
在配置文件中的权限内输入"anonuid=xxxx,anongid=xxxx",列入输入"anonuid=1000,anongid=1001"。刷新后挂载,建立文件"file4",在客户端可以看到,文件的所有人为"1000",所有组为"kiosk",因为kiosk用户组的gid为1001。在服务端可以看到文件的所有人为"uid=1000"的student用户,所有组为"gid=1001"的class组。
3、客户端的自动挂载和自动取消
挂载一般是需要手动挂载和取消挂载的,在使用完后需要取消挂载,这无疑增加了操作的复杂程度,如果忘记取消挂载也会占用系统资源,带来麻烦。如果可以自动挂载和取消就可以避免这个问题了。
在客户端装载软件可以实现这个功能。"yum install autofs",在客户端安装autofs软件可以实现共享目录的自动挂载和自动取消挂载。
"systemctl start autofs",开启这个服务后,会自动生成一个"/net"目录,"cd /net/172.25.254.202"可以直接看到共享目录。而且也可以看到自动挂载在了这个目录"/net"下。
"vim /etc/sysconfig/autofs"。第15行的"timeout"后面的值表示自动取消挂载的时间,如下图所示,将其设置为"3",则表示退出这个目录3秒后自动取消挂载。
4、客户端的指定挂载目录
客户端的自动挂载不仅仅可以挂载在"/net"下,也可以自己设置目录挂载点。
例如欲将共享目录"/sharedir"挂载在客户端的"/nfs/sharedir"目录下。先建立一"/nfs"目录,在配置文件"/etc/auto.master"中编辑"/nfs /etc/auto.nfs",如下图所示,"/nfs"目标挂载点的上级目录,"/etc/auto.nfs"为记录配置共享目录目标挂载点文件。
"vim /etc/auto.nfs"。在这个文件中写入"sharedir 172.25.254.202:/sharedir"。这是配置共享目录目标挂载点。重启服务后进入"/nfs/sharedir"就可以自动挂载了,离开这个目录3秒之后会自动取消挂载。
5、存储分离
存储分离是将共享目录挂载在客户端上,将文件存储在共享目录中,这样如果客户端的主机出现问题,也不会导致数据丢失。
例如将共享目录挂载在客户端的student用户家目录下,那么student用户登陆时,会自动挂载这个共享目录,且student用户所储存的文件会存在这个共享目录下,退出student用户时也可以看到这些文件。具体做法为:
在服务端建立一个"/sharedir/student"的共享目录。在配置文件"/etc/exports"中编辑"/sharedir/student 172.25.254.0/24(rw,anonuid=1000,anongid=1000)"。将这个目录共享出去。
在客户端编辑"/etc/auto.master",在其中编辑"/home /etc/auto.home"。
"vim /etc/auto.home"。编辑"student 172.25.254.202:/sharedir/student"。也可以编辑"* 172.25.254.202:/sharedir/&","*"代表任意共享目录,"&"代表与"*"匹配的目录,用于共享目录下有许多目录时使用。
重启服务后,切换到student用户,则自动挂载到家目录下,建立"file{1..5}"5个文件,退出后3秒自动取消挂载,在服务端的共享目录里就可以看到这5个文件。
linux初学者-NFS网络文件系统篇的更多相关文章
- linux初学者-CIFS网络文件系统篇
linux初学者-CIFS网络文件系统篇 CIFS是一种通用网络文件系统,主要用于网络设备之间的文件共享.CIFS可以在linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是 ...
- Linux系统NFS网络文件系统
Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...
- Linux系统——NFS网络文件系统
在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源文件,通常网站用户上传的文件都会放到NFS共享里,然后前端所有的节点访问这些静态资源时都会读取NFS存储上的资 ...
- Linux之NFS网络文件系统
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络资源共享.在NFS的应用中,本地NFS的客户端应用可 ...
- tiny4412 linux+qtopia nfs网络文件系统的挂载
1,首先确定uboot启动内核的bootargs参数 Linux-CommandLine = root=/dev/nfs nfsroot=192.168.1.131:/home/tiny4412/ro ...
- Linux基础学习-NFS网络文件系统实时文件共享
NFS网络文件系统 如果大家觉得Samba服务程序的配置太麻烦了,那么你共享文件的主机都是Linux系统,那么推荐大家在客户端部署nfs服务来共享文件.nfs(网络文件系统)服务可以将远程Linux系 ...
- NFS 网络文件系统挂载在A8板子上
我承认自己是菜鸟,没什么网络知识就来搞挂载nfs网络文件系统,花费了5天的时间才把nfs网络文件系统成功挂载在A8板子上,实现了A8板子和虚拟机的文件共享.分享一下个人经验: 以下是基于nfs已经完成 ...
- [学习嵌入式开发板]iTOP-4412实现NFS网络文件系统
本文转自迅为:http://www.topeetboard.com 学习平台:iTOP-4412开发板 本文讲解如何在 iTOP-4412 开发板上实现 NFS 网络文件系统. 我们使用的软硬件环境是 ...
- linux初学者-普通磁盘分区篇
linux初学者-普通磁盘分区篇 磁盘是计算机的重要组成部分,是记录数据的场所.在使用磁盘时,经常需要对其进行分区来实现不同的用途.下文将介绍在linux系统中普通磁盘分区的方法. "fdi ...
随机推荐
- java-mysql(3) 读写image
在mysql里面用来存储图片有一个特殊的数据对象叫做 Blob(Binary Large Object). 数据库里面插入一张图片: 第一步:需要为图片创建一个文件对象 File img = new ...
- js获取radio选中索引值
<form name="form1" onsubmit="return foo()"> <input type="radio&quo ...
- C盘内存杀手:IDEA缓存文件!
软件虽然装在D盘,C盘仍然还有一个文件夹 里面有两个文件夹: config 目录是 IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录.也是我个人认为最重要的目录,没有之一, ...
- RocketMQ 可视化环境搭建和基础代码使用
RocketMQ 是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在 2016 年底捐赠给 Apache 开源基金会成为孵化项目,经过不 ...
- Element-ui安装之MessageBox详解
1.首先根据官方文档进行Element-ui的安装,这个过程很简单(通过webpack-simple) 1) vue init webpack-simple element-ui 2) cd elem ...
- 2018.7.16 题解 2018暑假集训之Roads-roads
题面描述 有标号为1--n的城市与单行道相连.对于每条道路有两个与之相关的参数:道路的长度以及需要支付的费用(用硬币的数量表示) 鲍勃和爱丽丝曾经生活在城市1.在注意到爱丽丝在他们喜欢玩的卡牌游戏中作 ...
- HDU 1724:Ellipse(自适应辛普森积分)
题目链接 题意 给出一个椭圆,问一个[l, r] 区间(蓝色区域)的面积是多少. 思路 自适应辛普森积分 具体一些分析如上. 很方便,套上公式就可以用了. 注意 eps 的取值影响了跑的时间,因为决定 ...
- 玩转SpringBoot之整合Mybatis拦截器对数据库水平分表
利用Mybatis拦截器对数据库水平分表 需求描述 当数据量比较多时,放在一个表中的时候会影响查询效率:或者数据的时效性只是当月有效的时候:这时我们就会涉及到数据库的分表操作了.当然,你也可以使用比较 ...
- c++学习书籍推荐《面向对象程序设计:C++语言描述(原书第2版)》下载
百度云及其他网盘下载地址:点我 <面向对象程序设计:C++语言描述(原书第2版)>内容丰富,结构合理,写作风格严谨,深刻地论述了c++语言的面向对象编程的各种技术,主要内容包括:面向对象编 ...
- C语言学习书籍推荐《学习使用C指针(影印版)(英文本)》下载
<学习使用C指针(影印版)(英文本)>作者通过<学习使用C指针(影印版)(英文本)>中的内存模型为你展示了如何在数组.字符串.结构和函数中使用指针.虽然难以掌握,但是指针为C语 ...