设置管理节点 HA

管理节点 HA 用于提高 ZSphere 管理面的可用性。配置管理节点 HA 后,当主管理节点异常时,系统可以通过备用管理节点继续提供管理服务。

设置管理节点 HA 前,请准备两台已安装管理节点服务的服务器,并提前规划管理网络、业务网络和 VIP。您可以使用图形化界面完成设置,也可以按命令行流程依次安装操作系统、配置网络并安装高可用套件。

使用图形化界面设置

前提条件

  • 选取的两台服务器均需要安装管理节点服务。有关如何安装管理节点服务,请参阅 安装管理节点
  • 确保两个管理节点的网关地址在同一网络段内,并且两个管理节点的网卡名称配置保持一致。
  • 确保两个管理节点的版本保持一致。
  • 确保两个管理节点的操作系统类型和架构受支持,且两个管理节点系统类型保持一致。
  • 确保两个管理节点使用相同类型的许可证。

操作步骤

  1. 登录任意一个管理节点的 UI 管理界面。
    如果是还未初始化的全新环境:
    1. 欢迎使用初始化向导弹窗中,点击下一步,系统将自动检测管理节点 HA 状态。
    2. 设置管理节点HA弹窗中,点击前往MN Ops
    3. 点击后,将在浏览器新标签页中打开 MN Ops 页面。
    图 1. 从初始化页面前往 MN Ops


    如果是现有环境:
    1. 在导航栏中,点击可靠服务 > 管理节点监控
    2. 管理节点监控页面,点击前往MN Ops
    3. 点击后,将在浏览器新标签页中打开 MN Ops 页面。
    图 2. 从管理节点监控页面前往 MN Ops


  2. 在 MN Ops 的管理节点监控页面,点击设置管理节点HA
    图 3. 管理节点监控页面


  3. 设置管理节点 HA弹窗中,完成管理节点配置、配置信息确认、设置管理节点 HA。
    1. 对于配置管理节点,参考以下示例完成配置:
      • VIP:设置 VIP 用于后续访问管理节点环境的管理界面
        Note: 需确保 VIP 与主管理节点 IP 在相同网络段内。
      • 主管理节点IP:显示主管理节点的 IP 地址。指定主管理节点 SSH 用户名和密码
      • 备管理节点IP:指定备管理节点的 IP 地址、SSH 用户名和密码
        Note:
        • 需确保备管理节点 IP 与主管理节点 IP 在相同网络段内。
        • 设置管理节点 HA 时,密码仅支持英文字母、数字和以下特殊字符:-=[];,./~!@#$%^&*()_+|{}:<>?`。若您的管理节点密码不符合此规则,请修改后再设置管理节点 HA。
      • 时间同步服务器:默认使用主管理节点地址作为时间同步服务器
      • 强制同步:默认关闭。当主备管理节点的数据库无法完成自动同步时,对主管理节点强制执行 zsha2 安装命令
      • 数据库密码:留空不填时,默认使用初始数据库密码。若已修改过数据库密码,需填写修改后的数据库密码
      图 4. 配置管理节点


    2. 点击下一步
      系统将自动检测是否满足添加条件。
    3. 确认配置信息步骤中,检查主备管理节点的资源信息。
      Note:
      1. 确定添加后,系统将先自动备份主管理节点的数据库,再执行添加操作。
      2. 添加时,主备管理节点将停止运行,同时备管理节点的数据库将被主管理节点的数据库覆盖,请谨慎操作。
      3. 若在对比主备管理节点资源信息时,发现备管理节点存在较多资源,如需保留其资源,建议勾选切换主备管理节点。勾选后,将调换主备管理节点角色,将资源较多的备管理节点作为主管理节点来设置管理节点 HA。
      图 5. 确认配置信息


    4. 输入确认信息后,点击确定
    5. 设置管理节点 HA步骤中,查看添加进度及任务结果。
      图 6. 设置管理节点 HA


  4. 添加成功后,点击前往VIP,通过 VIP 访问平台管理界面。
    图 7. 前往VIP


使用命令行设置

当无法通过图形化界面设置管理节点 HA,或需要在服务器部署阶段完成更细粒度的配置时,可以使用命令行方式设置管理节点 HA。

命令行设置管理节点 HA 需要按顺序完成以下操作:

  1. 安装操作系统。
  2. 配置管理网络。
  3. 配置业务网络。
  4. 安装高可用套件。

完成上述操作后,请通过 VIP 登录 ZSphere,并检查管理节点 HA 服务状态。

安装操作系统

本场景中,管理员需分别在选取的两台服务器上安装管理节点模式。

操作步骤

  1. 选择引导项。
    进入 ISO 系统引导界面,选择默认选项开始安装操作系统。您可根据实际情况选择,建议使用图形界面安装。若服务器无 VGA 接口,仅支持串口连接,您可使用 VNC 方式或字符安装方式。
    • 图形界面方式
    • VNC 方式
    • 字符安装方式
    图 8. 系统引导


  2. 选择安装模式。
    1. INSTALLATION SUMMARY 界面,点击 Software Selection
    2. SOFTWARE SELECTION 界面,选择安装模式。
      管理节点所在服务器选择Management Node模式,其余节点所在服务器选择Compute Node模式。
    3. 选择完安装模式后,点击 Done
    图 9. 选择安装模式


  3. 配置硬盘分区。
    1. INSTALLATION SUMMARY 界面,点击 Installation Destination,进入 INSTALLATION DESTINATION 界面。
    2. 对于 Device Selection,建议此处仅配置系统盘,其余磁盘可在系统安装后配置。
    3. 对于 Storage Configuration,建议选择 Automatic 自动配置硬盘分区。
      若您需手动配置,可根据 BIOS 引导模式参考以下内容:
      • UEFI 模式:
        • /boot:存放 Linux 启动所需的核心文件,建议分配 1 GB 空间
        • /boot/efi:存放 UEFI 启动引导文件,建议分配 500 MB
        • swap:交换区,建议分配 32 GB
        • /:Linux 系统根目录,建议分配全部剩余空间
      • Legacy 模式
        • /boot:存放 Linux 启动所需的核心文件,建议分配 1 GB 空间
        • swap:交换区,建议分配 32 GB
        • /:Linux 系统根目录,建议分配全部剩余空间
      Note:
      • 以上数值为 ZSphere 建议分区容量(磁盘总容量大于 300 GB)。
      • Legacy 模式下,若系统盘容量大于 2 TB,需配置 BIOS boot 分区,以支持 GPT 分区。UEFI 模式没有此限制,且支持 GPT 分区。
    4. 确认配置无误后,点击 Done
    图 10. 配置硬盘分区


  4. INSTALLATION SUMMARY 界面,点击 Root Password,设置操作系统 root 密码。
  5. INSTALLATION SUMMARY 界面,点击 Begin Installation,开始安装操作系统。

配置管理网络

背景信息

本场景对管理节点的网络信息以及用于 Keepalived 通信的 VIP 设定如下:
服务器 网卡 1 网卡 2 聚合接口 网桥 IP 地址 掩码 网关
管理节点 1 eth0 eth1 bond0 br_bond0 192.168.195.200 255.255.0.0 192.168.0.1
管理节点 2 eth0 eth1 bond0 br_bond0 192.168.196.125 255.255.0.0 192.168.0.1
- IP 地址 掩码
VIP 192.168.199.151 255.255.0.0
Note:
  • VIP 用于登录管理节点 UI 界面,请避免使用 VIP 通过 SSH 方式登录管理节点。
  • 以上为示例数据,管理员可根据实际部署环境自行更改。
  • 网关需由物理网络设备提供,同时作为网络状态仲裁检测

操作步骤

  1. 登录管理节点 1 操作系统,然后执行以下命令。
    # 创建聚合网卡bond0
    [root@localhost ~]# zs-bond-lacp -c bond0
    
    # 将网卡eth0与eth1均添加到bond0
    [root@localhost ~]# zs-nic-to-bond -a bond0 eth0
    [root@localhost ~]# zs-nic-to-bond -a bond0 eth1
    
    # 配置上述链路聚合后,请管理员在对应的交换机网口配置LACP聚合
    
    # 创建网桥br_bond0,指定网络IP、掩码和网关
    [root@localhost ~]# zs-network-setting -b bond0 192.168.195.200 255.255.0.0 192.168.0.1
    
    # 查看聚合端口bond0是否创建成功
    [root@localhost ~]# zs-show-network
    ...
    ----------------------------------------------------------------------------------
    | Bond Name  | SLAVE(s)        | BONDING_OPTS                                     |
    ----------------------------------------------------------------------------------
    | bond0      | eth0            | miimon=100 mode=4 xmit_hash_policy=layer2+3        |
    |            | eth1            |                                                    |
    ---------------------------------------------------------------------------------
  2. 登录管理节点 2 操作系统,然后执行类似的配置命令。
    Note:
    • eth0 和 eth1 加载到 bond0 后,对应交换机的端口需要配置 LACP 聚合,否则网络通信将异常。
    • 通过 bond0 创建网桥后,网桥命名为 br_bond0,将提供管理网络服务。
    • 关于网桥的IP地址、子网掩码和网关参数,用户需按照实际情况填写。
    • 管理网络配置完成后,可通过ping命令进行检测;若配置正确,则两管理节点的管理网络对应的 IP 地址可互ping
    • 管理网络建议采用万兆以上带宽,若独立部署,允许千兆带宽。

配置业务网络

背景信息

本场景对业务网络的设定如下:
节点 网卡 1 网卡 2 聚合接口 网桥 IP 地址 掩码 网关
管理节点 1 em1 em2 bond1 - - - -
管理节点 2 em1 em2 bond1 - - - -

操作步骤

  1. 登录管理节点 1 操作系统,然后执行以下命令。
    # 创建聚合网卡bond1
    [root@localhost ~]# zs-bond-lacp -c bond1
    
    # 将网卡em1与em2均添加到bond1
    [root@localhost ~]# zs-nic-to-bond -a bond1 em1
    [root@localhost ~]# zs-nic-to-bond -a bond1 em2
    
    # 配置上述链路聚合后,请管理员在对应的交换机网口配置LACP聚合
    
    # 业务网络,无需创建网桥
    
    # 查看聚合端口bond1是否创建成功
    [root@localhost ~]# zs-show-network
    ...
    ----------------------------------------------------------------------------------
    | Bond Name  | SLAVE(s)        | BONDING_OPTS                                     |
    ----------------------------------------------------------------------------------
    | bond1      | em1            | miimon=100 mode=4 xmit_hash_policy=layer2+3        |
    |            | em2            |                                                    |
    ---------------------------------------------------------------------------------
  2. 登录管理节点 2 操作系统,然后执行类似的配置命令。
    Note: em1 和 em2 加载到 bond1 后,对应交换机的端口需要配置 LACP 聚合,否则网络通信将异常。

安装高可用套件

完成操作系统安装、管理网络配置和业务网络配置后,需要安装高可用套件,将两台管理节点组成高可用环境。

高可用套件支持以下安装方式:

Note: 使用相同配置安装高可用套件时,直接指定命令行方式的优先级高于配置文件方式。

通过命令行安装

本场景中,管理员已经将两台服务器安装为 ZSphere 管理节点。现在,管理员只需对其中一个管理节点安装高可用套件,即可设置管理节点高可用。若管理员对管理节点 1 安装高可用套件,则管理节点 1 为主管理节点,管理节点 2 为备管理节点。

操作步骤

  1. 导入高可用套件。
    登录管理节点 1 操作系统,将高可用套件导入管理节点 1 并解压。
    # 通过scp工具将高可用套件传输到管理节点1
    [root@localhost ~]# ls
    ZStack-ZSphere-Multinode-HA-Suite.tar.gz
    
    # 将高可用套件解压,生成两个可执行文件:zsha2和zstack-hamon
    [root@localhost ~]# tar zxvf ZStack-ZSphere-Multinode-HA-Suite.tar.gz
    zsha2 //管理节点高可用的安装和管理程序
    zstack-hamon //管理节点高可用的监控程序
  2. HA 初始化。
    执行以下命令,在管理节点 1 中安装高可用套件:
    [root@localhost ~]# chmod +x zsha2 zstack-hamon
    [root@localhost ~]# ./zsha2 install-ha -nic br_bond0 -gateway 192.168.0.1 -slave "root:password@192.168.196.125" \
    -vip 192.168.199.151 -myip 192.168.195.200 -db-root-pw zstack.mysql.password -time-server 192.168.196.125 -cidr 192.168.0.0/16 -yes
    Note:
    • 安装命令执行后,会先自动备份主备管理节点的数据库,再执行安装操作。
    • 安装高可用套件,需将 zsha2zstack-hamon 放在一个目录,安装过程中,zsha2 会自动部署 zstack-hamon 以及相关配置文件。
  3. 查看管理节点状态。
    高可用套件初始化完成后,执行以下命令,查看管理节点状态:
    # 查看管理节点1的状态
    [root@localhost ~]# zsha2 status
    Status report from 192.168.195.200
    =================================
    Owns virtual address:            yes //管理节点1已获取VIP,同一时刻只允许一个管理节点获取VIP
    Self 192.168.195.200 reachable:   yes //管理节点1可达
    Gateway 192.168.0.1 reachable:    yes //当前网关可达
    VIP 192.168.199.151 reachable:    yes //VIP可达
    Peer 192.168.196.125 reachable:   yes //管理节点2可达
    Keepalived status:               active //Keepalived服务处于工作状态
    ZStack HA Monitor:               active //高可用监控服务处于工作状态
    MySQL status:                    mysqld is alive //数据库正常工作
    MN status: Running [PID:6500] //管理节点正常工作
    UI status: Running [PID:9785] https://192.168.195.200:443 //UI正常工作
    
    Slave Status:
    -------------
                 Slave_IO_Running: Yes //Slave IO正常运行
                Slave_SQL_Running: Yes //Slave SQL正常运行
                       Last_Error:
            Seconds_Behind_Master: 0
                    Last_IO_Error:
                   Last_SQL_Error:
    
    Warning: Permanently added '192.168.196.125' (ECDSA) to the list of known hosts.
    Status report from 192.168.196.125 //查看管理节点2的状态
    ================================
    Owns virtual address:            no
    Self 192.168.196.125 reachable:    yes
    Gateway 192.168.0.1 reachable:    yes
    VIP 192.168.199.151 reachable:     yes
    Peer 192.168.195.200 reachable:   yes
    Keepalived status:               active
    ZStack HA Monitor:               active
    MySQL status:                    mysqld is alive
    
    Slave Status:
    -------------
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
                       Last_Error:
            Seconds_Behind_Master: 0
                    Last_IO_Error:
                   Last_SQL_Error:
    
    Note: visit ZStack UI with https://192.168.199.151:443
    Note: 安装高可用套件过程中,已自动为两个管理节点做 SSH 免密登录。

通过配置文件安装

本场景中,管理员已经将两台服务器安装为 ZSphere 管理节点。现在,管理员只需对其中一个管理节点安装高可用套件,即可设置管理节点高可用。若管理员对管理节点 1 安装高可用套件,则管理节点 1 为主管理节点,管理节点 2 为备管理节点。

操作步骤

  1. 导入高可用套件。
    登录管理节点 1 操作系统,将高可用套件导入管理节点 1 并解压。
    # 通过scp工具将高可用套件传输到管理节点1
    [root@localhost ~]# ls
    ZStack-ZSphere-Multinode-HA-Suite.tar.gz
    
    # 将高可用套件解压,生成两个可执行文件:zsha2和zstack-hamon
    [root@localhost ~]# tar zxvf ZStack-ZSphere-Multinode-HA-Suite.tar.gz
    zsha2 //管理节点高可用的安装和管理程序
    zstack-hamon //管理节点高可用的监控程序
  2. 编写配置文件。
    执行以下命令,编写高可用套件的初始化配置文件:
    [root@localhost ~]# chmod +x zsha2 zstack-hamon
    [root@localhost ~]# ./zsha2 sample-config > zs-install.config
    [root@localhost ~]# cat zs-install.config
    {
      "gateway": "192.168.0.1", //主备管理节点的仲裁网关
      "virtualIp": "192.168.199.151", //指定Keepalived通信的VIP
      "myIp": "192.168.195.200", //指定本机IP
      "peerIp": "192.168.196.125", //指定Peer管理节点IP
      "peerSshUser": "root", //指定Peer管理节点SSH用户名
      "peerSshPass": "password", //指定Peer管理节点SSH密码
      "peerSshPort": 22, //指定Peer管理节点SSH端口
      "dbRootPass": "zstack.mysql.password", //指定主备管理节点的数据库root密码(必须相同)
      "interface": "br_bond0", //物理设备名,用于配置VIP,生产环境一般是一个管理网络的网桥
      "timeServer": "192.168.196.125" //指定时间同步服务器,用于统一时间同步
    }
  3. HA 初始化。
    执行以下命令,初始化安装高可用套件:
    [root@localhost ~]# ./zsha2 install-ha -config zs-install.config
    Note:
    • 安装命令执行后,会先自动备份主备管理节点的数据库,再执行安装操作。
    • 安装高可用套件,需将 zsha2zstack-hamon 放在一个目录,安装过程中,zsha2 会自动部署 zstack-hamon 以及相关配置文件。
  4. 查看管理节点状态。
    高可用套件初始化完成后,执行以下命令,查看管理节点状态:
    # 查看管理节点1的状态
    [root@localhost ~]# zsha2 status
    Status report from 192.168.195.200
    =================================
    Owns virtual address:            yes //管理节点1已获取VIP,同一时刻只允许一个管理节点获取VIP
    Self 192.168.195.200 reachable:   yes //管理节点1可达
    Gateway 192.168.0.1 reachable:    yes //当前网关可达
    VIP 192.168.199.151 reachable:    yes //VIP可达
    Peer 192.168.196.125 reachable:   yes //管理节点2可达
    Keepalived status:               active //Keepalived服务处于工作状态
    ZStack HA Monitor:               active //高可用监控服务处于工作状态
    MySQL status:                    mysqld is alive //数据库正常工作
    MN status: Running [PID:6500] //管理节点正常工作
    UI status: Running [PID:9785] https://192.168.195.200:443 //UI正常工作
    
    Slave Status:
    -------------
                 Slave_IO_Running: Yes //Slave IO正常运行
                Slave_SQL_Running: Yes //Slave SQL正常运行
                       Last_Error:
            Seconds_Behind_Master: 0
                    Last_IO_Error:
                   Last_SQL_Error:
    
    Warning: Permanently added '192.168.196.125' (ECDSA) to the list of known hosts.
    Status report from 192.168.196.125 //查看管理节点2的状态
    ================================
    Owns virtual address:            no
    Self 192.168.196.125 reachable:    yes
    Gateway 192.168.0.1 reachable:    yes
    VIP 192.168.199.151 reachable:     yes
    Peer 192.168.195.200 reachable:   yes
    Keepalived status:               active
    ZStack HA Monitor:               active
    MySQL status:                    mysqld is alive
    
    Slave Status:
    -------------
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
                       Last_Error:
            Seconds_Behind_Master: 0
                    Last_IO_Error:
                   Last_SQL_Error:
    
    Note: visit ZStack UI with https://192.168.199.151:443
    Note: 安装高可用套件过程中,已自动为两个管理节点做 SSH 免密登录。