软件定义(software defined)在过去一段时间给银行、证券等企业带来的效益已经开始凸显。“软件”就是将IT技术设施抽象化、虚拟化,并通过软件去管理,“定义”就是根据实际应用的不同需求部署合适的配置。这样就将很多原来由专门硬件的功能特性交付给软件来实现,可想部署更加快捷、管理更加灵活,更重要的是以后新的功能只需要升级软件就能达到,无需新购置硬件。
软件定义一切(Software Defined Everything)在各大企业IT系统中发展的势头被越来越多厂商及用户的看好。SDE目前主要指软件定义计算资源(SDC)、软件定义存储(SDS)以及软件定义网络(SDN)。其中SDC(software defined compute)目前在很多企业中已经占据重要地位,大大提高了硬件使用率、降低了TCO、降低系统部署周期等;而SDN(software defined network)目前更多在探索研究阶段,但是在不就将来,一定会大放异彩。SDS(software defined storage)是本文分享的重点。
目前各大存储厂商基本都推出软件定义存储的产品,如IBM SVC、EMC vplex等,而且这些软件定义存储确实给企业存储行业带来了革命性的改变。本文主要以IBM SVC软件定义存储产品的几个常见功能、特性做简要介绍。
软件定义存储和存储虚拟化
很多厂商产品说明书将两个概念混用,但细细想来,软件定义存储并不单单是存储虚拟化。
可以说软件定义是基于存储虚拟化的。存储虚拟化将存储容量从硬件资源中隔离出来,交于虚拟化软件去统一管理,消除异构存储的差异;而软件定义存储包含了存储虚拟化的功能,同时添加了诸多其它功能,比如:精简配置、去重压缩、镜像、容灾、双活等,相信更多的功能以后会逐步添加到SDS中。
一、 存储分层技术
分层存储,也称为层级存储管理,广义上讲,就是将数据存储在不同层级的介质中,并在不同的介质之间进行自动或者手动的数据迁移,复制等操作。
分层存储其实已经不是一个新鲜的概念,而是已经在存储领域应用多年。譬如SVC、V7000的easy tier技术就是从IBM DS8000系列产品中移植过来。
SVC的easy tier示意图如下,flash/ssd作为性能最好的tier0层、SAS盘作为性能较好的tier1层、容量大但IO性能稍差的SATA盘作为tier2层。SVC会根据过去24小时收集每个extent访问频繁程度,制定相应的迁移计划,最后将热点数据向性能更好的tier迁移或者将冷数据下移至性能稍差的tier层。需要注意的是为保证Host IO的质量,tier间数据的迁移速率是受到限制的。
存储分层技术充分利用了新旧存储的能力,降低了TCO,同时还提高了OLTP应用的性能。
二、 数据在线迁移
该功能能够在线将数据从一台存储迁移到另外一台存储上、在线将数据从低性能的存储池迁移到高性能存储池中。在线数据迁移功能大大减轻了数据迁移的工作量、降低数据迁移的风险,且迁移过程对业务透明;
传统数据迁移过程较为复杂,而且不同的平台,方法不同;操作步骤较为复杂、且风险管控较难;耗费主机资源、对IO性能影响较大。
有了SVC之后,迁移过程变的异常简单,而且对主机访问性能影响较小,大大减小了工作量。迁移示意如下图。
需要注意的是,volume迁移的source pool和destination pool的extent size必须大小一样。如果extent size不一样,可以通过后面讲的VDM方法迁移。
三、 数据去重压缩
存储上做数据去重压缩同样不是软件定义存储产品首次出现,在以前的部分存储产品、虚拟带库等产品上已经出现。SVC引入RtC压缩技术,同时为提高性能,对软件以及硬件都做了加强:
l 软件优化:dual-level cache model
l 独立的processor & 32G pernode cache
l 独立的硬件压缩加速卡
软件的设计以及独立的压缩硬件提高了压缩效率、保证主机访问的性能。
同时需要注意的是一套SVC压缩volume的数量是有限制的:
l 一个硬件压缩加速卡:200 compressed volumes
l 两个硬件压缩加速卡:512 compressed volumes
去重压缩功能降低了客户购买的硬件成本、节省机房空间、电力等优点。
四、 VDM本地高可用
为保证生产系统的本地高可用、数据安全性,重要系统数据一般都会在两套存储上有两份拷贝。传统一般在操作系统层面通过LVM实现,该方式现在在很多企业仍是主流,但是存在如下一些问题:
1, 管理复杂;消耗主机资源(尤其在SDC情况下);
2,数据安全风险、增加运维难度;
举例: 后期运维过程中,操作不当会出现一份数据copy跨两台存储,让数据镜像失去意义;
3, 灾备切换演练更加复杂:恢复时,需要处理 missing/removedvolume的处理;
通过VDM镜像技术,可以在虚拟网关层实现数据本地高可用,将OS层的数据镜像下沉到虚拟网关中,这个改变意义很大,很实用。
1, 管理简单,释放运维压力;
2, 节省主机资源;
3, 规划得当,性能不会受到影响;
a)read operations
实施VDM时候,两份copy会被定义为Primary copy和secondary copy。读操作一般只从primary copy读取。因此,建议将Primary copy放置在性能更好的存储上。
b) write operations
在SVC向后端存储写数据时,两份copy都必须更新。但,需要注意的是这个更新过程并不包括在host write operations circle中,也就是说host 更新数据至svc这一虚拟层,就ack主机了。因此,在SVC负载适中时,可以说是可以优化系统性能的。
五、 存储双活
作为业务系统的最后一道防线,IT数据灾备中心必须在极端状况下确保重要业务系统稳定运行。在这样的背景下,传统的数据灾备中心越来越不能满足客户对RTO的要求,用户希望在成本可控的同时,建立一高可靠性、高可用性、高可切换性的双活数据中心。
可以说存储双活功能是很多客户选择SDS产品的初衷。IBM SVC双活功能:Enhanced Stretched Cluster。实际上,Stretched cluster双活就是讲VDM的SVC IO GROUP中的两个节点拉伸到两个站点,并将每个svc node以及后端存储赋予站点(site)的属性。
需要注意的是,和VDM一样,Stretched Cluster中配置的每一个volume都有preferred node属性,preferred node处理volume的所有读写操作。当然,这需要主机上多路径软件支持(SDDPCM);但是对于像VMWARE这类不采用SDDPCM多路径的系统,那么由系统多路径软件确定由哪个svc node去处理所有的读写操作。
至于,SVC和后端存储的IO操作,大致和VDM类似:
每个volume都有两份拷贝,两份拷贝会分别被定义为Primary copy和secondary copy。
从微码V7.2开始,primary/secondary copy概念仍会保留,但是不会再影响读操作。因为,正常情况下,svc node 只会从有相同site属性的后端存储去读。当然如果后端存储故障并停止服务了,svc node会跨站点去访问不同site属性的存储。这样的处理方式,提高了读的性能。
两个svc node的写缓存保持镜像的,随后写缓存中内容会被写入各自相同site属性的后端存储。
需要注意的是这个更新过程并不包括在host write operations circle中,也就是说host更新的数据在SVC IO GROUP中两个节点同步时,svc preferred node就回复主机“写完成”了。这样的处理方式,优化了写的性能。
六、 HyperSwap 双活
从IBM 微码说明中看到从微码V7.5开始,SVC/V7K开始支持HyperSwap。之前,HYPERSWAP只可以和IBM 高端DS8000系列配合使用,达到应用、存储的站点之间的高可用。但是,DS8000高端存储成本高、管理相对复杂,所以,对想使用HyperSwap的用户来讲,用SVC来搭配HyperSwap是比较合适的选择。
本以为SVC版本的HyperSwap是SVC metro mirror结合OS层面路径聚合技术,达到存储双活目的,再通过主机层面HA实现高可用。但是,最近从IBM官网看到SVC的HyperSwap示意图如下:
从上图看出,两个站点的各自拥有IO GROUP,两个站点主机识别到相同的VOLUME,也就是说这个VOLUME有四个SVC NODE的路径,所以,SVC 版本的hyperswap已经和streched cluster一样达到存储级别的双活,而且冗余性应该更高。并不是通过我之前猜想的MetroMirror技术,而是新引入的ACITVE-ACTIVE MODE复制技术。
那么,SVC Hyperswap和streched cluster有哪些区别呢?根据已有的资料,总结如下:
对比条目
Strechec Cluster
SVC HyperSwap
硬件要求
只能是SVC
SVC/V7000/V5000
配置方法
GUI/CLI
目前只能CLI
支持站点距离
<300km
SVC数量
两台
四台/八台
当一站点故障时,写缓存状态
disabled
still enabled
两地三中心
支持和MM/GM的结合
未知
值得一提的是,HyperSwap采用ACTIVE-ACTIVE模式,确仍然有master和auxiliary的概念,master vdisk会处理所有读写操作。然而,SVC HyperSwap会自动调整master/auxiliary的关系:根据volume过去几分钟(目前是10分钟)IO情况去决定是否需要改变master/auxiliary关系。这样的处理方式,极大优化IO性能。
总之,SVC HyperSwap的推出,给用户更多存储双活的选择,同时增强了软件定义存储的竞争力。
七、 软件定义存储契合未来趋势
a)闪存在存储市场一定会大行其道,但目前其昂贵价格让很多用户望而却步。
通过采用SVC的存储分层技术,可以讲闪存作为easy tier0,去优化系统IO性能。
这样就仅仅需要购买少容量的闪存容量,达到提高整体存储性能的目的,这种架构性价比高。
b) 云趋势
各行各业对IT技术的追求永无止境,随着虚拟化不断发展,那么这些虚拟化技术的融合应该是大势所趋。软件定义存储和服务器虚拟化、网络虚拟化、存储网络虚拟化融合应该是未来发展方向。
SVC支持openstack,这为未来将SVC环境融入SDE做好准备。
本文简要讲述软件定义存储的几个常用功能,相信未来更多的功能会逐步增加,目前的软件定义存储只是1.5或者2.0版本,未来会不断有新的特性、新的功能加入到SDS中去,会有SDS 3.0甚至更高级别的SDS产品出现,我们拭目以待。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
关于TWT使用指南社区专家合作厂商入驻社区企业招聘投诉建议版权与免责声明联系我们 © 2024talkwithtrend — talk with trend,talk with technologist京ICP备09031017号-30
添加新评论0 条评论