2011年(264)
分类: 服务器与存储
2011-07-07 15:36:59
分布式文件系统博士论文
根据计算环境和所提供功能的不同,M. Satyanarayanan[1]将文件系统划分为四个层
次,从低到高依次是:(a) 单处理器单用户的本地文件系统,如DOS 的文件系统;(b) 多处
理器单用户的本地文件系统,如OS/2 的文件系统;(c) 多处理器多用户的文件系统,如UNIX
的本地文件系统;(d) 多处理器多用户的分布式文件系统。
本地文件系统(Local FileSystem)是指文件系统管理的物理存储资源直接连接在本地节点上,处理器通过系统总线可以直接访问。分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。
NFS 利用Unix 系统中的虚拟文件系统(VFSVirtualFile System)机制,将客户机对文件系统的请求,通过规范的文件访问协议和远程过程调用,转发到服务器端进行处理;服务器端在VFS 之上,通过本地文件系统完成文件的处理,实现了全局的分布式文件系统
在第四版中,提供了基于租赁(lease)的同步锁和基于会话(session)语义的一致性等
在大规模的分布式文件系统中,AFS 利用本地存储作为分布式文件的缓存,在远程文件无法访问时,依然可以部分工作,提高了系统可用性
PS:在本地做一道缓存后端挂载一个分布式文件系统!
由于应用对性能的需求,在这个阶段,分布式文件系统采用了多种方法提高系统性能,比如多级的缓存策略、资源管理的优化、采用多个存储设备、更好的调度算法等
95-2000 在这个阶段,计算机技术和网络技术有了飞速的发展,单位存储的成本不断降低。这些
为信息数字化提供了坚实的基础。而数据总线带宽、磁盘速度的增长无法满足应用对于数据
带宽的需求,存储子系统成为计算机系统发展的瓶颈。
网络技术的发展和普及应用极大地推动了网络存储技术的发展,基于光纤通道(Fiber
Channel)的SAN(Storage Area Storage,存储区域网),NAS(Network Attached Storage,
网络附连储存)得到了广泛的应用。这也推动了分布式文件系统的研究。这个阶段,出现了
多种体系结构,充分利用了网络技术。
General Parallel File System(GPFS)[14]是从Tiger Shark 发展过来的,是目前应
用范围较广的一个系统。在系统设计中采用了多项先进技术。它是一个共享磁盘
(shared-disk)的分布式并行文件系统,客户端采用基于光纤通道或者iSCSI 与存储设备
相连,也可以通过通用网络相连。
2000以后 各种应用对存储系统提出了更多的需求:
a. 大容量(Capacity),现在的数据量比以前任何时期更多,生成的速度更快;
b. 高性能(High Performance),数据访问需要更高的带宽;
c. 高可用性(High Availability),不仅要保证数据的高可用性,还要保证服务
的高可用性。
d. 可扩展性(Scalability),应用在不断变化,系统规模也在不断变化。这就要
求系统提供很好的扩展性,在容量、性能、管理方面都能适应应用的变化。
e. 可管理性(Manageability),随着数据量的飞速增长,存储的规模越来越庞大,
存储系统本身也越来越复杂,这给系统的管理运行带来了很高的维护成本。
f. 按需服务(On-Demand),能够按照应用需求的不同提供不同的服务,如不同的
应用,不同的客户端环境,不同的性能等。
另外,在协议方面的探索也是研究的热点之一,如Direct Access FileSystem[18]利用了远程内存直接访问(Remote Direct Memory Access,RDMA)的特性
借鉴了NFS 第四版本和Common Internet File System(CIFS)[48]等协议,设计了一套新的
网络文件访问协议,同时添加了一些NFS 和CIFS 中不存在的协议,改进了一些关于锁的语
义。根据测试结果,对比NFS 等传统网络文件系统,DAFS 取得了较好的性能。
中科院计算所研究的“曙光”系列机群服务器上的文件系统COSMOS[22]和DCFS [23],
为曙光超级服务器提供了一个分布式的文件系统环境。为了获得较好的I/O 性能,DCFS 机
群文件系统中的元数据服务器采用二级的树状结构、文件属性缓存、集中式目录缓存管理等
技术,存储服务器主要采用了多线程和缓存技术。DCFS 将整个名字空间根据目录关系划分
成多个子空间,分配到不同的元数据服务器管理,取得较好的性能、扩展性和可用性。
体系结构
3.1 数据访问方式——带内模式和带外模式
在传统的分布式文件系统中,所有的数据和元数据都存放在一起,通过服务器提供。这
种模式一般称之为带内模式(in-band mode)。随着客户端数目的增加,服务器就会成为整
个系统的瓶颈。因为系统所有的数据传输和元数据处理都要通过服务器,不仅单个服务器的
处理能力有限,存储能力受到磁盘容量的限制,吞吐能力也受到磁盘I/O 和网络I/O 的限
制。
于是一种新的分布式文件系统的结构出现了,那就是利用SAN 技术,将应用服务器直接
和存储设备相连接,大大提高数据的传输能力,减少数据传输的延时。
PS:类似于相册的存储读取的时候就是通过SAN技术《存储局域网》的方案进行解决的!
在这样的结构里,所有的应用服务器都可以直接访问存储在SAN 中的数据,而只有关于文件信息的元数据才经过元数据服务器处理提供,减少了数据传输的中间环节,提高了传输效率,减轻了元数据服务器的负载
每个元数据服务器可以向更多的应用服务器提供文件系统元数据服务。这种模式一般称之为带外模式(out-of-band mode)。
区分带内模式和带外模式的主要依据是关于文件系统元数据操作的控制信息是否和文件数据一起,都通过服务器转发传送。前者需要服务器转发,后者直接访问。
关键技术
4.1 全局名字空间(Global Name Space)
全局名字空间是指每一个文件和目录在文件系统中都有一个统一的、唯一的名字,在所
有的应用服务器上,用户都可以用相同的名字来访问该文件或者目录而无需关心文件的实际
存储位置和给其提供服务的元数据服务器的位置。。当用户访问的文件从一个存储位置迁徙到
另一个新的位置以后,用户也无需知道。他可以继续用原来的名字来访问此文件或者目录。
PS:即用户不需要关心文件到底存储在哪里
4.2 缓存一致性(Cache Coherence)
缓存一致性是指在各个应用服务器访问分布式文件系统时,它们所访问的文件和目录内
容之间的一致性关系。按照POSIX 语义的标准,在本地文件系统中,如果一个进程修改了某
个文件或者目录的属性或者内容,其他进程可以在这之后马上察觉到这种改变。
但是在分布式系统,要实现严格的POSIX 是非常困难的,同时也会导致性能急剧下降。因为用来同步文件属性和内容的开销不仅会消耗计算和网络资源,也会造成很大的延时。因此各种分布式文
件系统都或多或少的降低POSIX 语义的严格性。
NFS 客户端会缓存文件或者目录的属性信息,并且保持一定的时间。它没有缓存文件的
数据。只有在下次访问该文件或者目录的属性,并且时间间隔已经到期的情况下,NFS 客户
端才会去向服务器端重新刷新这些属性。对于文件或者目录的某些信息,比如文件的访问时
间(Access Time),NFS 不会在文件每次被访问时候都去向服务器更新。因为这样会大大增
加客户端和服务器之间的通信量和通信延时。GPFS 也没有保证文件的访问时间的POSIX 语
义。
同时为了支持客户端对文件加锁的操作,一般有两种处理方式:集中锁和分布式锁!
一个分布式文件系统中只有一个锁管理器,就称之为集中锁。如果有多个管理器,就称之
为分布式锁。集中锁的好处是实现相对容易,不足之处就是效率相对低下,而且一旦锁管理
器失效,整个系统使用锁的服务都会被迫停止,直到锁管理器恢复正常运行
4.3 安全性
虚拟化存储提供给文件系统的是一个共享的虚拟存储空间,屏蔽了存储实现的细节,同时具备了比如容错、动态负载平衡等特点
展望
同时,为了克服利用TCP/IP 网络协议传输数据带来的巨大CPU 开销和性能限制,远程
内存直接访问(RDMA)技术已经在出现并且得到了一定的应用。传统的数据传输访问和消息
交换机制在RDMA 中已经不再使用,新的基于RDMA 协议的文件系统访问协议将会出现。
《远程内存直接访问》
总之,利用高速互连网络和RMDA 快速传送数据,将是未来分布式网络文件系统的一个发展方向!
6.3 虚拟存储技术
分布式文件系统将支持越来越多的应用。如何在一个文件系统中针对不同的应用提供不
同的服务,包括针对不同的访问模式(频繁的创建删除、分段读等),不同的文件大小,不
同的性能要求(如持续带宽),不同的组织方式(大目录小文件、小目录大文件等)等;在
规模增大的同时,如何更好地满足个性化的需求,将是分布式文件系统需要解决的问题。