您的位置  > 互联网

MBA智库百科:如何有效解决数据的存储和管理难题

分布式文件系统(文件)

目录

[编辑]

什么是分布式文件系统

分布式文件系统是指文件系统管理的物理存储资源不一定直接连接到本地节点,而是通过计算机网络连接到节点。 分布式文件系统的设计基于客户端/服务器模型。 典型的网络可能包括由多个用户访问的多个服务器。 此外,点对点功能允许某些系统扮演客户端和服务器的双重角色。

计算机通过文件系统管理和存储数据。 在信息爆炸的时代,人们可以获得的数据呈指数级增长。 单纯通过增加硬盘数量来扩大计算机文件系统的存储容量,其大小、容量增长速度、数据备份和数据安全等方面的性能并不理想。 分布式文件系统可以有效解决数据存储和管理问题:固定在某个位置的文件系统可以扩展到任意多个位置/多个文件系统,无数的节点组成文件系统网络。 每个节点可以分布在不同的地点,节点之间通过网络进行通信和数据传输。 当人们使用分布式文件系统时,不需要关心数据存储在哪个节点上,或者从哪个节点获取。 他们只需要像使用本地文件系统一样管理和存储文件系统中的数据。

[编辑]

分布式文件系统的决定因素

文件系统最初设计时,仅服务于局域网内的本地数据。 分布式文件系统将服务范围扩展到整个网络。 它不仅改变了数据存储和管理的方式,还具有本地文件系统所不具备的数据备份、数据安全等优势。 判断一个分布式文件系统是否优秀取决于以下三个因素:

1、数据存储方式,例如有1000万个数据文件,可以将所有数据文件存储在一个节点上,其他N个节点上各存储10/N百万个数据文件作为备份; 或者均匀分布到N个节点上存储,每个节点上存储1000/N个数据文件。 无论采用何种存储方式,目的都是保证数据存储的安全性和方便访问。

2、数据读取速率,包括响应用户读取数据文件的请求、定位数据文件所在节点、读取数据文件在实际硬盘中的时间、不同节点之间的数据传输时间等处理器的一部分的处理时间等。 多种因素决定了分布式文件系统的用户体验。 即分布式文件系统中数据的读取速率与本地文件系统中数据的读取速率不能相差太大。 否则,在本地文件系统中打开一个文件需要2秒,而在分布式文件系统的各种因素影响下,如果需要超过10秒,就会严重影响用户体验。

3.数据安全机制。 由于数据分散在各个节点中,必须采用冗余、备份、镜像等方式来保证在节点发生故障时数据能够恢复,保证数据安全。

[编辑]

分布式文件系统分类

网络文件系统

(NFS) 最初由 Sun 开发,作为 TCP/IP 网络上的文件共享系统。 Sun估计有超过310万个系统运行NFS,从大型机到个人电脑,其中至少80%是非Sun平台。

系统

(AFS) 具有与 NFS 类似的结构。 它由卡内基梅隆大学信息技术中心(ITC)开发,现在由前ITC员工组成的公司开发和销售。 与 NFS 相比,AFS 得到了增强。

凯斯系统

KASS File(简称KFS)是Start 自主开发的基于JAVA的纯分布式文件系统。 其功能与DFS、GFS类似。 通过HTTP WEB为企业各类信息系统提供底层文件存储和访问服务,构建企业私有云。 存储服务平台。

分布式文件系统

(DFS) 是 AFS 的一个版本,作为开放软件基金会 (OSF) 分布式计算环境 (DCE) 中文件系统的一部分。

如果对文件的访问仅限于单个用户,则分布式文件系统很容易实现。 不幸的是,这种限制在许多网络环境中是不现实的,必须采用并发控制来实现多用户对文件的访问,其形式如下:

只读共享任何客户端只能访问文件,而不能修改文件,实现简单。

受控写操作使用此方法,以便多个用户可以打开一个文件,但只有一个用户可以写入和修改该文件。 该用户所做的更改不一定会出现在打开该文件的其他用户的屏幕上。

并发写操作允许多个用户同时读写一个文件。 但这需要操作系统做大量的监控工作,以防止文件重写并确保用户可以看到最新的信息。即使这种方法实现得很好,但许多环境下的处理要求和网络流量可能会使其无法接受

NFS 和 AFS 的区别

NFS 和 AFS 之间的区别在于处理并发写入操作的方式。 当客户端向服务器请求文件(或数据库记录)时,该文件被放置在客户端工作站的缓存中。 如果另一个用户也请求相同的文件,则该文件将被放置在该客户端工作站的缓存中。 当两个客户端都对文件进行修改时,从技术上讲,该文件有三个版本(每个客户端一个,加上服务器上一个)。 有两种方法可以在这些版本之间保持同步:

无状态系统 在此系统中,服务器不维护有关其客户端正在缓存的文件的信息。 因此,客户端必须与服务器一起定期检查其他客户端是否更改了它们缓存的文件。 这种方法在大型环境中会产生额外的 LAN 通信开销,但对于小型 LAN 来说是一种令人满意的方法。 NFS 是一个无状态的系统。

() 系统 在此方法中,服务器记录其客户端正在执行的操作并保留有关它们正在缓存的文件的信息。 当客户端更改文件时,服务器使用称为()的技术来通知其他客户端。 这种方法减少了大量的网络流量。 AFS(和DFS)是回调系统。 当客户端更改文件时,持有这些文件副本的其他客户端将被回调并通知更改。

无状态操作在操作性能方面有其优势,但 AFS 还通过确保它不会被回调回复淹没来实现这一点。 方法是一定时间后取消回调。 客户端检查回调响应中的时间段以确保回调响应当前有效。 回调回复的另一个有趣的功能是它向用户保证文件当前有效。 换句话说,如果缓存的文件有回调响应,则客户端假定该文件当前有效,除非服务器调用表明服务器上的文件已更改。

数据软件

Z-数据集市

数据集市是一个数据存储和数据处理软件。

数据集市采用基于ZDFS的分布式列存储系统,将数据分散存储在多个独立设备上。 传统的网络存储系统使用集中式存储服务器来存储所有数据。 存储服务器成为系统性能的瓶颈和可靠性和安全性的焦点,无法满足大规模存储应用的需求。 分布式网络存储系统采用可扩展的系统结构,使用多个存储服务器来分担存储负载,并使用位置服务器来定位存储信息。 不仅提高了系统的可靠性、可用性和访问效率,而且易于扩展。

数据集市的分布式文件存储系统(ZDFS)是在HDFS的基础上进行的改造和扩展,统一管理和存储服务器集群中所有节点上存储的文件。 这些节点包括一个在 ZDFS 内提供元数据服务的节点,以及许多提供存储块的节点。 存储在ZDFS中的文件被分成块,这些块被复制到多台计算机(映射节点)。 这与传统的 RAID 架构有很大不同。 块的大小和复制的块的数量由客户端在创建文件时确定。 Node监控服务器集群中所有节点上的文件操作,如文件的创建、删除、移动、重命名等。

[编辑]

分布式文件系统详解

[编辑]

NFS简介

NFS定义

(NFS)(文件)是分布式客户端/服务器文件系统。 NFS的本质在于用户之间的计算机共享。 用户可以连接到共享计算机并访问共享计算机上的文件,就像访问本地硬盘一样。 管理员可以建立对远程系统上文件的访问权限,以便用户感觉不到他们正在访问远程文件。

NFS 是一个无处不在且广泛实施的开放系统。

NFS 设计目标

允许用户像访问本地文件一样访问其他系统上的文件。 提供对无盘工作站的支持以减少网络开销。

简化应用程序对远程文件的访问,无需调用特殊过程来访问这些文件。

一次使用一个服务请求可以从崩溃的服务器或工作站中恢复系统。

使用安全措施保护文件免遭盗窃和破坏。

使 NFS 协议可移植且简单,以便它们可以在许多不同的计算机上实现,包括低端 PC。

大型机、小型机、文件服务器在运行NFS时都为多个用户提供文件存储区域。 工作站只需运行TCP/IP协议即可访问这些位于NFS存储区域的系统和文件。 工作站上的 NFS 通常由 TCP/IP 软件支持。 对于 DOS 用户来说,远程 NFS 文件存储似乎是另一个磁盘驱动器号。 对于用户来说,远程NFS文件存储区域就是一个图标。

NFS的一些功能

服务器目录共享 服务器广播或通知正在共享的目录。 共享目录通常称为发布或导出目录。 有关共享目录以及谁可以访问它们的信息放置在操作系统启动时读取的文件中。

客户端访问 建立链接并访问共享目录上的文件的过程称为挂载()。 用户使用网络作为通信链路来访问远程文件系统。

NFS 的一个重要组件是虚拟文件系统(VFS),它是应用程序和低级文件系统之间的接口。

VFS操作

close 文件关闭操作

文件生成操作

fsync 将更改保存到文件

获取文件属性

链接访问另一个名称下的文件

读取目录条目

mkdir 创建一个新目录

open 文件打开操作

rdwr文件读写操作

删除一个文件

文件重命名

rmdir 删除目录

设置文件属性

[编辑]

AFS服务器

文件 (AFS)文件系统 (AFS)

AFS 专门设计用于在大型分布式环境中提供可靠的文件服务。 它通过基于单元的结构生成可管理的分布式环境。 单元是由特定组织管理的独立区域中的文件服务器和客户端系统的集合。 通常代表组织的计算资源。 用户可以轻松地与同一单位的其他用户共享信息,也可以与其他单位的用户共享信息,具体取决于这些单位的机构授予的访问权限。

文件服务器进程 此进程响应客户端工作站对文件服务的请求、维护目录结构、监视文件和目录状态信息以及检查用户访问。

基本监视 (BOS) 服务器进程 此进程在具有 BOS 设置的服务器上运行。 它监视和管理运行其他服务的进程,并且可以自动重新启动服务器进程,无需人工协助。

卷服务器进程 该进程处理与卷相关的文件系统操作,例如卷生成、移动、复制、备份和恢复。

文件位置服务器进程 此进程提供文件文件的位置透明性。 即使文件被移动,用户也可以在不知道文件已被移动的情况下访问它。

身份验证服务器进程 此进程通过授权和相互身份验证提供网络安全。 该系统基于“身份验证服务器”,该服务器维护密码和加密密钥的身份验证数据库。

保护服务器进程 此进程使用户和组能够根据保护数据库中的访问信息获得对文件服务的访问权限。

更新服务器进程 此进程将更新传播到 AFS,并将任何配置文件传播到所有 AFS 服务器。

AFS 还附带了一组用于错误处理、系统备份和 AFS 分布式文件系统管理的实用程序。 例如,SCOUT 定期从 AFS 文件服务器探测并收集信息。 信息以给定格式在屏幕上提供给管理员。 设置各种阈值以向管理员报告问题,例如磁盘空间不足。 另一个工具是 USS,它根据带有字段常量的模板创建用户帐户。 Ubik提供数据库复制和同步服务。 复制数据库是一种将信息放置在多个位置以便本地用户可以更轻松地访问数据的系统。 同步机制保证所有数据库中的信息一致。

[编辑]

KFS文件库

KFS(KASS 文件)

实现价值

1、高性能、高可靠性。 支持添加服务器,实现高并发、大存储、大吞吐量,有效避免单点故障。

2、可作为多个系统之间的文件共享存储平台。 多个系统可以远程访问KFS文件库,避免文件孤岛。

3、文件得到有效保护,多副本方式有效防止文件因单点故障而无法及时访问或丢失或损坏。

4、支持广域网远程分布式存储,控制流和数据流分离,有效解决多站点办公环境下公司文档集中管理和分散访问的问题,极大优化文档管理模式和传输速度。

[编辑]

特征

1、完全基于JAVA实现,支持跨平台部署。

2、可以独立运行,也可以嵌入到任何JAVA支持的WEB容器中。

3.不依赖任何第三方程序或任何数据库。

4.二次开发非常简单。 客户端只需向KFS服务器指定的URL地址发送简单的HTTP请求即可完成KFS功能的远程调用。 开发者可以通过IE浏览器完成所有KFS功能调用。

5.提供丰富的功能。 相比操作系统提供的文件操作功能,我们提供了丰富的高级功能,如版本管理、文件删除恢复、文件复制、文件日志、事件驱动等。

6、系统可靠性高。 优秀的架构、无单点故障设计、集群同步支持、信息流与数据流分离设计、多副本机制等多方面保证了整个系统的高可靠性和可用性。

7、系统的可扩展性高。 系统可以通过简单的配置来扩展文件存储空间,通过扩展名称服务器集群来提高名称服务器的并发性能,通过添加副本文件来扩展存储服务器的I/O吞吐量。

8.支持跨WAN文件存储。 由于文件存在多份,因此支持多份存储在不同城市的数据服务器上,实现异地文件的快速访问。

从 ””