
# 方案介绍
#### 容灾方案
配置应用系统的跨云热备容灾方案如[图1]所示。
图1应用系统的跨云热备容灾   
![](https://support.huaweicloud.com/bestpractice-hcdr/zh-cn_image_0164109874.png "点击放大")
在如[图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之间的数据同步方向为：互相同步。
  ![](https://support.huaweicloud.com/bestpractice-hcdr/public_sys-resources/notice_3.0-zh-cn.png)
  在使用MySQL自身的复制能力进行容灾时，不应再使用英方同步MySQL的有关数据文件。因英方i2软件会将整个文件夹和里面的文件完全同步，同时使用两种容灾机制会使得MySQL无法使用。
  因此，在本场景中，英方软件只用于管理应用系统的容灾，不管理MySQL的容灾。
  
 
#### 网络数据规划
在本方案中，华为云侧的服务器均部署在同一个VPC中，并划分为两个子网。
外部访问云服务器时，通过公共网络（即Public subnet）访问。应用系统与数据库互通时，则通过业务子网（即Private Subnet）进行互通。
华为云网络信息如[表1]所示。
 表1华为云网络信息 
| 网络    | 说明                            | 网段示例           |
|:---|:---|:---|
| VPC网段 | VPC网段不能与生产数据中心上的网段重复。         | 192.168.0.0/16 |
| 公共网络  | 用于外部对云服务器上的应用系统进行访问。          | 192.168.2.0/24 |
| 业务子网  | 用于应用系统与数据库之间的连接，以及进行容灾时的网络连通。 | 192.168.1.0/24 |
   
生产数据中心的网络规划如[表2]所示。
 表2生产数据中心网络信息 
| 网络   | 说明                   | 网段示例        |
|:---|:---|:---|
| 业务网络 | 用于与云上的服务器进行容灾时的网络互通。 | 10.1.1.0/24 |
| 公共网络 | 用于对应用系统的业务访问。        | 10.1.2.0/24 |
   
端口要求如[表3]所示。请根据该端口要求配置安全组规则，或放通防火墙端口。
![](https://support.huaweicloud.com/bestpractice-hcdr/public_sys-resources/note_3.0-zh-cn.png)
- 下述端口，为基于英方容灾要求及数据库容灾机制要求使用的默认端口。如在安装英方软件、MySQL时修改了端口，应根据实际调整。
- 本方案在验证时是基于公有云上的默认安全组进行验证，在实际配置时应基于业务的具体要求，并结合端口的要求，配置安全组。
 
 表3端口要求 
| 软件/服务             | 主机角色   | 端口类型    | 协议  | 端口    | 方向      |
|:---|:---|:---|:---|:---|:---|
| 英方i2node          | 应用服务器  | RPC服务端口 | TCP | 26821 | 出方向、入方向 |
| 英方i2node          | 应用服务器  | 镜像端口    | TCP | 26832 | 出方向、入方向 |
| 英方i2node          | 应用服务器  | 复制端口    | TCP | 26833 | 出方向、入方向 |
| 英方i2node          | 应用服务器  | 恢复端口    | TCP | 26831 | 出方向、入方向 |
| 英方i2node          | 应用服务器  | HA服务端口  | TCP | 26868 | 出方向、入方向 |
| 英方i2node          | 应用服务器  | HA心跳端口  | TCP | 26850 | 出方向、入方向 |
| 英方i2node          | 控制服务器  | HTTP端口  | TCP | 58080 | 出方向、入方向 |
| 英方i2node          | 控制服务器  | HTTPS端口 | TCP | 55443 | 出方向、入方向 |
| MySQL Replication | 数据库服务器 | 业务端口    | TCP | 3306  | 出方向、入方向 |
   
#### 云服务器规划
生产数据中心侧的服务器规划如[表4]所示。
 表4生产数据中心侧的服务器 
| 服务器          | 用途            | 主机名          | IP地址                                                                                                                                                                                                                                                                                                                  | 规格     |
|:---|:---|:---|:---|:---|
| MySQL使用的云服务器 | MySQL业务端的服务器  | mysql-master | 10.1.1.2/24 用于数据复制及访问数据库。                                                                                                                                                                                                                                                                | 以实际为准。 |
| MySQL使用的云服务器 | MySQL业务端的服务器  | mysql-slave2 | 10.1.1.3/24 用于数据复制及访问数据库。                                                                                                                                                                                                                                                              | 以实际为准。 |
| 应用系统使用的服务器   | 应用系统容灾使用的服务器。 | product-01   | - 10.1.2.4/24 用于应用系统对外提供服务。   - 10.1.1.4/24 用于数据复制及访问数据库。    | 以实际为准。 |
   
华为云侧的服务器规划如[表5]所示。
 表5华为云服务器规划 
| 云服务器                                                    | 用途                                                  | 主机名                 | IP地址                                                                                                                                                                                                                                                                                                                            | 规格                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|:---|
| MySQL使用的云服务器                                            | MySQL容灾使用的服务器。                                      | mysql-slave1        | 192.168.1.5/24 用于数据复制及访问数据库。                                                                                                                                                                                                                                                                     | - 规格名：与私有云数据中心配置相同，并选择c系列规格，如果没有特殊要求，建议使用"c3.xlarge.2"。  - 镜像：与生产数据中心相同的公共镜像，如果该镜像在公有云公共镜像不存在，则需要创建私有镜像。本场景中以使用公有云公共镜像进行说明。  - 存储：与私有云数据中心相同的存储容量和磁盘数量，建议选择"超高IO"云磁盘。  - 数量：一台                                                  |
| 应用系统的容灾服务器（即灾备机）  | 应用系统容灾使用的服务器。  | disater-01          | - 192.168.2.4/24 用于应用系统对外提供服务。   - 192.168.1.4/24 用于数据复制及访问数据库。    | - 规格名：与私有云数据中心配置相同，并选择c系列规格，如果没有特殊要求，建议使用"c3.xlarge.2"。  - 镜像：与生产数据中心相同的公共镜像，如果该镜像在公有云公共镜像不存在，则需要创建私有镜像。 本场景中以使用公有云公共镜像进行说明。   - 存储：与私有云数据中心相同的存储容量和磁盘数量，建议选择"超高IO"云磁盘。  - 数量：一台   |
| 容灾控制器（即控制机）                                             | 对应用容灾进行管理的软件所在的服务器。                                 | disaster-controller | - 192.168.1.6/24 用于数据复制及访问数据库。                                                                                                                                                      | - 规格：c3.xlarge2  - 镜像：推荐Windows 2012R2  - 存储："普通IO"云硬盘，默认40GB  - 数量：一台                                                                                                                                                     |
   
#### 云专线规划
云专线规划如[表6]所示。
 表6云专线规划 
| 项目 | 说明                                                                                                                                                                                                            |
|:---|:---|
| 带宽 | 需求带宽=平均数据变化率x1.25(考虑额外开销数据变化波动)x1.25(通常实际带宽只能达到所购买带宽的80%)x8 说明： 公式中的8为字节（Byte）到比特（Bit）的换算比率。 如日常数据传输为每秒10MBps，则需要带宽为：10MBpsx1.25x1.25x8=125Mbps |
| 延迟 | 建议小于30毫秒，请根据实际需要规划。                                                                                                                                                                                           |
   
#### MySQL数据库规划
业务端和灾备端的MySQL信息如[表7]所示。
![](https://support.huaweicloud.com/bestpractice-hcdr/public_sys-resources/note_3.0-zh-cn.png)
- 主备数据库操作系统、相关软件版本尽量保持一致。
- 实际业务配置以客户实际配置为准。
 
 表7MySQL数据库规划 
| 项目             | 业务端                        | 灾备端                        |
|:---|:---|:---|
| 操作系统           | 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]所示。
 表8复制目录规划 
| 目录                           | 说明        |
|:---|:---|
| /var/www/html/xinhu          | 该目录需要复制。  |
| /var/www/html/xinhu/webmain/ | 该目录不需要复制。 |
   
#### 约定
在按照本章操作之前，假定您已熟悉华为云上的云服务及掌握云服务的相关操作，并掌握了MySQL的基本知识和操作。
