一、 整体架构方案设计
二、原系统架构
三、存储双活架构
3.1 双活架构描述
SAN存储双活作为整个系统的核心基础架构平台,主要解决以下两个核心问题:
-
在两个存储中间实现数据实时同步,从而保证异常情况下,零数据丢失(RPO=0)。
-
提供可同时被两个数据中心主机访问的存储资源,从而实现主机应用集群的跨站点部署,保证异常情况下,应用的自动切换(RTO≈0)。
四、方案总体设计
4.1 方案描述
银行在两个单中心存储双活方案,同时通过业务做的双中心的容灾。
同城一体化双活容灾建设
存储层,在银行数据中心A和银行数据中心B各部署2台四控制的OceanStor 18500F V5存储,同一个中心的两台存储组成一个集群,为数据中心主机业务同时提供读写服务。支持扩展至32控制器。为了提升空间利用率,使用数据重删压缩功能,减少数据占用的空间,提高每TB可用空间性价比。
数据中心的磁盘阵列利用HyperMetro技术对两台的磁盘阵列做镜像冗余配置,实现两台存储数据实时镜像,均互为冗余。任意数据一个数据中心单个存储故障,数据零丢失。
网络层,数据中心之间大二层打通,为业务双活提供条件。
应用层,两个数据中心的Oracle服务器构成一个Extended RAC集群,提供跨数据中心的自动负载均衡和自动故障转移功能。两个数据中心的应用虚拟机使用独立的虚拟化集群,通过流量入口控制进行负载均衡和灾备切换。
采用华为SAN免网关双活方案,我们无需使用多套管理界面进行管理,直接登录存储管理界面,即可实现常见操作的可视化管理,华为免网关双活实现高度免维,常见的单点、多点故障,在故障点修复后,双活即可自动完成恢复和数据重新镜像,无需人为判断和修复。即使最恶劣的情况下,也仅需界面可视化操作即可拉起业务和增量同步,无需删除原双活关系重新配置。
4.2 HyperMetro双活方案详细设计
4.2.1极简组网
-
免网关设计使主机I/O请求,无需经过存储网关转发,避免了网关转发引起I/O时延;同时减少网关故障点,提高方案可靠性;显著降低双活组网复杂度,便于维护。
-
SAN双活整合双活数据复制链路、配置同步链路和心跳链路到一支持使用相同的链路进行数据传输,个物理网络,简化了数据中心的组网。
-
两套存储系统间的复制链路可以使用IP或FC链路,本次采用FC链路。
图1-1 HyperMetro逻辑组网图
4.2.2 存储双活集群
集群系统使用阵列间FC链路作为通信链路,完成全局节点视图建立和状态监控。在全局节点视图基础上,集群系统提供分布式互斥等能力,支持AA双活架构。
集群节点具有并发访问能力。单存储工作控制器全故障时,则切换至集群另一个存储。
在跨站点集群基础上,SAN双活以双活Pair或双活一致性组为单位提供服务和进行状态管理;
两套存储阵列上的双活成员LUN组成一个虚拟双活LUN,通过实时镜像技术保持两个数据中心的双活成员LUN的数据实时一致。
一致性组是多个双活pair的集合,可以确保单个存储系统内,主机在跨多个LUN进行写操作时数据的一致性。
一致性组进行分裂、同步等操作时,一致性组的所有双活pair保持步调一致。当遇到链路故障时,一致性组的所有成员对会一起进入异常断开状态。当故障排除后,所有成员同时进行数据的同步,从而保证从站点灾备阵列数据的可用性。
4.2.3 仲裁
双活提供了两种仲裁模式:
-
静态优先级模式
-
仲裁服务器模式
仲裁服务器模式比静态优级模式具备更高的可靠性,可保证在各种单点故障场景下,业务连续运行。因此,双活方案采用仲裁服务器模式。
静态优先级模式
静态优先级模式主要应用在无第三方仲裁服务器的场景。
为方便理解,将主vStore所在的存储系统称为主存储系统,将从vStore所在的存储系统称为从存储系统。
在静态优先级模式下,主vStore和设置为优先侧的双活LUN将作为优先站点,当主从存储系统心跳丢失时,主vStore设置为优先侧的双活LUN将会仲裁胜利。
当发生存储系统间链路故障,或者非优先存储系统故障时,优先仲裁端继续提供服务,非优先侧停止提供服务。
当优先仲裁存储系统故障时,非优先仲裁侧不能自动接管业务,主机业务中断,需要人工强制启动服务。
该模式的缺点是:两存储系统之间的心跳丢失时,可能是存储系统间链路丢失或其中一个存储系统故障,HyperMetro无法区分这两种情况。下表为静态优先级模式下的仲裁策略。
H1 和H2 表示组成双活的两个存储系统,H1是优先仲裁存储系统,H2是非优先仲裁存储系统。
静态优先级模式仲裁示意图:
仲裁服务器模式
1.存储系统之间的链路断开时,双活关系分裂。
2.两端存储系统分别抢占仲裁,主端将优先抢占仲裁,抢占成功的LUN和租户的文件系统,将对外提供服务,为应用提供存储访问;抢占失败的则停止对外服务。
3.中间链路恢复时,HyperMetro检测到中间链路恢复正常,经过握手通信将两个vStore自动恢复双活关系。
4.2.4 FastWrite
4.2.5 双活就近优先访问
负载均衡模式
优选阵列模式
4.3 业务容灾应用配置
4.3.1.1 Oracle RAC配置
Oracle数据库场景下的双活存储配置SmartTier和FastWrite特性,并合理配置数据中心业务主机多路径参数,实现性能优化最佳配置。
通过数据双写技术,确保存储冗余,单存储故障时,数据零丢失,业务快速切换,最大化保护业务的连续运行。满足业务RTO=0,RPO=0的业务需求。
对Oracle数据库版本以及业务系统的部署建议:
-
要实现Oracle数据库的跨数据中心的集群部署,需采用支持Oracle Extended Distance Cluster的Oracle版本。使用了Oracle 11g版本。
-
Oracle部署通常有三种存储管理方式:文件系统,裸盘和ASM,采用了ASM。
-
对于Oracle Extended Distance Cluster配置,对 Oracle Clusterware和Oracle 数据库二进制文件和主目录进行本地存储,以减少站点间流量。
-
为了避免跨数据中心进行数据的交互,在Oracle RAC层创建不同的service,实现业务分离。通过Service-Side TAF的PREFERRED功能设置应用只访问本地实例;同时设置远端数据中心的实例为AVAILABLE,只有本地实例都故障才切换到远端实例;可以减少RAC跨数据中心交互的次数,提升整体性能。
4.3.1.2 Mysql 主从配置
MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。本项目MySQL 采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。方案优势如下:
-
读写分离
在开发工作中,有时候会遇见某个sql 语句需要锁表,导致暂时不能使用读的服务,这样就会影响现有业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。 -
数据实时备份,当系统中某个节点发生故障时,可以方便的故障切换(主从切换)
提高数据安全-因为数据已复制到从服务器,从服务器可以终止复制进程,所以,可以在从服务器上备份而不破坏主服务器相应数据; -
高可用(HA)
因为数据库服务器中的数据都是相同的,当Master挂掉后,可以指定一台Slave充当Master继续保证服务的运行,因为数据是一致性的(如果当插入时Master就挂掉,可能不一致,因为同步也需要时间)当然这种配置不是简单的把一台Slave充当Master,毕竟还要考虑后续的Slave的数据同步到Master。
在主服务器上执行写入和更新,在从服务器上向外提供读功能,达到读写分离的效果,也可以动态地调整从服务器的数量,从而调整整个数据库的性能。
在主服务器上生成实时数据,而在从服务器上分析这些数据,从而提高主服务器的性能。
4.4 数据迁移方案
4.4.1 数据在线迁移技术
4.4.2 迁移步骤
配置数据迁移的主要步骤包括:
1. 安装部署。
确保本端存储系统和异构存储系统物理连接正常。
2. 配置异构存储系统。
将异构存储系统上的业务LUN映射给本端存储系统。
3. 配置本端存储系统。
通过创建eDevLUN实现对异构存储系统上业务LUN的托管。
4. 配置SmartMigration特性。
在本端存储系统上配置SmartMigration特性,将异构存储系统上业务LUN的数据迁移至本端存储系统上。此操作中,源LUN为异构存储系统中的业务LUN在本端存储系统托管成的eDevLUN,目标LUN为本端存储系统上新创建的LUN。
五、 方案小结
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。