1. 简介
NFS, 就是network file system的简称。
可以通过NFS, 来共享不同主机的文件、目录。 2010年,NFS已经发展到v4.1版本。 2. 应用场景
在中小型企业中,NFS使用很广泛。
用来存储共享视频、图片等资源。 大型企业常常使用MFS, CTFS, TFS等等分布式文件系统。 在中小企业的应用场景:
在集群中的使用。 3. NFS基本架构
NFS服务器,任意多个客户端 4. 企业集群中,为什么要使用“数据共享"
如果不使用数据共享,数据就存储在不同的服务器中。 NFS在中小企业中,可以很方便的实现数据共享。 5. NFS和RPC
NFS服务中,包含多个子功能。
每个子功能,就是一个进程。
而每个进程,就要使用1个“端口号”
补充:为什么要使用端口号?
端口号“相当与”总机的分机号 NFS服务,要使用多个端口号
而且,这些端口号是动态分配的。
而客户端连接服务器,必须知道对应的端口号! 如何解决这个问题?
使用RPC服务 RPC服务
RPC, 是1个“中介” 补充:
查看当前主机名
# hostname 搭建NFS服务
1. 安装NFS服务
1) nfs服务需要安装什么软件?
(1)nfs-utils
NFS服务主程序
(2) 对于CentOS5.x版本(或Redhat5.x版本),就需要安装 portmap
对于centOS6.x版本 (后Redhat6.x版本),就需要安装 rpcbind 补充:查看CentOS的版本号,
cat /etc/redhat-release 补充:在NFS服务器中,安装NFS服务,以及RPC服务
在客户端,只需要安装RPC服务 2) 查看是否已经安装了这些软件
# rpm -aq nfs-utils portmap rpcbind
检查当前系统是否已经安装所指定的软件
如果已经安装,就会显示已经安装的包,比如:
nfs-utils-1.2.3-39.el6.x86_64
rpcbind-0.2.0-11.el6.x86_64 3)如果没有安装,就安装
方法1:
# yum install nfs-utils rpcbind -y
补充: -y表示在安装过程中,就不许要在输入确认。 方法2:
使用"组包“安装
yum groupinstall "NFS file server" -y 安装后,检查是否已经安装成功。
rpm -aq nfs-utils portmap rpcbind 2. 启动RPC服务
可以先检查RPC服务是否已经启动。
/etc/init.d/rpcbind status
补充:建议把终端设置为英文。
# LANG=en 没有没有启动,就启动:
/etc/init.d/rpcbind start 启动后,检查是否已经启动成功
/etc/init.d/rpcbind status 补充:需要在服务器和客户端都启动RPC服务。 补充:RPC服务启动后,就可以查看已经注册了哪些端口
# rpcinfo -p localhost
注意,111端口是rpc服务自己使用的端口 3. 启动NFS服务
1)检查NFS服务是否已经启动
# /etc/init.d/nfs status
2) 启动NFS服务
# /etc/init.d/nfs start
3)再检查NFS服务是否已经启动
/etc/init.d/nfs start 补充:可以检查nfs的端口号是否已经注册
# rpcinfo -p localhost | grep nfs 4. 设置NFS和RPC服务为“开机自动启动”
# chkconfig nfs on
# chkconfig rpcbind on 5. 配置NFS服务
就是配置服务器的哪个目录可以共享
以及谁可以共享
共享的权限 修改/etc/exports (NFS的主配置文件)
例如:
/data 192.168.0.0/24(rw,sync) 第1列,是服务器共享的目录
第2列 表示哪些客户端可以使用这个NFS服务,以及权限。
IP地址的最后1位为0,就表示指定的网段都可以使用该NFS服务
/24表示子网掩码是最前面的24位(即255.255.255.0) rw, 表示可读可写
sync,同步,服务器把数据写入磁盘完成之后,客户端的操作才结束。
async,异步,服务器把数据写入缓存之后,客户端的操作就结束。 6. 重启NFS服务(以使配置生效)
/etc/init.d/nfs reload
注意:使用reload,“平滑重启” 重启服务后,检查配置是否生效
1)先在服务器端检查
# showmount -e localhost
该命令就是检查nfs服务的输出清单。
如果检查失败,那就说明服务器端的配置失败了,需要检查配置文件。 2)在客户端检查服务器端的配置
# showmount -e 192.168.0.
如果检查失败,就
1)首先用ping检查网络是否连通
2) 然后检查防火墙 7. 挂载
在客户端,使用mount命令。 例如:
mount -t nfs 192.168.0.143:/data /mnt
说明:
192.168.0.143表示服务器的ip地址
/data表示服务器的nfs配置的共享目录
/mnt表示把指定的服务器的共享目录”挂”到/mnt目录下! 8. 开机自动挂载
/etc/rc.local 该文件在系统启动后将自动运行。 # echo "mount -t nfs 192.168.0.143:/root/Desktop/note /note" >> /etc/rc.local 9. 卸载
umount 挂载点
比如: umount /note 10. NFS服务的功能组件
NFS服务,包含很多子功能,
每个子功能,由1个进程实现。 可如下方式查看:
# ps -ef | grep -E "rpc|nfs"
ps -ef表示查看当前系统运行的所有进程。
| 是管道,表示把前面一条命令的输出作为后面命令的输入。
grep -E 按照“正则表达式”来查找。
"rpc|nfs"表示查找 rpc或者nfs rpcbind 就是rpc服务
rpc.rquotad : 用于磁盘配额
nfsd nfs服务的主进程。
rpc.mountd 权限管理进程。
1) 先检查客服端对该共享目录的权限(由/etc/exports指定)
2)再检查服务器的这个共享目录在本地的权限。
rpc.statd 用来检查文件的一致性 11. NFS的配置文件、常用命令
1) /etc/exports 2) /usr/sbin/exportfs
NFS服务的管理命令 exportfs -rv 等效于:
/etc/init.d/nfs reload 3) showmount
该命令就是检查nfs服务的输出清单。 4) NFS的默认配置
/var/lib/nfs/etab 5) NFS配置文件中的参数
rw 可读写
ro 只读
sync 同步
async 异步 客户端访问 NFS共享目录时的权限: 1. root_squash, 把root用户映射为匿名用户(anonymous)
2. no_root_squash , root用户连接进来时,仍具有root权限
一般用在无盘工作站 3. all_squash
把所有用户都映射为匿名用户
一般用于共用目录。 4. anonuid=xxx
anongid=xxx
指定NFS服务器的/etc/passwd晚间中匿名用户的uid 5. no_all_squash
不映射,保留共享目录的uid和gid

  

NFS网络文件系统搭建的更多相关文章

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

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

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

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

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

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

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

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

  5. NFS 网络文件系统挂载在A8板子上

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

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

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

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

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

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

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

  9. Centos6.6 安装nfs网络文件系统

    一.介绍 nfs网络文件系统的,大部分用在内网文件共享,比如,对集群上传文件做共享,经常用在图片部分,当然数据量大了还是要做分离,做为专门的接口比较好,介绍一下基本安装环境: 1)Cnetos6.6 ...

随机推荐

  1. 渗透测试中为什么https抓包是明文传输?

    网站用的是https抓包是明文传输,为什么能看到https报文的明文? https其实就是 http + SSL/TLS 两种协议的合体.http协议是应用层协议,而SSL/TLS是传输层协议. 那问 ...

  2. HCIE笔记-第十节-静态路由

    协议 :标识 前方的目的网络 是通过什么协议形成的 优先级:代表形成路由的协议的优先级数值 [厂商规定] 开销值:代表该路由协议形成此路由时的开销 -- 不同的协议计算开销值的方式有区别(越小越优) ...

  3. 初踩坑JS加载与audio接口:点击头像开始/暂停背景音乐

    背景 封楼期间难得空闲,也静不下心学习,空闲之余萌生了重做引导单页的想法.因为之前都是扒站(某大公司游戏官网)+小改,一来虽然很炫酷,但本人水平有限,仍有很大一部分JS无从下手,甚至是看不懂|-_-| ...

  4. 苞米面 C++ 模板库 介绍

    苞米面 C++ 模板库 简介 苞米面 C++ 模板库,无需编译,直接包含头文件就可以. 所有模板类和算法都包含在 bmm 名字空间里,例如: bmm::recent. 需要 C++ 编译器,支持 C+ ...

  5. C++中 指针的指针是什么?指针的引用又是什么?你可能需要看看这篇文章

    关于变量的定义 我们都知道变量的定义包括一个基本数据类型(base type)和一组声明符,在同一条定义语句中,输入基本数据类型不同,但是声明符的形式却可以不同. //如:i是一个int的整数,a是一 ...

  6. HCNP Routing&Switching之代理ARP

    前文我们了解了端口隔离相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16186451.html:今天我们来聊一聊ARP代理相关话题: 端口隔离之破解之 ...

  7. XCTF练习题---CRYPTO---告诉你个秘密

    XCTF练习题---CRYPTO---告诉你个秘密 flag:TONGYUAN 步骤解读: 1.观察题目,下载附件 2.打开附件,内容好像有点像十六进制,先进行一下十六进制转换,得到一串字符 网址:h ...

  8. 【架构视角】一篇文章带你彻底吃透Spring

    框架的意义 对于程序员来说,我们通常知道很多概念,例如组件.模块.系统.框架.架构等,而本文我们重点说 框架. 框架,本质上是一些实用经验集合.即是前辈们在实际开发过程中积攒下来的实战经验,累积成一套 ...

  9. Python技法:用re模块实现简易tokenizer

    一个简单的tokenizer 分词(tokenization)任务是Python字符串处理中最为常见任务了.我们这里讲解用正则表达式构建简单的表达式分词器(tokenizer),它能够将表达式字符串从 ...

  10. 抽象数据类型(ADT)

    抽象数据类型(Abstract Data Type,ADT)是指一个数学模型以及定义在这个模型上的一组操作.抽象数据类型的定义仅仅取决于它的一组逻辑特性,而与它在计算机中的表示和实现无关. 例如,in ...