代码改变世界

分布式存贮技术及其展望

2007-10-15 17:15  Jacky_Xu  阅读(352)  评论(0编辑  收藏  举报
分布式存贮概念及初探
 何为分布式存贮:
 与目前大量应用的集中式存贮(如文件和数据服务器以及EMC等存贮产品)方式不同,分布式存贮并不把数据存贮在企业中某一个或多个特定的节点上,而是通过网络使用企业中每台机器(可以是桌面PC也可以是服务器)上的磁盘存贮空间,并把这些分布的存贮资源构成一个虚拟的存贮设备,数据分散地存贮在企业的各个角落。
 分布式存贮的优势:
 低成本:
由于使用的是企业中几乎所有系统的空闲磁盘空间,由分布式存贮管理软件来对其进行管理。不再需要购买新的硬件设备。从而在充分利用企业存贮资源的同时,也降低了存贮成本。
 容错性强:
 由于数据存贮于多台机器,从而可以很轻易地设置存贮策略(用于决定存贮系统的工作状态和参数。比如决定每个文件可以存在多少个复本、用户可以使用分布存贮的配额等等……)。使得一个文件可以在两台或多台机器上存在复本。这样即使某台机器崩溃,其中的分布式存贮数据也可保证不会丢失。
 可以实现高速访问:
 由于数据同时存贮于多个节点之上,因此可以从这些节点读取数据。在使用高速网络连接(如使用Intel 865和875芯片组的桌面系统可以支持千兆网络)的情况下,其速度理论上把有可能超过从本地磁盘读取数据。
 易于管理,有利于降低总体拥有成本(TCO):
 相对于集中式存贮的设备相关管理方式,由于分布式存贮把存贮资源虚拟为一个设备。从而可以很方便的设置企业存贮策略、查看存贮资源的使用情况和状态。
 安全性高:
 正如我们所了解的那样,很多企业(尤其是中小企业)往往把重要文档保存在桌面PC之中。而一旦这些PC被盗或者遭到非授权访问,其中的数据和文档也就很容易随之泄漏。虽然可以使用诸如微软的EFS技术来加密这些文件,但是由于其设置相对比较复杂,因此在企业中使用此类技术的还是不多。而分布式存贮技术可以很好的防止这个问题的出现。分布式存贮技术可以加密保存在机器上的分布存贮文件,即使机器丢失,他人也无法读取其中存贮的数据。
 可节省大量存贮空间:
 可以通过把公用文件(如一些词典软件的词库文件、企业文档、软件说明甚至操作系统本身的一部分)置于分布式存贮系统的方法来节省大量存贮资源。
分布式存贮应用的时机已经到来
 企业对存贮的需求:
 对于这个问题,网上已经有很多文章讨论了。这里只强调一下分布式存贮低成本和易于管理的特性把会使它成为中小企业存贮方案的首选。
大容量磁盘设备的普及:
 目前商用桌面PC系统大多使用40G的硬盘,而大约在三年之前主流硬盘的容量不过4G左右。而目前在DIY市场上120G的磁盘已经成为主流。相信随着磁盘技术的改进,桌面系统磁盘空间把会越来越大。而对于目前大多数商业应用,这些磁盘空间把有很大的一部分被浪费掉了。从而造成一方面企业花费巨资建立存贮系统来满足不断增长的存贮需求,另一方面在桌面系统中大量的存贮空间却被白白浪费的难堪局面。而分布式存贮技术恰好可以很好的解决这个问题。
高速网络的普及:
 分布式存贮技术要依靠网络来传输大量数据,从而高速的网络连接是一个必要的条件。而目前高速网络设备的价格一直在不断下跌,同时随着Intel公司865和875芯片组的推出,桌面系统能够具有千兆网络连接也不再成为问题。
相信随着网络技术的不断改进,高速设备的价格会越来越低。千兆到桌面也不再是一个梦想。而到那时网络读取数据的速度甚至会超过本地磁盘系统。
分布式存贮技术的发展及展望
 实际上现在企业中广泛使用的桌面系统相互之间基于共享的文件存贮方式可以说是就是分布式存贮的雏形。而对于分布式存贮的实现方法,我认为可以有以下几种:
由服务器支持的客户/服务器(C/S)结构:
 由服务器负责整个分布存贮的管理工作。客户端在读取分布式存贮内容时向服务器发出文件浏览或定位请求,同时也提供本地磁盘空间以供分布式存贮系统使用。而服务器负责文件的检索和存贮策略的实现。因为使用了目前很成熟的C/S应用结构,实现的技术难度相对较小。因此它可能是分布式存贮最先使用的技术。
 此方法的缺点是对服务器的要求较高且网络流量相对比较集中,而一旦服务器瘫痪,整个分布存贮系统也把随之瘫痪。
基于网络广播的对等方式:
 类似于ARP协议,通过网络广播来查找文件的宿主机器。而每台机器会定期更新分布存贮系统的文件列表。此方法实现起来具有一定难度,而且比较适用于文件尺寸较大,但数量不多的场合。对于文件小而多的场合,就不太适用了。比较适于小型企业使用。
使用类似于目前一些P2P软件的工作方式:
 每台加入分布存贮系统的机器同时承担服务器和客户端。在某一时刻总有一台或多台机器担任服务器角色。而网络会在当前服务器角色不存在时进行服务器选举,以确定哪台机器承担服务器角色(类似于wins的工作方式)。另外可以设置一台主服务器来负责存储策略的管理和发布。
其它方法:
 以上的几个方法只是我一些粗略的想法,具体实现可以仁者见仁智,者见智……
分布式存贮技术展望
 相信分布式存贮把会是未来操作系统(OS)中的一个重要的功能。OS集成分布式存贮把有利于系统的管理。比如可以在Windows Server的组策略中很容易的实现分布存贮策略的设定。同时由于OS厂商在更深的层次上掌握着系统内核,分布式系统把可以具有更高的运行效率和可靠性。由目前微软平台在桌面系统的普及程度来分析,最适于实现分布存贮的厂商恐怕非微软莫数了。
 在集成了分布式存贮技术之后,OS本身和一些应用软件的文件(比如那些不需修改,只是由系统调用的文件)就不再必须存贮于每一系统之上。每个系统本身只要保留足够初始化和启动分布存贮系统的文件即可。从而在节省大量存贮资源的同时,也改变了OS的体系结构。
 同分布存贮相类似,我们也可以对系统中其它资源(如CPU的计算能力)也采用类似的方法。目前此类技术已有网格计算等等。可以说在未来的企业应用中,每个系统的磁盘、CPU、内存等资源都把得到充分的利用。这在某些方面有些类似于过去的大型主机系统。而这个大型主机是由企业中近乎所有的IT资源组成的。