基于Grid Infrastructure集群的MYSQL数据库高可用方案的研究与实现

2018-11-19 07:30朱广新马俊磊
通信电源技术 2018年9期
关键词:实例客户端集群

朱广新,马俊磊

(1.南瑞集团有限公司,江苏 南京211000;2.南京基石数据技术有限责任公司,江苏 南京210093)

0 引 言

DBMS广泛应用于现代社会的方方面面,政府机构、学校、银行、房地产集团、电信企业、航空公司、电商企业等组织机构都需要使用DBMS来管理其业务数据。DBMS已经成为这些领域关键的核心信息系统之一[1]。然而随着业务数据的持续增长,特别是大数据时代背景下每天指数级增长的业务数据,DBMS不可避免地会出现各种故障及性能瓶颈,因此DBMS的高可用性能就显的尤为重要。

基于Grid Infrastructure集群的MYSQL数据库高可用方案是将MYSQL作为Grid Infrastructure集群管理的一个资源,在软件架构上实现了数据库的高可用设计。当MYSQL数据库发生故障时,该集群会自动恢复发生故障的数据库,或者将其转移到其他节点上运行,该恢复过程对于用户而言是不可知的,用户不用修改任何配置也可以持续地访问数据库,有效地实现了数据库的高可用性。

1 目前基于Grid Infrastructure集群的数据库高可用架构方案

Grid Infrastructure是 ORACLE 11gR2新发布的一款集群解决方案,以下详细介绍基于该软件的高可用架构的组成与结构,以及基于架构的ORACLE RAC数据库的高可用方案。

1.1 Grid Infrastructure高可用架构

由各节点硬盘构成的共享存储,为该架构的数据存储层,各资源的数据目录存放于共享存储中。Grid Infrastructure为该架构的核心管理中心,托管各个资源,通过集群策略配置,可以有效实现各种类型资源的高可用性。

1.2 基于Grid Infrastructure的 ORACLE RAC高可用方案

基于Grid Infrastructure的ORACLE RAC高可用架构如图1所示。

图1 基于Grid Infrastructure的ORACLE RAC高可用架构

图1 表示了基于Grid Infrastructure的ORACLE RAC高可用架构的组成与结构,其结构分为以下几个主要部分:

(1)Grid Infrastructure层

这部分是该方案的核心管理区,在其之下还有底层的存储架构。

(2)节点层

这部分以集群各节点为主,NODE1和NODE2为两个节点,NODE1-VIP和 NODE2-VIP是分别依赖于这两个节点的虚拟IP,其完全依赖于节点的存活状态。

(3)数据库实例层

该方案的数据库层为ORACLE RAC数据库。这里以两节点为例,RAC_DB1和RAC_DB2为ORACLE RAC数据库的两个实例,当其所在的节点NODE1或NODE2宕机后,集群会自动将该节点上的数据库实例转移到其余存活的节点运行,有效地保障了数据库的高可用性。

(4)网络层

网络层主要以 SCAN-IP为主,客户端的tnsnames配置文件中,只需要 SCAN-IP信息。SCAN-IP类似服务端对外提供服务的虚拟主机,客户端只需要连接到该主机就可以实现对服务端的访问,只不过访问的服务端的具体节点是随机的。

2 基于Grid Infrastructure的 MYSQL数据库高可用方案

MYSQL数据库高可用方案是将MYSQL数据库配置成 Grid Infrastructure管理的一种generic_application类型资源,该资源可以和其对应的VIP产生依赖关系,在该方案中,数据库是一种通用应用程序资源,Grid Infrastructure并不认为 MYSQL是一种数据库资源,也就是说Grid Infrastructure根本没有意识到MYSQL是一种数据库!通过配置依赖于该数据库的VIP信息,可以有效实现该数据库的高可用性。

如图2所示,其中MYSQL1为运行于NODE1和NODE2节点上的MYSQL数据库实例,MYSQL-VIP为依赖于该数据库实例的VIP。当其依赖的数据库实例宕机或者发生故障时,Grid Infrastructure首先会将数据库在其发生故障的节点重启,如果超过一定次数,就将其对应VIP漂移到任意存活的节点上,并在新节点上将数据库重启,客户端通过VIP来访问数据库,保障了在节点宕机、数据库启动失败、崩溃等情况下客户端的可靠性以及数据库的高可用性。这一点和第1.2节中的高可用方案有本质区别,后者只有当节点宕机时,VIP才会动态的漂移。

图2 基于Grid Infrastructure集群的MYSQL数据库高可用方案架构

3 总 结

本文分析了目前基于Grid Infrastructure的ORACLE RAC数据库高可用解决方案,提出了一种新型的基于Grid Infrastructure的MYSQL数据库高可用架构,并且由于MYSQLS数据库开源易得,可以有效地节省用户的购置成本。

猜你喜欢
实例客户端集群
海上小型无人机集群的反制装备需求与应对之策研究
如何看待传统媒体新闻客户端的“断舍离”?
一种无人机集群发射回收装置的控制系统设计
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人
完形填空Ⅱ
完形填空Ⅰ