浅谈计算机存储系统发展历史与趋势计算机存储系统的核⼼是存储器,存储器是计算机中必不可少、⽤来存储程序和数据的记忆设备。 计算机的发展从单⽚机时代开始,历经客户服务器时代和互联⽹时代之后,现在正逐步⾛向⽹格时代。作为计算机系统中不可缺少的组成部分,存储系统⼀直伴随着计算机系统的整体发展⽽发展,并已成为计算机系统中发展最活跃的领域之⼀。许多有别于传统存储系统的新趋势⽇益显现,实验性产品也正从理论研究阶段逐步⾛向产品化实践。
⼀、发展历史
计算机的外部存储系统如果从1956年IBM制造出第⼀块硬盘算起,发展⾄今已经有半个多世纪了。在这半个多世纪⾥,存储介质和存储系统都取得了很⼤的发展和进步。
早期的数据存储⼀般以磁盘阵列等设备为外设,围绕服务器通过直连的⽅式进⾏存储。⽽近年来,随着⽹络技术的发展,服务器的数据读取范围也得到了很⼤拓展,逐渐实现了现在的⽹络存储。相较于传统存储来说,⽹络存储的优势更加突出,其不但安装便捷、成本低廉,并且还能够⼤规模的拓展存储设备,从⽽有效满⾜了海量数据存储对存储空间的需求。不过⽹络存储对⽹络资源的消耗极⼤,这是⼀项难题,为此,后来⼜逐渐出现了SAN存储架构。
1.传统存储系统
⽬前传统存储系统主要的3种架构,包括DAS、NAS和SAN。
(1)DAS(Direct-AttachedStorage,直连式存储)
顾名思义,这是⼀种通过总线适配器直接将硬盘等存储介质连接到主机上的存储⽅式,在存储设备和主机之间通常没有任何⽹络设备的参与。可以说DAS是最原始、最基本的存储架构⽅式,在个⼈电脑、服务器上也最为常见。DAS的优势在于架构简单、成本低廉、读写效率⾼等;缺点是容量有限、难于共享,从⽽容易形成“信息孤岛”。
(2)NAS(Network-AttachedStorage,⽹络存储系统)
NAS是⼀种提供⽂件级别访问接⼝的⽹络存储系统,通常采⽤NFS、SMB/CIFS等⽹络⽂件共享协议进⾏⽂件存取。NAS⽀持多客户端同时访问,为服务器提供了⼤容量的集中式存储,从⽽也⽅便了服务期间的数据共享。 (3)SAN(StorageAreaNetwork,存储区域⽹络)
通过光纤交换机等⾼速⽹络设备在服务器和磁盘阵列等存储设备间搭设专门的存储⽹络,从⽽提供⾼性能的存储系统。
SAN与NAS的区别,在于其提供块(Block)级别的访问接⼝,⼀般并不同时提供⼀个⽂件系统。通常情况下,服务器需要通过SCSI 等访问协议将SAN存储映射为本地磁盘、在其上创建⽂件系统后进⾏使⽤。⽬前主流的企业级NAS或SAN存储产品⼀般都可以提供TB级的存储容量,⾼端的存储产品也可以提供⾼达⼏个PB的存储容量。
2.分布式存储系统
⼤数据导致了数据量的爆发式增长,传统的集中式存储(如NAS或SAN)在容量和性能上都⽆法较好地满⾜⼤数据的需求。因此,具有优秀的可扩展能⼒的分布式存储成为⼤数据存储的主流架构⽅式。分布式存储多采⽤普通的硬件设备作为基础设施,因此,单位容量的存储成本也得到⼤⼤降低。另外,分布式存储在性能、维护性和容灾性等⽅⾯也具有不同程度的优势。
分布式存储系统需要解决的关键技术问题包括诸如可扩展性、数据冗余、数据⼀致性、全局命名空间缓存等,从架构上来讲,⼤体上可以将分布式存储分为C/S(Client Server)架构和P2P(Peer-to-Peer)架构两种。当然,也有⼀些分布式存储中会同时存在这两种架构⽅式。
分布式存储⾯临的另外⼀个共同问题,就是如何组织和管理成员结点,以及如何建⽴数据与结点之间的映射关系。成员结点的动态增加或者离开,在分布式系统中基本上可以算是⼀种常态。
EricBrewer于2000年提出的分布式系统设计的CAP理论指出,⼀个分布式系统不可能同时保证⼀致性、可⽤性和分区容忍性(Partitiontolerance)这3个要素。因此,任何⼀个分布式存储系统也只能根据其具体的业务特征和具体需求,最⼤地优化其中的两个要素。当然,除了⼀致性、可⽤性和分区容忍性这3个维度,⼀个分布式存储系统往往会根据具体业务的不同,在特性设计上有不同的取舍,⽐如,是否需要缓存模块、是否⽀持通⽤的⽂件系统接⼝等。
3.云存储
云存储是由第三⽅运营商提供的在线存储系统,⽐如⾯向个⼈⽤户的在线⽹盘和⾯向企业的⽂件、块或对象存储系统等。云存储的运营商负责数据中⼼的部署、运营和维护等⼯作,将数据存储包装成为服务的形式提供给客户。云存储作为云计算的延伸和重要组件之⼀,提供了“按需分配、按量计费”的数据存储服务。因此,云存储的⽤户不需要搭建⾃⼰的数据中⼼和基础架构,也不需要关⼼底层存储系统的管理和维护等⼯作,并可以根据其业务需求动态地扩⼤或减⼩其对存储容量的需求。
⼆、研究热点
1.云存储
云存储通过运营商来集中、统⼀地部署和管理存储系统,降低了数据存储的成本,从⽽也降低了⼤数
据⾏业的准⼊门槛,为中⼩型企业进军⼤数据⾏业提供了可能性。⽐如,著名的在线⽂件存储服务提供商Dropbox,就是基于AWS(AmazonWeb Services)提供的在线存储系统S3创⽴起来的。在云存储兴起之前,创办类似于Dropbox这样的初创公司⼏乎不太可能。
云存储背后使⽤的存储系统其实多采⽤分布式架构,⽽云存储因其更多新的应⽤场景,在设计上也遇到了新的问题和需求。⽐如,云存储在管理系统和访问接⼝上⼤都需要解决如何⽀持多租户的访问⽅式,⽽多租户环境下就⽆可避免地要解决诸如安全、性能隔离等⼀系列问题。另外,云存储和云计算⼀样,都需要解决的⼀个共同难题就是关于信任(Trust)的问题——如何从技术上保证企业的业务数据放在第三⽅存储服务提供平台上的隐私和安全,的确是⼀个必须解决的技术挑战。
将存储作为服务的形式提供给⽤户,云存储在访问接⼝上⼀般都会秉承简洁易⽤的特性。⽐如,亚马逊的S3存储通过标准的HTTP协议、简单的REST接⼝进⾏存取数据,⽤户分别通过Get、Put、Delete等HTTP⽅法进⾏数据块的获取、存放和删除等操作。出于操作简便⽅⾯的考虑,亚马逊S3服务并不提供修改或者重命名等操作;同时,亚马逊S3服务也并不提供复杂的数据⽬录结构⽽仅仅提供⾮常简单的层级关系;⽤户可以创建⼀个⾃⼰的数据桶(bucket),⽽所有的数据则直接存储在这个bucket中。另外,云存储还要解决⽤户分享的问题。亚马逊S3存储中的数据直接通过唯⼀的URL进⾏访问和标识,因此,只要其他⽤户经过授权便可以通过数据的URL进⾏访问。
存储虚拟化是云存储的⼀个重要技术基础,是通过抽象和封装底层存储系统的物理特性,将多个互相隔离的存储系统统⼀化为⼀个抽象的资源池的技术。通过存储虚拟化技术,云存储可以实现很多新的特性。⽐如,⽤户数据在逻辑上的隔离、存储空间的精简配置等。
2.智能化
存储⽹络化的发展,同样伴随着⽹络智能化的发展,其结果就是存储系统能处理更多的事情,⽽不像以前仅仅是存放数据的物理实体。存储系统智能化具体体现在:!存储系统分担了原来应⽤系统承担的部分功能。⽐如与某公司数据库合作,可由该公司提供⼀些信息,由存储设备帮助它做校验,使数据正确地存放到磁盘⾥,避免错误的出现,充分利⽤磁盘阵列冗余的计算资源;"随着磁盘阵列智能化的提⾼,以前很多服务器上的功能也将部分转移到存储⽹络和存储设备上,⽽服务器只集中于应⽤系统,数据安全、备份等⼤部分⼯作都可以放在磁盘阵列和与服务器连接的存储⽹络上。⽐如,对不同格式⽂件的交互访问中,原来都需要服务器⽂件系统进⾏特殊处理后转化为双⽅均可识别的类型才能访问,⽽现在某些存储系统已经可以在存储微码级对不同⽂件类型进⾏转化,使得对不同⽂件的访问对⽤户透明。需要指出的是,存储智能化的趋势中,⼤家似乎更倾向于把这部分智能化功能的实现放在存储⽹络上,⽽不是放在存储设备体中。
3.标准化
在传统存储系统中,除了⼚商为⼯程师提供存储系统安装、配置和维护等必要的简单管理系统之外,并没有太多存储的专门管理系统。随着存储系统规模和功能的拓展以及复杂度的提⾼,存储管理已经逐步发展成为⼀个相对独⽴的存储⼦系统。在传统存储系统中,各⼤存储⼚商分别为各⾃存储系统设计的存储管理企业标准⼤多互不兼容,在⼀定程度上严重阻碍了存储系统管理的进⼀步规范化。
三、发展趋势
随着⼈们对存储技术要求的提⾼,存储技术也取得了相应的发展:存储系统的升级和⾃动化程度也在不断提⾼(即“软件决定存
储”,“Software defined Storage”)。IDC预测,未来⼏年,计算中⼼的存储技术将出现以下六⼤发展趋势:存储系统的空间将进⼀步扩⼤,通过存储虚拟化⼿段可以实现存储媒介的统⼀管理,并避免使⽤筒仓(Silo)。
⽬前,计算中⼼服务器的虚拟化已经有了长⾜的发展――存储虚拟化是云存储的先⾏准备阶段。随着企业对存储需求的不断增⼤,存储虚拟化得以快速普及。
云存储发展的越来越成熟,云服务供应商也对这⽅⾯表现出浓厚的兴趣。
运营成本(OPEX)代替投资成本(CAPEX)已经成为不争的事实。云交付模式(Cloud-Delivery-Modell)具
有⾮常⼤的灵活性和可伸缩性,可以灵活调整⼯作量。不过尽管如此,云存储在普及的过程中依然会遇到各种各样的障碍,IT服务供应商必须做好思想准备。
价格不菲的闪存技术的主要优势在于其IOPS(每秒输⼊/输出操作)性能良好。
随着闪存技术价格的下降,企业计算中⼼未来也将⽤SSD(固态硬盘)取代基于硬盘的存储媒介。SSD/闪存技术对于⾃动分层存储技术(AST, Automated Storage Tiering)的发展起着⾄关重要的作⽤。
通过为储存的数据⾃动分层,例如把经常使⽤的数据分层存放,可以让⽤户迅速读取经常使⽤的数据,产⽣良好的⽤户体验。通过实时数据转移,储存系统的使⽤效率可以得到提⾼,⽽且使⽤费⽤也可以降低。不过,使⽤AST技术的前提是要实现存储虚拟化。
聚合型系统可以通过集成存储系统、服务器以及⽹络⼤⼤提⾼性能。聚合型系统还可以跟传统的IT基础设施同步运⾏,可以减少⼚商锁定(Vendor lock-in)带来的尴尬,⽅便引进新技术。
结构横向发展的存储技术使得数据在存储的过程中要经过许多服务器主机、控制器,并产⽣⼀个⾃⼰的命名空间;这⼀技术还⽀持多服务协议下的数据存储(联合存储)。
除此之外,这⼀技术的优势还包括可伸缩性强、储存能⼒强、操作不具破坏性以及管理简便等等。不过⽬前这⼀技术的知名度还不是很⾼。
作为计算机系统发展最活跃的领域之⼀,存储系统的发展趋势在⼀定程度上折射出了计算机的整体发展趋势。但是,就像其他技术领域的发展⼀样,许多技术⽬前还主要停留在概念和规划阶段,更多的技术标准还有待于进⼀步规范和实现。从这个意义上讲,存储系统从传统存储演变为公共存储资源设施将经历⼀个相当漫长的过程,存储系统的发展趋势和⽣命⼒究竟如何,还需要实践的证明和检验。
参考⽂献:
[1] ⽑宇星. 存储系统未来发展的新趋势[J]. 中国⾦融电脑, 2004, 000(003):59-62.
[2] 许鲁. 存储系统的未来发展趋势[J]. 中国传媒科技, 2006, 000(003):30-35.
[3] 李从武. 存储技术的未来发展⽅向[J]. 通信世界, 2002(32):33.