存储虚拟化和全闪存技术在烟草核心系统的应用
2018-07-05李子苑中国烟草总公司广东省公司信息中心广东广州510610
刘 荣 沈 松 李子苑(中国烟草总公司广东省公司信息中心 广东 广州 510610)
0 引 言
中国烟草总公司广东省公司(简称广东烟草)在2006年上线了三大核心系统,分别是卷烟营销和专卖管理系统(简称大集中系统)、经营决策分析系统(简称BI系统)和办公自动化系统(简称OA系统)。大集中系统从2006年投入使用以来,作为我省卷烟销售的核心交易系统,为全省大部分地区的卷烟营销工作提供信息服务,有效支撑了全省营销工作。BI系统投入使用,为公司经营决策分析和数据统计工作有力的保证。OA系统则为省局机关的行政公文流转的提供了信息手段。当时为保证这三大系统的运行,配置了IBM的高端存储系统DS8100作为存储平台,DS8100配置80块转速为15 000的146 GB光纤硬盘。该配置的存储系统在当时具有很高的可靠性和性能,投入生产后,有效支撑系统的数据库服务的运行。在2010年,对DS8100进行了扩容,增加16块转速为15 000的450 GB的光纤硬盘。经过9年的运行,该存储系统积累了近10 TB的业务历史数据,通过监控,发现数据库服务器运行负载大,在业务繁忙时期IO吞吐达到500 MB/s,IOPS数量达到11 000,已经达到该存储设备现有配置的峰值。随着我省卷烟销量的增长和业务功能的新增,产生的业务数据越来越多的数据。为保证业务系统稳定顺畅的运行,既需要更大的容量,也需要有更高的性能。如果在现有存储系统上进行扩展,只能提供更大的容量,性能上的提升有限,而且扩展的投资额较大。
面对存储平台存在的问题,对当前IT技术发展趋势进行分析,围绕存储平台技术进行研究,采用全闪存技术、存储虚拟化技术、自动分层技术和海量数据迁移技术来构建新的存储基础平台,解决现有系统遇到的性能和容量的问题。
1 存储技术的发展状况
存储技术在IT技术中的发展速度一直落后于其他IT技术[1]。其发展一方面受限于相关技术难于突破,另一方面受限于其对可靠性和稳定性苛刻的要求,许多新技术没有经过长时间和多方面的测试,都无法满足商业运用对可靠性和稳定性的要求。为搭建可商用的存储基础平台,采用了如下五大技术。
1.1 全闪存技术
固态硬盘采用闪存作为存储的介质,不需要使用磁头等机械设备,机械硬盘的寻道时间一般为十几毫秒,而固态硬盘可以轻易达到0.1毫秒甚至更低,寻道时间几乎为零,单个SATA接口的固态盘的速度可以达到500 MB/s,固态硬盘最突出的特点是在随机读写上,其4 KB块大小的随机读写IOPS是普通硬盘的100倍,固态硬盘还具有性能与存储的数据量无关的特点,并不会出现像机械硬盘会因存储的内容增加,性能下降的问题。固态硬盘主要问题在于闪存具有擦写次数限制,经过这几年固态硬盘固件算法的发展,该问题已经得到较好的解决[2]。固态硬盘的价格已经大幅下降,在消费领域已经较为普及,而在商用领域,固态硬盘早期主要应用在高端存储作为缓存使用来提高性能。近年,出现了全闪存阵列[3],其随机读写性能是普通存储的十几倍,其采用RAID技术也有效保证了数据安全性。全闪存阵列采用单层单元SLC(Single-Level Cell)或者企业级多层单元MLC(Multi-Level Cell)固态硬盘为基础,具有更高的可靠性和寿命,而且性能更好。
正因为全闪存阵列在高性能和稳定性上不错的表现,而且价格已较为合理,本次存储基础平台引入全闪存阵列,既改善现有系统性能,又为未来新信息系统留有性能冗余[4-5]。
1.2 存储虚拟化技术
存储虚拟化技术的基本思路是将存储的逻辑映像与实际的物理资源分开,通过算法实现存储的逻辑访问与实际物理读写的对应。通过构建逻辑存储池,屏蔽底层的物理存储设备的差异,统一对服务器层提供存储服务。存储虚拟化在具体实现中采用虚拟卷映射、数据定位等技术,目的在于简化存储管理,向用户提供统一简明的存储服务[6]。存储虚拟化技术的发展,使得存储在自动精简、镜像和快照功能上有了进一步的发展。
自动精简配置技术[7]配置给服务器的逻辑空间并不是预先从存储一次性划好的,当服务器向存储写入数据时,才按照一定的策略进行分配,以多次少量的方式使用存储,有效地解决了存储在各服务器中的分配问题,有效提高了存储利用率。
通过存储虚拟化,可以为核心的系统在不同的物理存储建立镜像卷,提高数据安全性。以往要实现存储层面的镜像主要有两种方法:1) 利用同品牌类似规格的存储之间的镜像功能;2) 利用操作系统的逻辑卷管理软件自带的镜像功能。前者好处是技术稳定可靠,对主机运行无影响,不足是需要两倍的硬件投资;后者较灵活,能够利用不同品牌不同规格的硬件实现镜像,不足是会给主机带来额外资源开销。存储虚拟化技术屏蔽了异构存储系统的差异,整合现有的存储资源,在不同类型的存储之间构建镜像卷,大大提高数据可靠性。
现有的存储虚拟化设备还采用了群集技术,区别于以往的纵向扩展,能够通过横向扩展提高其性能和可靠性,可以随着企业需求进行扩展。
1.3 自动分层技术
固态硬盘(SSD盘)虽然性能高,但是与普通SAS硬盘相比单位存储成本还是高昂,如何在较低的成本同时满足企业性能和容量上的需求,自动分层技术较好地解决了该问题。存储系统将不同速率的硬盘组分成不同的层,通过一定的算法计算出数据块的热度,将访问频率高的数据移动至较为高速的存储层,将访问频率低的数据移动至较为低速的存储层,以达到资源和性能优化[8]。该技术的原理在于,大部分应用系统的数据访问频率是不一样的,存在热点数据,找出这些热点数据并将其放置高速的SSD层能有效改善应用性能[8],同时低成本大容量的普通硬盘又能满足容量的要求,有效降低企业的成本,该技术的发展和成熟已经完全可以用于商用。
1.4 数据压缩和重复数据删除技术
现有的存储为了提高资源利用率,在底层数据处理还引入了两类技术,分别是重复数据删除技术(重删技术)和压缩技术。重删技术在备份系统中大量使用,其高压缩比提高了备份系统的利用率,因此近几年也引入了该技术,但是该技术在性能上还存在问题,通常在存储上以后台任务方式运行[9-11]。
数据压缩技术种类繁多,在计算机行业广泛使用,其中LZ4算法以其优越的数据压缩和解压速度闻名于业界,其优异的性能可以满足存储苛刻的性能要求。IBM SVC和V7000等存储设备采用基于时间的压缩方式(Temporal Compression)已经实现实时压缩的功能,在不影响性能的前提下,进一步增加逻辑容量,提高存储性价比。
1.5 海量数据迁移技术
数据是信息系统的核心,经过一段时间的运行,会积累大量数据,当企业遇到容量和性能问题、搬迁或者合并数据中心等情况时,需要进行数据迁移,其过程会遇到不少风险,可通过采用不同的技术方案[12]来规避,主要技术方法的特点如表1所示。
表1 迁移技术比较
本项目遇到的数据迁移,主要是采用存储虚拟化技术中的存储间逻辑卷复制技术为主的迁移策略,通过制定完整的测试、迁移和回退方案,保证数据安全性和一致性,顺利完成新旧存储的替换。
2 架构设计
2.1 旧存储平台的现状
2006年上线的三大系统(大集中系统、BI系统和OA系统)的基础平台的拓扑图如图1所示。该平台存在三大问题:1) 存储资源无法在应用系统间灵活共享,已经分配的空间即便使用率不高也无法重新分配给资源紧张的系统,造成资源紧张与浪费同时存在的矛盾。2) 存储系统无法实现自动随需分配,增加管理难度。3) 当存储容量不足需要扩容时,新购置的存储与原有存储存在不兼容的风险。
图1 旧的基础平台拓扑图
在设计新的存储架构的时候,就要充分利用前文所提到的新技术解决存在的问题,并且能够进一步提高核心系统在存储层面的可用性[13]。
2.2 整体方案概述
存储虚拟化技术的核心是虚拟化设备,一般分两种类型:1) 存储网关,这种设备部署在SAN网络,所有的存储设备通过它向服务器提供存储服务,该网关具有灵活、高效和弹性扩展的特点,利用该设备可以充分利旧,扩展旧存储的功能;2) 带有存储虚拟化功能的存储设备,通过对存储设备增加软件功能来实现虚拟化,这类设备适合于数据量不大,存储网络结构不复杂,存储品牌比较单一的用户。
总体设计方案如图2所示,存储设备将存储卷划分给存储虚拟化设备,存储虚拟化设备再将这些卷组合成逻辑池,并划分出逻辑卷映射给服务器使用。这些存储池可以根据存储的特点(如存储的性能)进行组合以适应不同的应用场景。
图2 总体设计图
2.3 新存储平台设计与实现
实现存储虚拟化主要有三种方式:1) 存储虚拟化软件(软件定义存储)[14]。可将多个服务器的本地存储构建成共享的数据存储池,如VMWARE的Virtual SAN(简称 VSAN)。2) 存储虚拟化网关。将存储虚拟化功能固化在专门的硬件设备上,在存储网络上类似一个网关设备,逻辑上屏蔽后端的存储设备,由该网关设备对主机设备提供统一的存储服务,如IBM公司的SVC和EMC公司的VPLEX等。3) 带有虚拟化功能的存储。将虚拟化功能集成在存储的机头中,使其可将自身的存储和存储网络中的外部存储进行虚拟化,统一向主机系统提供存储服务。
三种存储虚拟化方案适用不同的场景。第一种方式主要适用X86环境,不适用于我省现有的IT环境,主要在后两种方式中进行选择,在分析我省卷烟经营等核心业务系统的实际情况后,采用存储虚拟化网关的技术方案较为合适。理由如下:1) 我省卷烟经营核心业务数据量大,对性能要求较高,存储虚拟化网关不需要处理本地存储的IO访问,能够专注于存储虚拟化等相关功能的处理,具有较高的硬件性能;2) 网关还能够进行横向扩展,能够满足存储基础平台未来性能扩展的需要,能够兼容存储规格较为广泛,能够通过增加外部存储的方式来满足平台未来容量扩展的需要;3) 虚拟化功能固化在硬件中,稳定性和可靠性更高,而且通常的存储虚拟化网关是由偶数台(两台以上)完全独立的硬件构成,具有很好的冗余性;4) 采用存储网关的技术对主机层面改动少,对已经运行九年的核心卷烟业务系统来说,进行大的改动会带来巨大的风险;5) 在大数据量的情况下能够做到在线迁移,除了进行必要的配置需要进行停机,配置完成后数据迁移可以在后台运行,核心业务系统的停机窗口时间非常短,采用存储网关的迁移方式对业务影响较小。
借鉴大数据[15]技术方案设计的新的存储平台构建基于存储虚拟化和全闪存理论,利用存储虚拟化设备,对存储资源进行抽象化处理,支持存储的池化、镜像、压缩、快照和随需分配等功能,可以对各类存储设备进行整合。利用的全闪存的高性能(包括高IOPS和高吞吐),有效解决交易系统所面临性能问题。新存储平台的拓扑图如图3所示。
图3 新存储平台拓扑图
新的存储利用存储虚拟化将全闪存、中端存储和原有的存储整合成存储池,充分利旧,充分发挥原有存储的作用。在存储虚拟化设备方面,我们选用了IBM公司的SAN卷控制器SVC(SAN Volume Controller),因为它具有存储虚拟化、卷自动精简、镜像、快照等功能,还带有逻辑卷实时压缩功能,能够更有效地提高存储空间利用率;全闪存采用了IBM的Flash840(简称F840),具有高可靠性和高性能;中端存储采用了IBM V7000G2,配置了SSD和SAS硬盘,能够实现自动分层功能。
为保障核心交易系统的可靠性和可用性,利用存储虚拟化设备将全闪存的全部存储空间和中端存储中的部分存储空间组成镜像池,实现存储层面数据双份,从而大大提高核心交易系统可靠性和可用性,如图4所示。
图4 新存储平台资源逻辑划分图
2.4 海量数据迁移方法总结
广东烟草三大核心系统多年运行积累了大量业务数据,而且支持重要的业务运营,可停机的时间非常短,存储更换需要做好准备工作,保证数据安全。
2.4.1 数据迁移准备工作和测试
对需要迁移的系统的操作系统和多路径软件的版本的兼容性进行核实,如果版本不兼容,则需要进行操作系统和多路径软件的补丁升级。前期可先将硬件设备物理连接好,并做好存储使用规划。有备机的应用可以进行软件兼容性测试,如OA系统有备机,可在备机上进行操作系统和多路径软件升级,然后测试其对新、旧存储平台的兼容性。
三大系统中OA系统的数据量是最小的,先对该系统进行数据迁移以检验迁移方法的效果。迁移步骤大致分为如下步骤:1) 备份数据、停止应用、操作系统和多路径软件升级;2) 修改SAN的ZONE配置和存储的卷映射、SVC以IMAGE模式导入存储DS8100的卷并映射至主机、主机可识别并恢复应用;3) SVC对DS8100的卷在V7000G2上作镜像卷(这时数据在后台进行同步,不影响前端应用的访问),同步完成后在SVC删除DS8100的卷,OA系统迁移工作完成。
2.4.2 海量数据迁移步骤
对大集中系统和BI系统进行迁移,重要的迁移步骤如下:
1) 为了避免出现意外,对应用系统和业务数据进行备份。
2) 停止应用系统及数据库等相关服务,升级操作系统和多路径软件。
3) 主机卸载文件系统,导出卷组,删除逻辑旧存储相关磁盘设备。
4) 根据新存储平台的逻辑结构修改光纤交换机ZONE配置,调整旧存储映射信息,修改DS8100磁盘映射,映射卷至SVC。
5) SVC识别DS8100的卷,以IMAGE模式导入DS8100映射的卷,并将这些卷重新映射给主机。
6) 主机识别新的磁盘,恢复卷组,挂载文件系统,启动应用系统,恢复生产。
7) SVC对映射给主机的卷在F840存储池上创建卷镜像拷贝(DS8100上的卷为主盘,F840上的为从盘),这时后台进行数据同步。
8) 镜像同步完成后,在SVC上将F840的卷设置为主盘,待稳定运行后,SVC上删除原DS8100卷,数据迁移工作完成。
9) 针对大集中系统的卷,在SVC上对F840的卷在V7000G2上创建卷镜像拷贝,实现“数据双活”。
通过以上1至8的步骤,可实现数据在不同存储上的迁移,第9步骤是针对交易系统的。从迁移步骤可以看出,迁移过程中只需要在第2至6步骤过程中停机,就是在升级和配置过程中需要停机,实际的数据迁移在后台运行,不影响应用访问,停机时间长短与存储配置的复杂性有关,与数据量无关。从三个系统的迁移中也验证了这一结论,停机时间较短,有效解决了应用系统数据量大、可停机时间短的迁移难题。
3 新旧存储平台方案比较
新的存储平台与原有的相比在可靠性和可用性上有了质的提高。针对核心交易系统的数据利用存储虚拟化设备,在存储层面实现“数据双活”,在存储F840和V7000G2上均有一份数据,任何一台设备因故障损坏,均不影响核心交易系统的运行。
3.1 新旧平台性能比较
新的存储平台与旧平台相比在性能上有较大提升,通过性能测试和应用系统的实际改善情况来说明。
采用第三方压力测试软件(ORION)在同一台主机上分别对新旧存储平台进行压力测试,获得的数据进行分析比较。ORION是一款由Oracle公司提供,专门用于模拟数据库IO运行机制来测试存储性能的软件,可以模拟交易系统的IO访问行为。测试结果如表2所示。
表2 性能测试结果比较
大集中系统每天都要执行两个重要的业务处理,主汇总和辅助汇总。以每个地市为单位执行,执行时间对比如表3所示。可以看出,迁移之后,该业务运行时间变短了普遍缩减为原来的1/3到1/2,性能提升明显。
表3 应用功能性能比较
续表3
3.2 新旧平台技术经济指标分析
新存储平台上线后,除了性能提升,在投资费用,耗电、空间等方面与原有的存储平台相比均有较大的改善,SVC提供的实时压缩技术将大集中系统交易数据库的实际占用存储空间由4.6 TB压缩为1.99 TB,节省了56%的空间,进一步提高了存储逻辑可用空间。新旧平台的技术经济指标对比如表4所示。
表4 技术经济指标对比
4 结 语
本文基于存储虚拟化技术和全闪存技术等技术,构建一套高可用和高可靠的存储基础平台,有效解决了海量数据的交易系统的性能问题和未来的扩容问题,该平台还可有整合原有的存储系统有效利旧。通过总结一套海量数据的迁移方法,解决交易系统可停机时间短,更换存储系统风险较大的问题,对行业单位存在的部分存储设备老化,亟需更换具有现实意义。当前存储技术还在继续发展,如何进一步利用存储虚拟化技术实现容灾和双活,进一步提高基础平台安全性仍是发展的方向。
[1] Wu X,Reddy A L N.Exploiting Concurrency to Improve Latency and throughput in a Hybrid Storage System[C]// IEEE International Symposium on Modeling,Analysis & Simulation of Computer and Telecommunication Systems.IEEE,2010:14- 23.
[2] 黄平.基于固态盘特征的存储优化策略[D].武汉:华中科技大学,2013.
[3] 陆游游,舒继武.闪存存储系统综述[J].计算机研究与发展,2013,50(1):49- 59.
[4] Caulfield A M,Coburn J,Mollov T,et al.Understanding the Impact of Emerging Non-Volatile Memories on High-Performance,IO-Intensive Computing[C]// High PERFORMANCE Computing,Networking,Storage and Analysis.IEEE,2010:1- 11.
[5] Chang Lipin,Kuo Teiwei.Efficient management for large-scale flash-memory storage systems with resource conservation[J].ACM Trans on Storage,2005,1(4):381- 418.
[6] 樊春,彭小斌,来天平,等.中端存储新技术调研[J].武汉大学学报(理学版),2012,58(S1):129- 132.
[7] 邱红飞.存储的自动精简配置技术应用研究[J].电信科学,2010,26(11):12- 17.
[8] 董伟,李郑刚.自动分层存储技术在现代存储中的应用分析与前景展望[J].云南大学学报(自然科学版),2013,35(S2):54- 58.
[9] 敖莉,舒继武,李明强.重复数据删除技术[J].软件学报,2010,21(5):916- 929.
[10] 谢平.存储系统重复数据删除技术研究综述[J].计算机科学,2014,41(1):24- 42.
[11] 付印金,肖侬,刘芳.重复数据删除关键技术研究进展[J].计算机研究与发展,2012,49(1):12- 20.
[12] 李喆,万小健.企业级信息系统数据迁移方法[J].计算机系统应用,2012,20(1):182- 184.
[13] Ranganathan P,Chang J.(Re) Designing data-centric data centers[J].IEEE Micro,2012,32(1):66- 70.
[14] 孙振正,龚靖,段勇,等.面向下一代数据中心的软件定义存储技术研究[J].电信科学,2014,30(1):39- 43.
[15] 孟小峰,慈祥.大数据管理:概念、技术与挑战[J].计算机研究与发展,2013,50(1):146- 169.