数据中心出于灾备目的,通常会采取两个及两个以上的数据中心。一个作为主数据中心,承担业务,一个是备份数据中心用于备份数据中心数据、业务等。所谓“双活”数据中心,即两个数据中心都处于运作的状态,同时承担业务,两者相互备份。双活数据中心的模式,既保障了业务的连续性,还充分的利用了两个数据中心的资源。但双活数据中心在建设过程中主要存在以下几个难点:
1. 如何规划数据中心双活?
如果数据库或应用程序仅仅是以主备模式进行部署,存储双活的建设相对来说就容易些,通过快照或者磁盘镜像即可满足需求;但如果建立类似于DB2pureScale或Oracle RAC数据库集群;那么存储虚拟化网关就能得到用武之处,这也是目前存储双活建设中最为普遍的方式。
2. 如何解决单个存储的“孤岛”,提升存储资源池的整体效能?
首先建立和规划整个企业统一的存储资源池,将企业中存在的异构储存高度整合。其次对出现过IO瓶颈的业务,可以考虑映入全闪存存储对热点数据进行加速,并使用SVC虚拟化网关中的easy tier等功能,提升储存池的整体性能。解决各个储存层面的“孤岛”现象。
3. 如何涉及双活储存高可用,防止仲裁端脑裂?
AA模式下的双活储存,在某些特定的多种故障下,仲裁端会优先保证数据的一致性,可能会将双活储存上的所有LUN都停止访问。所以,在设计仲裁模式时,建议建立第三方站点作为仲裁机,同时还要考虑强制启动,而强制启动端的储存作为同步源端,会在链路恢复后同步增量差异数据。
4. 如何做到读写分离,提升IO读写效率?
首先,数据双活后,需要面对的一个难点是热点数据的跨站访问,实施数据库和存储层同时双活,会出现数据竞争的问题,这样也能一定程度上的实现IO效率的降低。
其次,可以通过锁预取和缓存策略,通过较小的控制,向锁权限缓存节点申请写权限,并利用锁预取将部分区间的写权限缓存到本地。
这样,后续的连续写IO操作可快速的命中在本地,减少跨站点的数据传输和交互,做到读写分离,从而提升IO读写性能。