私有部署版HA高可用部署方案
概述

为了满足行云管家私有部署用户对高可用方案的需求,通过与HA软件配合方式,让行云管家私有部署以高可用方式部署(仅适用于企业版或运营版)。本文中提到的HA软件,均以SkybilityHA为例(了解SkybilityHA)。由于HA产品的差异性,如果用户需要以其它HA产品进行部署,请自行查阅相关文档,行云管家不提供相关的技术支持,同时无法保证在其它HA产品下的兼容性 。

环境准备
1、硬件要求

1.1)需要两台物理机或虚拟机服务器,两台服务器的最低硬件要求均为:2核CPU和4GB内存,推荐4核CPU和8G内存;磁盘空间初始最低要求为:根分区“/”至少有40GB的空闲空间;

1.2)要求提供不低于100GB的外部存储,并支持同时挂载到上述两台物理机或虚拟机服务器上;

1.3)依据设备数和会话数要求适当提高硬件配置,依据网盘以及后续审计日志存储要求,适当增加外部存储空间。

2、网络要求

2.1)上述两台服务器均需要对外开放80端口及9099端口访问,两台服务器之间需要开放3388端口访问;

2.2)如果需要导入云主机,需开放外网出口的访问,并正确设置DNS;

2.3)上述两台服务器需要能够相互访问。

3、操作系统要求

2.1)本安装包仅能安装到Centos7.4操作系统。操作系统要求使用原生CentOS7.4的ISO进行安装,安装时可以是最小安装,硬盘分区需做自定义分区,分为:1024M挂载到 /boot 分区、4096M作为交换(Swap)分区、剩余所有空间挂载到根“/”分区;

2.2)本安装包的安装必须由root用户执行。

4、相关文件准备

4.1)准备好Centos7.4操作系统原生ISO文件CentOS-7.4-x86_64-DVD-1708.iso

4.2)准备好SkybilityHA的ISO安装文件ha-2.8.0-9.1.x86_64.iso

4.3)准备好行云管家私有部署安装包文件

5、资源准备

5.1)需要获取当前服务器所在网络的默认网关IP地址,该IP地址将用作HA的仲裁IP地址;

5.2)假设按上述要求准备的两台服务器分别为node1和node2,需要获知node1和node2服务器的IP地址;

5.3)需要获知将用于访问行云管家的IP地址。该IP地址将作为浮动IP地址,交由SkybilityHA配置于上述node1或node2服务器中(行云管家相关服务运行所在的服务器);

5.4)需要获知用于访问行云管家的IP地址将要配置到哪一个网卡接口上,并获知该网卡接口的名称;

5.5)准备好外部存储,并在安装行云管家及SkybilityHA前连接配置到上述node1和node2服务器中。在执行本文档后续的操作之前必须做好外部存储准备,并已经配置连接到上述两台服务器中

为了方便后续说明,我们假设上述要准备的资源如下表:

资源 内容 用途描述
默认网关 192.168.1.1 当前网段的默认网关IP地址,将用作HA的仲裁节点IP地址
node1_IP 192.168.1.10 node1(节点1)的IP地址,将用作两个HA节点间的心跳IP地址
node2_IP 192.168.1.11 node2(节点2)的IP地址,将用作两个HA节点间的心跳IP地址
APP_IP 192.168.1.88 访问行云管家所使用的IP地址,作为浮动IP地址由SkybilityHA配置于node1或node2上
网卡接口名称 eth0 访问行云管家所用的IP地址将会由SkybilityHA配置到该网卡接口上
存储名称 /dev/sdc 存储被接入到node1及node2服务器后,在服务器中的名称,可通过"fdisk -l"命令查询
安装

安装过程包括:SkybilityHA的安装、行云管家的安装及启动SkybilityHA。安装需要在两台服务器(node1及node2)上分别进行;

如上述,安装前需要先将存储配置连接到两台服务器中;

将存储配置连接到两台服务器后,将先分别在node1和node2服务器中安装SkybilityHA,然后再分别在node1和node2服务器中安装行云管家。

1、安装SkybilityHA

1.1)将CentOS7.0的ISO文件CentOS-7.4-x86_64-DVD-1708.iso分别拷贝到node1服务器和node2服务器的 /opt目录;

1.2)将SkybilityHA的ISO安装文件ha-2.8.0-9.1.x86_64.iso分别拷贝到node1服务器和node2服务器的 /opt目录;

1.3)在node1服务器和node2服务器上,分别执行以下6行命令,创建CentOS的ISO挂载目录、创建安装源:

mkdir -p /opt/centosdvd
mount -o loop /opt/CentOS-7-x86_64-DVD-1708.iso /opt/centosdvd
rm -f /etc/yum.repos.d/*
touch /etc/yum.repos.d/centosdvd.repo
echo -e "[centosdvd]\nname=centosdvd\nbaseurl=file:///opt/centosdvd\nenabled=1\ngpgcheck=0" >> /etc/yum.repos.d/centosdvd.repo
yum clean all

1.4)在node1服务器和node2服务器上,分别执行以下4行命令,创建SkybilityHA的ISO安装文件的挂载目录,并安装SkybilityHA:

mkdir -p /opt/haiso
mount -o loop /opt/ha-2.8.0-9.1.x86_64.iso /opt/haiso
cd /opt/haiso
./install -i ha

1.5)将有效的SkybilityHA许可文件(license)分别拷贝到node1服务器和node2服务器的 /opt/ha/lic/ 目录,完成SkybilityHA License放置;

1.6)在node1服务器和node2服务器上,分别执行以下命令,设置SkybilityHA管理控制台的用户名及密码:

hapasswd

执行命令后:

在提示“Enter new user :”时,请输入你要使用的用于登录SkybilityHA管理控制台的用户名(例如:admin),然后敲回车键;

在提示“Enter new password:”时,请输入你要使用的用于登录SkybilityHA管理控制台的密码(例如:123456),然后敲回车键;

在提示“Confirm password:”时,请再次输入你要使用的用于登录SkybilityHA管理控制台的密码(例如:123456),然后敲回车键。

待上述6步操作执行完成,即可完成SkybilityHA的安装。

2、安装行云管家

在成功安装SkybilityHA后,接下来需要安装行云管家;

2.1)将行云管家安装包文件 cloudguanjia_install.tar.gz 分别拷贝到node1服务器和node2服务器的某个目录,例如 /opt目录(以下将以 /opt目录为例进行说明,如果你将行云管家安装包文件放置于其它目录,则在执行命令前需要先将命令中的“/opt”修改为对应的目录);

2.2)在node1服务器和node2服务器上,分别执行以下两行命令,进入安装包所在目录并解压行云管家安装包文件:

cd /opt/
tar zxvf cloudguanjia_install.tar.gz

2.3)在node1服务器和node2服务器上,分别执行以下命令,进入行云管家安装装配文件所在目录:

cd /opt/cloudguanjia_install/ha/config/

2.4)将上述“环境准备”-“资源准备”一节中准备好的内容设置到安装装配文件中,操作如下:

在node1服务器和node2服务器上,分别执行以下6行命令,在安装装配文件中指明仲裁节点IP地址、node1服务器IP地址、node2服务器IP地址、访问行云管家所用的IP地址、访问行云管家所用的IP地址的网卡接口名称、外部存储连接后在node1服务器及node2服务器中的名称。

特别提示:以下命令中的各个“IP地址”【包括192.168.1.1、192.168.1.10、192.168.1.11及192.168.1.88】、“网卡接口名称”【eth0】及“存储连接后的名称”【/dev/sdc】均为本手册的示例,在执行命令前必须修改为对应的真实内容

sed -e "s#tiebreakip#192.168.1.1#" -i config.ini
sed -e "s#node1ip#192.168.1.10#" -i config.ini
sed -e "s#node2ip#192.168.1.11#" -i config.ini
sed -e "s#appip#192.168.1.88#" -i config.ini
sed -e "s#nicname#eth0#" -i config.ini
sed -e "s#storagename#/dev/sdc#" -i config.ini

2.5)在node1服务器上执行(注意:仅在node1服务器上执行)以下两行命令,在node1服务器上安装行云管家:

cd /opt/cloudguanjia_install/
./install.sh ha

2.6)待上述第5步之命令完全执行完成(注意:必须待上述第5步之命令完全执行完成),再在node2服务器上执行(注意:仅在node2服务器上执行)以下两行命令,在node2服务器上安装行云管家:

cd /opt/cloudguanjia_install/
./install.sh ha

2.7)待上述第6步之命令完全执行完成,行云管家即可安装完毕。

3、启动SkybilityHA

在node1服务器和node2服务器上,分别执行以下命令,启动SkybilityHA:

hadaemons start

启动后,可通过浏览器访问 http://node1_IP:9099 或 http://node2_IP:9099 来打开SkybilityHA的管理控制台;

SkybilityHA启动后,将会自动把行云管家启动起来,至此,行云管家的HA高可用方案就部署成功了。