方案介绍
容灾方案
配置应用系统的跨云热备容灾方案如图1所示。
在如图1所示的方案中,用户的生产数据中心的应用系统使用MySQL作为数据库,应用系统与MySQL均热备容灾到华为云上。用户的生产数据中心与华为云之间使用专线进行网络连接。
当生产数据中心发生灾难时,用户需要将原生产数据中心的业务故障转移到容灾端(即华为云),并将业务流量的请求引流到华为云上ELB,实现应用系统的业务连续性。待云下的生产数据中心恢复后,云上MySQL的数据会自动同步至云下的MySQL,从而将华为云上的业务应用数据同步到云下的生产数据中心。用户也可根据计划将生产站点切回到云下的生产数据中心,实现云下的生产数据中心与华为云之间互相容灾切换,实现应用系统的业务跨云热备容灾效果。
- 应用系统容灾
使用英方i2软件,将应用系统的配置数据复制到华为云的云服务器上。在本场景中,以某OA软件作为应用系统为例进行说明。
英方i2灾备软件系统,共分为三部分:
- 工作机:工作机指的是用户的生产机,即源端,被容灾的服务器。
- 灾备机:灾备机指的是存放灾备数据的远程服务器,即目的端,容灾服务器。
- 控制机:控制机则指的是i2灾备软件系统的控制平台所属的服务器。
英方i2灾备软件运行在操作系统之上,能够达到操作系统数据级别的容灾要求。需要将英方i2灾备软件部署到生产数据中心应用系统的每一台应用服务器(以两台应用服务器为例,上面部署的应用为http)和华为云的应用系统容灾对应的服务器中,同时应创建一台云服务器作为控制机。
- 数据库容灾
使用数据库自身复制技术,将数据库的数据复制到华为云的云服务器上。在华为云上,应用系统与数据库属于同一个VPC,可通过子网互通。当用户的生产数据中心发生故障时,应用系统和数据库切换到华为云数据中心,保证业务连续稳定。
在本场景中,以三个MySQL节点配置容灾为例进行介绍。生产数据中心侧(即业务端)的两台服务器上,配置MySQL主备容灾,分别是Master和Slave(命名为Slave2),华为云侧(即灾备端)的一台服务器上,配置MySQL的灾备端,是Slave(命名为slave1),与云下的Master形成互为主备关系。
Master与Slave2之间数据的同步方向为:Master可同步到Slave1;Master与Slave2之间的数据同步方向为:互相同步。
在使用MySQL自身的复制能力进行容灾时,不应再使用英方同步MySQL的有关数据文件。因英方i2软件会将整个文件夹和里面的文件完全同步,同时使用两种容灾机制会使得MySQL无法使用。
因此,在本场景中,英方软件只用于管理应用系统的容灾,不管理MySQL的容灾。
网络数据规划
在本方案中,华为云侧的服务器均部署在同一个VPC中,并划分为两个子网。
外部访问云服务器时,通过公共网络(即Public subnet)访问。应用系统与数据库互通时,则通过业务子网(即Private Subnet)进行互通。
华为云网络信息如表1所示。
网络 |
说明 |
网段示例 |
---|---|---|
VPC网段 |
VPC网段不能与生产数据中心上的网段重复。 |
192.168.0.0/16 |
公共网络 |
用于外部对云服务器上的应用系统进行访问。 |
192.168.2.0/24 |
业务子网 |
用于应用系统与数据库之间的连接,以及进行容灾时的网络连通。 |
192.168.1.0/24 |
生产数据中心的网络规划如表2所示。
端口要求如表3所示。请根据该端口要求配置安全组规则,或放通防火墙端口。
- 下述端口,为基于英方容灾要求及数据库容灾机制要求使用的默认端口。如在安装英方软件、MySQL时修改了端口,应根据实际调整。
- 本方案在验证时是基于公有云上的默认安全组进行验证,在实际配置时应基于业务的具体要求,并结合端口的要求,配置安全组。
云服务器规划
生产数据中心侧的服务器规划如表4所示。
服务器 |
用途 |
主机名 |
IP地址 |
规格 |
---|---|---|---|---|
MySQL使用的云服务器 |
MySQL业务端的服务器 |
mysql-master |
10.1.1.2/24 用于数据复制及访问数据库。 |
以实际为准。 |
MySQL业务端的服务器 |
mysql-slave2 |
10.1.1.3/24 用于数据复制及访问数据库。 |
||
应用系统使用的服务器 |
应用系统容灾使用的服务器。 |
product-01 |
华为云侧的服务器规划如表5所示。
云服务器 |
用途 |
主机名 |
IP地址 |
规格 |
---|---|---|---|---|
MySQL使用的云服务器 |
MySQL容灾使用的服务器。 |
mysql-slave1 |
192.168.1.5/24 用于数据复制及访问数据库。 |
|
应用系统的容灾服务器(即灾备机) |
应用系统容灾使用的服务器。 |
disater-01 |
||
容灾控制器(即控制机) |
对应用容灾进行管理的软件所在的服务器。 |
disaster-controller |
|
云专线规划
云专线规划如表6所示。
MySQL数据库规划
业务端和灾备端的MySQL信息如表7所示。
- 主备数据库操作系统、相关软件版本尽量保持一致。
- 实际业务配置以客户实际配置为准。
项目 |
业务端 |
灾备端 |
---|---|---|
操作系统 |
Redhat 7.3 |
Redhat 7.3 |
主机名 |
mysql-master,mysql-slave2 |
mysql-slave1 |
数据库版本 |
MySQL 5.7 |
MySQL 5.7 |
instance_name |
mysql-master,mysql-slave2 |
mysql-slave1 |
Mysql_Home(DB) |
/var/lib/mysql/ |
/var/lib/mysql/ |
binlog日志格式 |
MIXED |
MIXED |
端口 |
3306 |
3306 |
数据库帐户 |
root |
root |
数据库密码 |
根据实际配置密码。 |
根据实际配置密码。 |
容灾数据库名 |
根据实际配置数据库名,本场景中以“xinhu”为例。 |
根据实际配置数据库名,本场景中以“xinhu”为例。 |
应用系统同步目录规划
在配置应用系统容灾的时候,需要指定应用系统所在服务器上的复制目录,英方i2容灾软件根据该目录进行数据的同步和管理。
在本场景中,因该OA软件自身的配置文件在不同主机上有所不同,需要将复制的目录及不复制的内容进行区分,如表8所示。
约定
在按照本章操作之前,假定您已熟悉华为云上的云服务及掌握云服务的相关操作,并掌握了MySQL的基本知识和操作。