存储技术
在传统数据中心中,业务系统的数据往往都是存放在一台共享存储中,比如虚拟化集群系统和数据库双机系统共用一台存储。这种模式的数据中心存在着一定的业务连续性风险——即如果一台存储出现故障宕机,所有与这台存储系统有连接的业务系统就会停顿,甚至会丢失数据。为帮助客户应对这类风险,就出现了两种双活数据中心容灾解决方案-存储双活和网关双活。两种方案中的存储系统将互为镜像,当一个存储系统发生故障、业务自动切换到另一个存储系统中,业务均会继续运行,不受影响,且数据在故障过程中无丢失,解决了传统存储单点故障问题。
存储双活是数据中心高可用架构中最为重要的环节之一,而在存储双活建设实践中,存在诸多难点,下面梳理了在实施过程中不可避免的4点问题,并对其进行剖析。
1.如何规划好存储双活模式
存储双活的建设方案,一定是要建立在数据库双活方案基础上的,只有明确了数据库和相关应用程序的工作模式,才能做好存储双活的整体选型规划,否则,对于存储双活的建设来说,任何技术细节都是空谈。
如果数据库或应用程序仅是以主备模式部署,存储双活的的建设相对来说就容易些,使用flashcopy等快照或类似SRDF磁盘镜像即可满足需求;当然,这种同步和容灾方式饱受诟病,由于源和目的端存储需要相同产品,无法解决异构问题,并且使用这类的同步工具大都需要license授权,增加了成本,且低端存储一般无法复制功能,因此,从严格意义上来说,并不能算真正实现了存储双活。
如果建立了类似DB2 pureScale或Oracle RAC数据库集群;那么,存储虚拟化网关就能得到用武之处,这也是目前存储双活建设中最为普遍的方式,如利用SVC、VPLEX实现存储AA(active-active)双活模式。下面几个难点问题,也是以此为前提进行讨论。
2.如何解决单个存储的“孤岛”,提升存储资源池的整体效能
企业一般都是在进行双活中心建设或者新存储上线的过程中,实施存储虚拟化网关来构建存储双活体系,这个阶段,也是建立和规划企业统一存储资源池的好计划,可以将企业中存在的异构存储高度整合,解决各个存储层面存在的“孤岛”现象。对出现过IO瓶颈的业务,也可考虑引入全闪存存储对热点数据进行加速,并使用SVC虚拟化网关中的easy tier等功能,提升存储池的整体性能。
3.如何设计双活存储高可用,防止仲裁防脑裂
AA模式的双活存储,在某些特定的多重故障下,仲裁机制会优先保证数据的一致性,可能会将双活存储上的所有LUN都停止主机访问。所以,在设计仲裁模式的时候,建议建立第三方站点作为仲裁机,但也不能完全避免上述情况,所以,还要考虑强制启动,而强制启动端的存储作为同步源端,会在链路恢复后同步增量差异数据。
4.如何做到读写分离,提升IO读写效率
存储双活后,还有一个难点就是热点数据的跨站访问,实施了数据库和存储层同时双活,会出现数据竞争的问题,这样也降低了IO效率。这时候就要通过锁预取和缓存策略,通过较小的控制报文,向锁权限缓存节点申请写权限,并利用锁预取将部分区间的写权限缓存到本地。这样,后续的连续写I/O操作可快速的命中在本地,减少跨站点的数据传输和交互,做到读写分离,从而提升IO读写性能。
全部0条评论
快来发表一下你的评论吧 !