Spectrum Virtualiz(SVC)新版本8.3.0有哪些功能增强?


IBM软件定义存储解决方案——Spectrum Virtualiz (SVC),在存储双活方面提供了两套不同的技术方案:Enhanced Stretch Cluster和HyperSwap,均是基于虚拟化存储平台之上的Active-Active数据中心的存储双活解决方案,为上层应用提供存储A-A双活或高可用架构,确保存储层的任一组件故障不会对上层应用产生中断影响。

SVC Enhanced Stretch Cluster也就是SVC拉伸式集群架构,就是把同一SVC I/OGroup内互为保护模式的双节点跨站点进行拉伸,分散在不同的两个数据中心,它们之间通过光纤链路连接,数据通过VdiskMirror技术实时镜像到两个站点上的两个存储上。

SVC HyperSwap相较于SVC ESC,它出现的主要目的在于消除本地SVC节点单点隐患,增加主机存储冗余路径,进一步提升SVC双活的高可用性。HyperSwap通过MetroMirror技术让数据副本在同一个Cluster下的不同IOGroup之间实时同步,同时解决双节点故障导致数据卷无法访问的问题。以上两种方案架构均为对称式架构,在第三站点可配置仲裁,以防止脑裂现象发生。

近期,IBM发布了 Spectrum Virtualize 8.3 新版本,该版本的功能增强主要体现在以下几个方面:

1、支持多租户访问控制,能够基于各种目标限定租户访问权限。

2、支持在公有云中(AWSEC2)上部署SpectrumVirtualize纯软件版。

3、支持最新的4口32GbHBA卡,大幅提升SVC光纤链路总带宽。

4、在存储双活场景,对IPQuorum有了较大增强,新增仲裁模式并提升仲裁灵活性。体现在以下三个方面:

1)可以定义PreferredSite,Non-PreferredSite将延迟3秒与IPQuorum进行通讯;

2)可在没有第三站点的时候,定义WinnerSite,让客户希望的站点幸存;

3)将IPQuorum的校验时间缩减到15秒,近一步加快了站点切换时间。

5、进一步增强HyperSwap双活方案,支持本地读,以减少读操作增加的延时和带宽占用。

6、支持NVmeover FC on 16Gb FC adapters,支持iSERhost attachment with 25GbE adapters

7、支持通过RDMAover Ethernet组成cluster


关于Spectrum Virtualiz(SVC)新版本8.3.0的24个问题解答


Q1、SVC新版的高级特性是否需要收费?哪些是需要收费购买的?

@董鑫:

SVC的高级功能还是要收费的。例如加密,压缩,容灾等等。


Q2、老版本SVC是否可以升级到新版本?

【问题描述】例如当前软件级别:版本7.8.1.7,不清楚是否可以升级到新版本,还是必须更换硬件才能支持?又如机器型号为2145-DH8,微码版本8.1.33,可否升级至SVC新版本?

@董鑫:

可以升级。

但是对硬件版本有一定要求,必须是2145-DH8以上。

软件升级从列表上看7.8.1.7可以直接升级到8.3。


Q3、新版的SVC是否只有FC-SAN,是否支持万兆网络下的iscsi?

@董鑫:

iSCSI一直都可以作为主机访问,和外部存储虚拟化用。包括现在最新的iSER也可以用作主机访问和节点间通讯。


Q4、新版本SVC是否支持定时快照功能?

【问题描述】目前我司使用SVC版本为7.8,如果想要对vol进行快照保护必须手工快照,给数据保护工作极大不便,不清楚新版本是否支持计划快照,如果支持,快照可保持的时间和版本情况如何?

@邓毓:

应该不支持,用脚本调SVC吧,我们就是这么做的,用一台虚拟机建立和SVC管理用户的互信,通过SSH来向SVC发送快照启停的命令。

@cpc1989:

在远程调度机上配置定时调度脚本来实现的定时快照功能还是很方便的,只需要配置与svc的信任关系。

@董鑫:

抱歉,存储本身并没有提供定时快照功能,因为不结合应用系统而仅在存储端进行快照一般并不能保证数据的一致性。这个功能一般我们建议通过flashcopymanager这类的软件或者脚本方式实现。


Q5、SVC新版本下的HyperSwap双活方案支持本地读的机制原理,读写I/O流程有哪些新变化?

@董鑫:

现在支持本地读了,减少了好多不该有的数据转发。写IO流程没变,仍然需要cachingio group去写盘。


Q6、SVC新版本下的仲裁模式相较于之前版本有哪些方面的增强?

@董鑫:

能设定一些参数,更适用于客户的某些特定需求,例如入prefersite、winnersite等等,具体请看社区里的PPT。


Q7、SVC新版本对NVme支持的具体优势体现?

@董鑫:

主要是在卡、驱动程序和主机兼容上做了优化。


Q8、SVC新版本下多节点间RDMAover Ethernet通讯的用途,节点间缓存同步是否可由FC变为RDMA?

@董鑫:

问题很好,如果节点间通路只有RDMA路径,Cachemirror就是走RDMA。


Q9、公有云上部署Spectrum Virtualize纯软件版的应用场景?

@董鑫:

目前支持在AWS上部署纯软件版本的Spectrum Virtualize。即可以作为客户云端主机访问的块存储,也可以用作混合云当中远程的容灾节点使用。


Q10、新的SVC最大支持IOPS性能?

【问题描述】新硬件体系架构及软件版本的SVC性能如何,满配的SVC配置是怎样的?最大可以支持到多少IOPS的存储性能?是否有对接全闪存存储的数据?

@董鑫:

SVC硬件暂时还是SV1,性能数据中iops的最大值依然是两节点cache hit的情况下两百万左右。


Q11、新版微码对全闪阵列性能有提升么?

【问题描述】原有7.8.1微码版本的SVC,下联某全闪存储和IBM XIVGEN3存储。SVC对XIV机械盘有着非常明显的性能提升。但是对某全闪存储的性能没有提升。新版微码有改进么?

@董鑫:

新版微码在Nvme上做了一些优化,据研发人员讲性能有了不少提升,但现在还没有具体数字出来。外接闪存盘的话,如果后端存储的性能非常高比如iops在cachemiss能达到60万,throughput达到25GB以上了,那两个节点的SVC就成为瓶颈,需要增加节点了。

@邓毓:

闪存还是建议:禁用掉对应SVC卷的缓存,充分释放闪存的性能,读写全部透穿SVC直写闪存。


Q12、IP Quorum 增强,链路恢复时,站点是否自动加入集群?

@董鑫:

之前其实就可以自动恢复,这方面倒没有特别的增强。


Q13、SVC新版本对硬件的最低要求,cpu/cache大小,对链路的要求,链路延迟?

@董鑫:

8.3版本对于SVC来说最低要求硬件必须是2145-DH8。V5K、V7K要求是G2以上。


Q14、IBM SVC的解决方案有什么特点?

【问题描述】从最初了解到的IBMSVC只是可以实现各种各厂商高低端的存储资源进行整合,对用户来说也是透明的。不知道现在IBMSVC在实现异地容灾就像是HA一样的方式吗?

@董鑫:

SVC除了整合和利旧现有存储以外,还有很多其它高级功能。实时压缩、数据除重、远程复制等等。例如Hyperswap双活就是利用同步复制等功能实现的双活解决方案。


Q15、SVC的存储快照、数据压缩、数据分层等软件功能对于性能的影响?

【问题描述】SVC的存储快照、数据压缩、数据分层等高级存储软件功能是其亮点,但是启用这些功能也会担心对性能的影响,如何衡量其性能影响,该如何去考虑实施这部分的功能?

@邓毓:

快照消耗了一定的SVC缓存,看快照卷的数量和容量了。只要缓存充足,基本不影响,缓存不充足,那就得扩SVC节点了,或者替换高配的SVC。数据压缩必然消耗SVC的CPU和少量的缓存,相比非压缩而言,性能也有一定的影响,具体看压缩比了,具体还要结合实际的POC测试结果,现在机械硬盘这么便宜,压缩功能用得太少了。要是闪存的话,可以直接购买采用了硬件压缩的FS9100,几乎无损压缩。数据分层的话是将多个不同性能的存储资源池打散在SVC同一个存储池,通过EASYTIER来对热点数据进行统计、迁移到更高性能的后端存储池中,消耗一定SVC的CPU和缓存,但这么多年用下来,没有感受到EASYTIER功能的开启带来的影响。

@董鑫:

一般情况下,高级功能的使用会对整体性能有一定的影响,影响大小跟很多因素相关,简单说配置越高影响越小,前端io压力越小影响就越小。


Q16、关于SVC的缓存机制的问题?

【问题描述】新版本的svc的缓存机制是如何设计的?在双活及容灾场景下是如何保障数据安全性及提升性能的?

@邓毓:

缓存机制没有变化,都是保证数据强一致性,节点间的缓存同步也是实时的,必须等缓存同步完成,才返回主机。缓存刷盘也是等到缓存到达高水位刷盘。SVC的缓存对读而言,没有提升,主机直接穿透SVC读,对于写而言,有增加存储缓存的作用,提升一定的性能。但对于没有缓存的闪存而言,也是建议关闭掉SVC上对应卷的写缓存,直接透写闪存,避免SVC缓存容量的瓶颈,最大极限释放闪存性能,提高极限IOPS。

@董鑫:

SVC的缓存机制在这个版本上并没有什么变化,高级功能一般把cache分为两层来看待,能更好利用缓存资源。


Q17、SVC的数据安全性怎么样?

【问题描述】其他非IBM系的存储接入管理之后,如果都给到SVC去管理的话,我担心如果SVC出什么问题的话,是不是原来的存储就无法被主机认到了?也就无法访问到数据了?

@邓毓:

你担心的问题有两种办法解决,一种是存储以IMAGE的方式接入SVC,SVC出问题,存储上的卷可以直接映射给主机使用。一种是存储仍然以MANAGE的方式接入SVC,但加强SVC的节点冗余,或者通过SVC灾备的方式来保护生产SVC集群。

@董鑫:

SVC在这方面已经非常成熟,即使最糟糕的情况发生,也有VDM(本地高可用)容灾、等手段去避免。SVC用image方式接管的卷,可以随时直接映射给主机使用,不会影响数据。


Q18、SVC如何实现同城双活、异地灾备的架构?

@邓毓:

SVC同城双活有两种方案,一种是SVCEnhanced Stretch Cluster(ESC),一种是SVCHyperSwap 但只有SVCEnhanced Stretch Cluster才能支持异地灾备扩展,SVCESC+Metro Mirror方案。

@董鑫:

目前同城双活加异地灾备的三站点架构可以通过SVC的Enhanced Strech Cluster方式加异步容灾方式实现。


Q19、SVC接管了存储后,性能怎样?

【问题描述】SVC在接入了比自己低端的存储的话,我相信性能是会有提升的。但如果接入的本身就是闪存,例如F900的话,性能是否会不升反降?

@邓毓:

接闪存,通用的做法是在SVC端禁用闪存卷的写缓存,将闪存性能最大发挥。

@董鑫:

SVC一般情况下不会成为瓶颈,因为多节点的处理能力可观,即使后端用的是Flash900这个级别的存储,在大多数场景下都不会是瓶颈。所以配置节点数量的时候要考虑后端存储的性能,性能高就多配,性能低就可以少配。


Q20、IBM SVC可以不接UPS使用吗?

【问题描述】客户机房有双节点IBM SVC,目前一个SVC节点掉线,在服务助手里看到该节点处在服务状态,在SVC控制台显示要更换该节点的UPS。但是当前没有预算更换,请问SVC是否可以直接接市电不接UPS使用?

@邓毓:

你的SVC是老的型号了,当时带UPS,为的是在SVC节点掉市电时,UPS能够提供电源,为SVC缓存刷盘提供充足的时间。所以不建议SVC脱离UPS直接使用,掉电将引起数据不一致问题。而且在没有UPS的情况下,SVC节点也无法启动吧?带UPS的SVC型号,应该有一根专门的通讯线到UPS的,这根通讯线故障或者没有通讯,会导致SVC保护性关机。

@eaTiger:

不行,必须通过UPS供电的,你可以把每个SVC节点理解成一个存储控制器,UPS是用来保护cache数据的。


Q21、SVC HyperSwap的机制,如何规避主备中心瞬间的链路抖动,以及主备中心一条链路中断恢复后的机制?

@董鑫:

很好的问题。这次更新改进了一下,可以防止瞬断的不必要切换,就是加入了主机状态的检查,如果支持中间链路瞬断,不会造成不必要的切换。

如果切换了,恢复的机制还是跟原来一样。

关于防止中间链路抖动的改进:DeglitchIP Quorum EM Disconnects(防IP瞬断引起的不必要切换),当某个站点的IP连接断开后,立刻伴随着站点之间链路故障时,才允许进行切换。


Q22、SVC在openstack,容器云等场景中有什么用武之地么?

【问题描述】当前的IT架构几乎全员上云,新版本的SVC在云场景中,不管是针对openstack,或者容器云,有什么新的特性么?

@董鑫:

针对openstack,可提供cinderdriver,使大数据平台无缝访问SVC。

针对容器,SVC可作为传统块存储,存放container数据。


Q23、SVC在对象存储和分布式场景中有什么新的应用场景?

【问题描述】在对象存储和分布式场景中泛滥的当下,SVC有什么新的应用场景,是否可以发展为管理分布式存储的统一接口?

@董鑫:

目前可以提供cinder驱动作为块存储放入大数据平台,还可以支持把快照备份的云端的对象存储当中,目前暂时不支持直接管理对象存储。


Q24、在SVC监控方面有没有好的实践供参考?

【问题描述】目前通过VC开放ssh命令行,ls类命令查询几个重要的状态,然后脚本解析命令返回结果来当作 监控指标项目。比如:

lsrcconsisgrp

lspartnership

lseventlog 参数有点用不好,想获取最新的待处理报警 ,还望指教

@邓毓:

用TPC吧,强大的存储性能和监控产品。

@董鑫:

您说的这种方式其实好多客户都是这么用的,只不过需要客户自己编写脚本,实现特定的功能。SVC的CLI个人认为真的非常好用。