分布式文件系统(DFS)浅析
文章目录
- 简介
- 如何评价分布式文件系统
- 系统分类
- NFS介绍
- 定义
- 设计目标
- VFS操作
简介
在信息爆炸时代,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,在容量大小、容量增长速度、数据备份、数据安全等方面的表现都差强人意。
分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。
如何评价分布式文件系统
文件系统最初设计时,仅仅是为局域网内的本地数据服务的。而分布式文件系统将服务范围扩展到了整个网络。不仅改变了数据的存储和管理方式,也拥有了本地文件系统所无法具备的数据备份、数据安全等优点。
判断一个分布式文件系统是否优秀,取决于以下三个因素:
1. 数据的存储方式
例如有1000万个数据文件,可以在一个节点存储全部数据文件,在其他N个节点上每个节点存储1000万/N个数据文件作为备份;或者平均分配到N个节点上存储,每个节点上存储1000万/N个数据文件。
无论采取何种存储方式,目的都是为了保证数据的存储安全和方便获取。
2. 数据的读取速率
包括响应用户读取数据文件的请求、定位数据文件所在的节点、读取实际硬盘中数据文件的时间、不同节点间的数据传输时间以及一部分处理器的处理时间等。各种因素决定了分布式文件系统的用户体验。
简单来说,分布式文件系统中数据的读取速率不能与本地文件系统中数据的读取速率相差太大,否则在本地文件系统中打开一个文件需要2秒,而在分布式文件系统中各种因素的影响下用时超过10秒,就会严重影响用户的使用体验。
3. 数据的安全机制
由于数据分散在各个节点中,必须要采取冗余、备份、镜像等方式保证节点出现故障的情况下,能够进行数据的恢复,确保数据安全。
系统分类
网络文件系统
(NFS) 最早由Sun微系统公司作为TCP/IP网上的文件共享系统开发。Sun公司估计大约有超过310万个系统在运行NFS,大到大型计算机、小至PC机,其中至少有80%的系统是非Sun平台。
Andrew系统
(AFS) 结构与NFS相似,由卡内基·梅隆大学信息技术中心(ITC)开发、现由前ITC职员组成的Transarc公司负责开发和销售。AFS较NFS有所增强。
DFS系统
(DFS) 是AFS的一个版本,作为开放软件基金会(OSF)的分布式计算环境(DCE)中的文件系统部分。
如果文件的访问仅限于一个用户,那么分布式文件系统就很容易实现。可惜的是,在许多网络环境中这种限制是不现实的,必须采取并发控制来实现文件的多用户访问,表现为如下几个形式:
- 只读共享:任何客户机只能访问文件,而不能修改它。
- 受控写操作:采用这种方法,可有多个用户打开一个文件,但只有一个用户进行写修改。而该用户所作的修改并不一定出现在其它已打开此文件的用户的屏幕上。
- 并发写操作:这种方法允许多个用户同时读写一个文件。但这需要操作系统作大量的监控工作以防止文件重写,并保证用户能够看到最新信息。这种方法即使实现得很好,许多环境中的处理要求和网络通信量也可能使它变得不可接受。
DFS为文件系统提供了单个访问点和一个逻辑树结构,通过DFS,可以将同一网络中的不同计算机上的共享文件夹组织起来,形成一个单独的、逻辑的、层次式的共享文件系统。
DFS是一个树状结构,包含一个根目录和一个或多个DFS链接。要建立DFS共享,必须首先建立DFS根,然后在每一个DFS根下,创建一个或多个DFS链接,每一个链接可以指向网络中的一个共享文件夹。
NFS和AFS的区别
NFS和AFS的区别在于对并发写操作的处理方法上。当一个客户机向服务器请求一个文件(或数据库记录),文件被放在客户工作站的高速缓存中,若另一个用户也请求同一文件,则它也会被放入那个客户工作站的高速缓存中。当两个客户都对文件进行修改时,从技术上而言就存在着该文件的三个版本(每个客户机一个,再加上服务器上的一个)。
有两种方法可以在这些版本之间保持同步:
- 无状态系统 :在这个系统中,服务器并不保存其客户机正在缓存的文件的信息。因此,客户机必须协同服务器定期检查是否有其他客户改变了自己正在缓存的文件。这种方法在大的环境中会产生额外的LAN通信开销,但对小型LAN来说,这是一种令人满意的方法。NFS就是个无状态系统。
- 回呼(Callback)系统: 在这种方法中,服务器记录它的那些客户机的所作所为,并保留它们正在缓存的文件信息。服务器在一个客户机改变了一个文件时使用一种叫回叫应答的技术通知其它客户机。这种方法减少了大量网络通信。AFS(及OSF的DCE其中的DFS)就是回叫系统。客户机改变文件时,持有这些文件拷贝的其它客户机就被回叫并通知这些改变。
无状态操作在运行性能上有其长处,但AFS通过保证不会被回叫应答充斥也可以提升其运行性能。方法是在一定时间后取消回叫。客户机检查回叫应答中的时间期限以保证回叫应答是当前有效的。回叫应答的另一个有趣的特征是向用户保证了文件的当前有效性。换句话说,若一个被缓存的文件有一个回叫应答,则客户机就认为文件是当前有效的,除非服务器呼叫指出服务器上的该文件已改变了。
NFS介绍
定义
(NFS)(Network File System)是个分布式的客户机/服务器文件系统。NFS的实质在于用户间计算机的共享。用户可以联结到共享计算机并像访问本地硬盘一样访问共享计算机上的文件。管理员可以建立远程系统上文件的访问,以至于用户感觉不到他们是在访问远程文件,是在类Unix系统间实现磁盘文件共享的一种方法。
NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限;
idmapd:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,rpcbind会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
使用NFS 挂载(mount)了之后,客户端访问远程文件就像访问本地文件一样。
设计目标
允许用户象访问本地文件一样访问其他系统上的文件。提供对无盘工作站的支持以降低网络开销。
简化应用程序对远程文件的访问使得不需要因访问这些文件而调用特殊的过程。
使用一次一个服务请求以使系统能从已崩溃的服务器或工作站上恢复。
采用安全措施保护文件免遭偷窃与破坏。
保持NFS协议可移植性和简单性,以便它们能在许多不同计算机上实现,包括低档的PC机。
大型计算机、小型计算机和文件服务器运行NFS时,都为多个用户提供了一个文件存储区。工作站需要运行TCP/IP协议来访问这些系统和位于NFS存储区内的文件。对DOS用户,一个远程NFS文件存储区看起来是另一个磁盘驱动器盘符。对Macintosh用户,远程NFS文件存储区就是一个图标。
VFS操作
NFS的一个重要组成是虚拟文件系统(VFS),它是应用程序与低层文件系统间的接口。
具体操作有:
close文件关闭操作
create 文件生成操作
fsync 将改变保存到文件中
getattr 取文件属性
link 用另一个名字访问一个文件
lookup 读目录项
mkdir 建立新目录
open 文件打开操作
rdwr 文件读写操作
remove 删除一个文件
rename 文件改名
rmdir 删除一目录
setattr 设置文件属性
分布式文件系统(DFS)浅析相关推荐
- windows server 2012 分布式文件系统DFS介绍
在上一篇文章server 2012网络负载均衡NLB介绍的文章中,我们当时做实验的时候为了能够把效果表现出来,所以NLB2和NLB3两台机器上装IIS的index.htm文件我们分别创建了不同的两个文 ...
- dfs根目录_分布式文件系统DFS详细解读
使用分布式文件系统DFS可以轻松定位和管理网络中的共享资源.使用统一的命名路径完成对所需资源院的访问.提供可靠的负载平衡.与FRS(文件复制服务)联合在多台服务器之间提供冗余.与windows权限集成 ...
- 2003dfs分布式文件服务器,win2003分布式文件系统(dfs)配置方法[图文详解]
在网络中,共享文件的物理位置是分散分布的,用户要询问对方的共享路径才能清楚地获得共享资源.如果想看到某局域网全部的共享文件,则需要询问每一个人,这样的操作太不方便了. 根据管理员的需求,可以使用win ...
- dfs根目录_win2003分布式文件系统(dfs)配置方法[图文详解]
在网络中,共享文件的物理位置是分散分布的,用户要询问对方的共享路径才能清楚地获得共享资源.如果想看到某局域网全部的共享文件,则需要询问每一个人,这样的操作太不方便了. 根据管理员的需求,可以使用win ...
- DFS分布式文件系统--管理篇
DFS分布式文件系统--管理篇 参考文档: 浅谈DFS分布式文件系统 DFS 命名空间 和 DFS 复制概述 续DFS分布式文件系统--基础篇 DFS分布式文件系统--部署篇 添加命名空间服务器 (添 ...
- dfs文件服务器高可用,文件服务器之DFS(分布式文件系统)高可用性
文件服务器是一项很重要的应用,可以做到资源的合理共享. 分布式文件系统(DFS,Distributed File System)是文件服务非常重要的一个功能, DFS使用户更加容易访问和管理物理上跨网 ...
- hadoop与mysql的区别_数据库与hadoop与分布式文件系统的区别和联系
转载一篇关系数据库与Hadoop的关系的文章 1. 用向外扩展代替向上扩展 扩展商用关系型数据库的代价是非常昂贵的.它们的设计更容易向上扩展.要运行一个更大 的数据库,就需要买一个更大的机器.事实上, ...
- 分布式文件系统及其部署
原文地址为: 分布式文件系统及其部署 DFS介绍 使用分布式文件系统可以轻松定位和管理网络中的共享资源.使用统一的命名路径完成对所需资源院的访问.提供可靠的负载平衡.与FRS(文件复制服务)联合在多台 ...
- SpringCloud微服务架构实战库存管理与分布式文件系统
库存管理与分布式文件系统 在电商平台的库存管理系统设计中,将涉及商品和本地图库的管理,这里我们将使用另一种数据开发框架 MyBatis进行数据库访问方面的设计,还将实现与分布式文件系统的对接使用. 本 ...
- GlusterFS如何解决分布式文件系统的难题?
大数据/Java/Linux从零开始技术训练: 大数据技术训练舱:从零开始部署Hadoop3高可用集群(基于CentOS7) 大数据技术训练舱--从零开始安装.配置CentOS 7 很多人容易将分布式 ...
最新文章
- 省市县三级级联(模块化开发)
- java.util.concurrent.Callable 接口 源码
- linux中html的图片显示不出来,如何在HTML中显示原始的rgb图像
- SP-1. 五月学习计划(study plan)
- (转)Symbian启动J2ME程序
- 20155335俞昆 2017-2018-1 《信息安全系统设计》第9周学习总结
- 一个好的MIS系统应该考虑哪些内容
- spring源码分析之spring-core-env
- Matlab | Matlab从入门到放弃(14)——基于Matlab的多变量数据分析
- hadoop/hbase/hive单机扩增slave
- 前端优化 - 提高 Web 性能的 9 个技巧
- 相克军oracle dba视频,相克军 Oracle DBA培训视频教程
- 持久层框架 -Xxmm.Net
- java连接mysql数据库实现图书馆管理系统
- 倒计时1天,IMG、完美、腾讯技术大咖相聚直播间详解光线追踪技术
- selenium中键盘操作:Keys类
- 远程控制计算机显示为什么不能满屏,win7系统连接远程桌面却不能全屏显示的解决方法...
- 苹果8wifi找不到服务器,教大家遇到苹果手机iPhone11搜不到无线网怎么解决
- 「 C++ MFC 」“读取.txt文档实例”讲解
- 抖音数据化运营可以分为4个大的模块
热门文章
- 使用Dockerfile集成python3 docker基础镜像
- HTML5七夕情人节表白网页制作【唯美3D相册】HTML+CSS+JavaScript
- 卡西欧科学计算机使用方法,卡西欧计算器使用说明
- 浅谈JAVA中Calendar类FirstDayOfWeek的问题
- js常用工具类(1)
- java计算机毕业设计房屋租赁系统源码+数据库+系统+lw文档+部署
- UNI-APP,动态设置view的背景图片
- ttl接地是高电平还是低电平_说明图3.12中各门电路的输出是高电平还是低电平。已知它们都是74HC系列的CMOS电路 简单的逻辑门电路 判断各门电路...
- 地震勘探原理(五)之地震勘探的野外工作
- 地震响应分析中土体动力本构模型