在边缘设备上部署HA
前提条件
在所有的命令执行前请先执行umask 0077命令设置默认权限。
操作步骤
- 上传获取软件包中获取的Ascend-mindxedge-keepalived_{version}_linux-{arch}.zip软件包,部署到边缘设备中的指定目录“/opt/middleware/”下,请确保此目录下没有与解压后的所有文件同名的文件或者文件夹,以root用户执行unzip Ascend-mindxedge-keepalived_{version}_linux-{arch}.zip命令解压,解压后的内容如下所示。
表1 解压后文件内容 文件名
文件信息
Ascend-mindxedge-keepalived_{version}_linux-{arch}.tar.gz
HA相关材料压缩包,内含keepalived.patch等材料
Ascend-mindxedge-keepalived_{version}_linux-{arch}.tar.gz.cms
CMS签名文件
Ascend-mindxedge-keepalived_{version}_linux-{arch}.tar.gz.crl
证书吊销列表
- 解压Ascend-mindxedge-keepalived_{version}_linux-{arch}.tar.gz软件包。以root用户在当前目录下执行tar -mxvf Ascend-mindxedge-keepalived_{version}_linux-{arch}.tar.gz --no-same-owner命令解压,解压前请确保此目录下没有与解压后的文件夹或文件同名的文件夹或文件,解压后的内容如下所示。
表2 解压后文件 文件或文件夹名
文件或文件夹信息
keepalived.patch
补丁文件,用于给开源keepalived源码打上补丁,制作keepalived二进制。
keepalived
文件夹,内含实现HA功能的相关脚本。
version
版本文件。
- 将编译keepalived二进制文件章节中获得的keepalived二进制上传至“/opt/middleware/keepalived/bin”目录下。用户可参考如下方式上传keepalived二进制。
执行scp root@{compilation_device}:{compile_path}/keepalived-2.2.4/bin/keepalived /opt/middleware/keepalived/bin命令。
命令示例如下:scp root@192.168.XX.XX:/home/keepalived-2.2.4/bin/keepalived /opt/middleware/keepalived/bin
表3 参数说明 参数
说明
compilation_device
keepalived二进制编译环境的IP地址。
compile_path
编译环境中开源keepalived源码的上传路径。
- 执行vi /opt/middleware/keepalived/conf/env.json命令,打开env.json文件;参考两种组网模式的参数示例和表4配置参数后保存文件。
- 心跳独立组网
{ "VRRP_INSTANCE_PRIORITY":"100", "VRRP_INSTANCE_INTERFACE":"eth5", "VRRP_INSTANCE_VIRTUAL_IP":"192.168.XX.XX dev eth4", "PEER_VIP_INTERFACE_MAC":"XX:XX:XX:XX:XX:XX", "PEER_IP01":"192.168.XX.XX", "ARBITRATION_IP":"192.168.XX.XX", "ROUTE_ID":"102", "SRC_IP":"192.168.XX.XX" }
- 心跳非独立组网
{ "VRRP_INSTANCE_PRIORITY":"100", "VRRP_INSTANCE_INTERFACE":"eth4", "VRRP_INSTANCE_VIRTUAL_IP":"192.168.XX.XX", "PEER_VIP_INTERFACE_MAC":"XX:XX:XX:XX:XX:XX", "PEER_IP01":"192.168.XX.XX", "ARBITRATION_IP":"192.168.XX.XX", "ROUTE_ID":"102", "SRC_IP":"192.168.XX.XX" }
表4 env.json环境变量说明 环境变量
描述
说明
VRRP_INSTANCE_PRIORITY
节点优先级,取值范围1~255。
主节点优先级要高于备节点。
VRRP_INSTANCE_INTERFACE
keepalived VRRP心跳通信接口名字。
主备节点要保证心跳网卡是互通的。
VRRP_INSTANCE_VIRTUAL_IP
浮动IP,也称作VIRTUAL IP或者VIP。用作同一高可用集群统一的外部访问入口,动态绑定在主节点的业务网卡上。与主备节点网卡IP在同一个网段,可以ping通。
格式:
保证浮动IP地址未被使用,主备节点浮动IP地址保持一致,dev(心跳网卡)根据实际组网方式选择,主备节点心跳网卡保证是连通的。
PEER_IP01
对端心跳网卡IP。
配置主节点HA软件时,填写备节点心跳网卡IP。
配置备节点HA软件时,填写主节点心跳网卡IP。
ROUTE_ID
高可用集群ID,一般子网内如果需要搭建多个高可用集群,那么高可用集群相互间的ID不能相同。
取值范围1~255,默认值为浮动IP第四段地址值。
主备节点保持一致,且不和其他高可用集群ID相同。
ARBITRATION_IP
仲裁IP,用于协助判断主备倒换,一般配置为网关地址,可以被主备节点连通。
主备节点保持一致。
PEER_VIP_INTERFACE_MAC
对端业务网卡的MAC地址。
配置主节点HA软件时,填写备节点业务网卡的MAC地址。
配置备节点HA软件时,填写主节点业务网卡的MAC地址。
SRC_IP
心跳网卡IP。
配置主节点HA软件时,填写主节点心跳网卡IP。
配置备节点HA软件时,填写备节点心跳网卡IP。
浮动IP、对端心跳网卡IP、仲裁IP和心跳网卡IP都仅支持Ipv4,不能为全零地址(0.0.0.0),广播地址(255.255.255.255)和系统回环地址(127.0.0.0 ~ 127.255.255.255)。
适用场景如下(整体上推荐心跳非独立组网):- 心跳独立组网:心跳网口使用单独的网卡。对于业务网口流量比较大,可能会影响到心跳的场景,推荐心跳独立组网,但该组网场景下,可能存在双主脑裂风险。
- 心跳非独立组网:心跳网口和业务网口共用一个网卡。对于业务网络流量基本上不会影响到心跳的场景,推荐心跳非独立组网,该组网配置简单,且不存在脑裂风险。
- 心跳独立组网