概述

ZStack Cloud升级需要将管理节点、计算节点、存储节点、网络节点等升级到最新版本,并更新对应的基础包、依赖软件库和虚拟化核心工具。本文档详细介绍了ZStack Cloud升级的具体操作流程。

适用范围

本文档仅适用于同源环境云平台升级。即云平台内所有物理机和管理节点的操作系统版本相同。例如:云平台内所有物理机和管理节点均使用h84r操作系统。
Note: 若需要物理机操作系统升级或多源共存环境云平台升级,请联系官方技术支持获取帮助。

升级机制

ZStack Cloud存在以下升级机制:
  • 无缝升级:ZStack Cloud所有历史发布版本,均可一键无缝升级到最新版本。
  • 无损升级:ZStack Cloud升级过程,云主机中正在运行的业务不受任何影响。

注意事项

升级ZStack Cloud需要注意以下情况:
  • 升级过程中无法访问管理节点、无法申请云主机/云盘等资源。因此,建议在业务低谷期进行操作,避免升级过程发生资源申请或业务变更的情况。
  • 管理节点升级完成后,将重连所有物理机、主存储、镜像服务器、路由器并自动升级相关资源。重连过程中云主机、云盘等相关资源不可操作。
  • 若升级过程中发生异常情况导致升级中断,待异常处理后重新执行升级操作即可。如有任何疑问或需要升级帮助,请联系官方技术支持。
云平台版本 迭代信息 详情
ZStack Cloud 4.8.10 取消云主机RDP模式UI开关 4.8.10开始,不再支持通过UI设置云主机RDP模式。用户可以通过CLI命令SetVmRDP uuid=${vmuuid} enable=true开启云主机RDP模式。
ZStack Cloud 4.7.21 企业管理更名租户管理 4.7.21开始,原企业管理功能模块全面更名为租户管理,相关功能不受任何影响。
ZStack Cloud 4.6.0 亲和组功能升级为云主机调度策略 4.6.0开始,亲和组功能全面升级为云主机调度策略
  • 支持互斥云主机、聚集云主机、云主机互斥物理机、和云主机亲和物理机四种类型策略,每种策略均支持强制和优先两种执行机制。
  • 之前版本中反亲和(强制)和反亲和(非强制)策略分别升级为互斥云主机(强制)和互斥云主机(优先)策略,升级全程无感知,不影响已有业务运行。
ZStack Cloud 4.0.0 云路由器升级为VPC路由器 4.0.0开始,云路由器全面升级为VPC路由器,云路由网络全面升级为VPC网络,不再单独设云路由器页面。升级全程无感知,相关业务不受任何影响。
企业管理账号体系取代用户组与用户 4.0.0开始,企业管理账号体系取代用户组与用户,不再单独设用户/用户组页面,不可再使用用户/用户组账号登录云平台。升级前,请先将用户组与用户纳管的账号数据妥善迁移至企业管理纳管,再执行升级操作。
Note: 对于admin创建并具备admin权限的用户账号同步取消,如有需要,可使用企业管理账号体系中的平台管理员实现相同功能。
调整AD/LDAP与账户的对接管理方式 4.0.0开始,调整AD/LDAP与账户的对接管理方式,统一由企业管理纳管,不再单独设AD/LDAP页面。
Note: 升级前,请先将账户对接纳管的AD/LDAP账号数据妥善迁移至企业管理纳管,再执行升级操作。

准备工作

ZStack Cloud升级可能需要用到以下软件包,请根据实际升级场景获取:
  • ZStack Cloud ISO:
    • 软件名称 (h84r): ZStack-Cloud-x86_64-DVD-4.8.38-h84r.iso
    • 下载地址:点击这里
  • ZStack Cloud安装包:
    • 软件名称:ZStack-Cloud-installer-4.8.38.bin
    • 下载地址:点击这里
  • 多管理节点高可用套件 Multi-MN-HA:
    • 软件名称:ZStack-Multinode-HA-Suite-4.8.38.tar.gz
    • 下载地址:点击这里
Note: 软件包或升级脚本下载完成后,请确保MD5与官网一致,如不一致请重新下载。

典型升级流程

本章介绍ZStack Cloud详细升级流程,包括云平台升级和虚拟化组件升级 (如需)
  • 云平台升级:手动升级云平台管理节点到最新版本,升级完成后,平台将重连所有物理机、主存储、镜像服务器、路由器,自动完成相关资源升级。详见云平台升级
  • 虚拟化组件升级:不同ISO版本使用的虚拟化组件版本可能不同。使用新ISO升级已有云平台时,虚拟化组件不会自动更新。为避免平台功能或安全补丁缺失,建议在平台升级完成后,手动升级虚拟化组件至新ISO对应版本。详见虚拟化组件升级

云平台升级

ZStack Cloud支持单管理节点和多管理节点两种部署方式,不同部署方式的平台升级流程存在较大区别,请务必按照对应升级流程进行操作:

单管理节点升级

背景信息

本章节以h84r为例详细介绍单管理节点升级的具体操作流程。

操作步骤

  1. 获取升级安装包。
    参考准备工作章节,按需获取升级软件包,并存放在/root/目录。
    • 离线升级:无需连接公网,需要提前获取ISO包。
  2. 关闭云主机高可用全局开关。

    使用UI登录云平台,点击设置 > 平台设置 > 高可用策略,在高可用策略界面,点击右上角的停用按钮。

  3. 备份数据库和升级脚本。
    云平台升级前请备份数据库和升级脚本以用于意外恢复。
    • 在管理节点执行以下命令将数据库备份至/var/lib/zstack/mysql-backup/目录:
      [root@localhost ~]# zstack-ctl dump_mysql --file-name zstack-db-backup
    • 在管理节点执行以下命令将升级脚本备份备份至/root/目录:
      [root@localhost ~]# cp /usr/local/bin/zstack-upgrade /root/zstack-upgrade-bk
  4. 升级云平台。
    在管理节点进行离线升级:
    #支持两种离线升级方式,推荐使用第一种:
    # 第一种方式: 升级本地仓库和管理服务
    [root@zstack-1 opt]# zstack-upgrade ZStack-Cloud-x86_64-DVD-4.8.38-h84r.iso
    # 第二种方式: 先升级本地仓库再升级管理服务:
    [root@zstack-1 opt]# zstack-upgrade -r ZStack-Cloud-x86_64-DVD-4.8.38-h84r.iso
    [root@zstack-1 opt]# bash ZStack-Cloud-installer-4.8.38.bin -u -P MYSQL_ROOT_PASSWORD
    Note:
    • 若数据库root密码采用系统默认密码zstack.mysql.password-P MYSQL_ROOT_PASSWORD参数可省略。
    • 执行zstack-upgrade命令前需确认所准备的ISO是基于h84r版,避免使用其他版本ISO覆盖本地源。
    • 升级本地仓库时会自动更新升级脚本,脚本升级完成后,可按提示重新执行上一步命令即可。
  5. 手动清理浏览器缓存。

    为了保证新功能能够正常使用,请在升级完成后通过UI登录云平台,并按下Ctrl+F5Ctrl+Shift+R手动清理浏览器缓存。

  6. 开启云主机高可用开关。

    使用UI登录云平台,点击设置 > 平台设置 > 高可用策略,在高可用策略界面,点击右上角的启用按钮。

多管理节点升级

背景信息

本章节以h84r为例详细介绍多管理节点升级的具体操作流程。

操作步骤

  1. 获取升级安装包

    参考准备工作章节,获取ISO包、多管理节点高可用套件,分别在两个管理节点/root/目录存放一份。

  2. 关闭云主机高可用全局开关。

    使用UI登录云平台,点击设置 > 平台设置 > 高可用策略,在高可用策略界面,点击右上角的停用按钮。

  3. 备份数据库和升级脚本
    云平台升级前请备份数据库和升级脚本以用于意外恢复。
    • 分别在两个管理节点执行以下命令将数据库备份至/var/lib/zstack/mysql-backup/目录:
      [root@localhost ~]# zstack-ctl dump_mysql --file-name zstack-db-backup
    • 分别在两个管理节点执行以下命令将升级脚本备份至/root/目录:
      [root@localhost ~]# cp /usr/local/bin/zstack-upgrade /root/zstack-upgrade-bk
  4. 更新本地repo源
    分别在两个管理节点执行以下命令,更新本地repo源:
    [root@localhost ~]# zstack-upgrade -r ZStack-Cloud-x86_64-DVD-4.8.38-h84r.iso
    Note: 升级本地repo时会自动更新升级脚本,脚本升级完成后,可按提示重新执行上一步命令即可。
  5. 获取VIP所在管理节点IP地址
    执行以下命令获取VIP所在管理节点IP地址,返回结果中VIP为yes的节点即为VIP所在的管理节点
    [root@localhost ~]# zsha2 status
  6. 解压高可用套件,并赋予可执行权限
    在VIP所在管理节点依次执行以下命令,解压高可用套件,并对zsha2和zstack-hamon文件赋予可执行权限:
    [root@localhost ~]# tar zxvf ZStack-Multinode-HA-Suite-4.8.38.tar.gz      #解压高可用套件
    [root@localhost ~]# chmod +x zsha2 zstack-hamon    #赋予可执行权限
  7. 升级高可用套件
    在VIP所在管理节点执行以下命令,完成高可用套件升级:
    [root@localhost ~]# ./zsha2 upgrade-ha
  8. 升级云平台
    在VIP所在管理节点依次执行以下命令,升级多管理节点:
    zsha2 upgrade-mn -peerpass password ZStack-Cloud-installer-4.8.38.bin
    Note: -peerpass为可选参数,可设置Peer管理节点SSH登录密码。
  9. 手动清理浏览器缓存。

    为了保证新功能能够正常使用,请在升级完成后通过UI登录云平台,并按下Ctrl+F5Ctrl+Shift+R手动清理浏览器缓存。

  10. 开启云主机高可用开关。

    使用UI登录云平台,点击设置 > 平台设置 > 高可用策略,在高可用策略界面,点击右上角的启用按钮。

虚拟化组件升级

物理机QEMU版本升级

背景信息

使用最新ISO升级云平台后,可以集群为单位,批量升级物理机QEMU到新ISO对应版本。

基本升级流程如下:
  1. 确认管理节点repo源已更新
  2. 确认管理节点数据库已备份
  3. 检查云平台服务硬件资源连接情况
  4. 关闭全局云主机高可用
  5. 启用全局配置zstack.experimental.repo
  6. 更新物理机QEMU版本
  7. 检查QEMU升级结果
  8. 关闭全局配置zstack.experimental.repo
  9. 打开全局云主机高可用

操作步骤

  1. 确认管理节点repo源已更新。
    确认已通过以下命令更新管理节点本地repo源。双管理节点场景下,请确认两个管理节点的repo源均更新:
    [root@localhost ~]# zstack-upgrade -r ZStack-Cloud-x86_64-DVD-4.8.38-h84r.iso
  2. 确认管理节点数据库已备份。
    确认升级前已备份管理节点数据库至/var/lib/zstack/mysql-backup/lib/zstack/mysql-backup/目录,用于意外恢复。
    如未备份,请登录管理节点执行以下命令:
    [root@localhost ~]# zstack-ctl dump_mysql --file-name zstack-db-backup
  3. 检查云平台服务及硬件资源连接情况。
    检查云平台服务是否正常及各项硬件资源是否已连接。
  4. 关闭全局云主机高可用。
    ZStack Cloud主菜单,点击设置 > 平台设置 > 高可用策略,在高可用策略界面右上角,点击停用
  5. 启用全局配置zstack.experimental.repo
    在管理节点执行以下命令,启用zstack.experimental.repo
    [root@localhost ~]# zstack-cli
    # 进入CLI命令行
    - >>>  LogInByAccount accountName=admin password=${Password}
    # 使用admin账号密码登录
    admin >>> UpdateGlobalConfig category=cluster name=zstack.experimental.repo value=true
    # 更新全局配置,启用zstack.experimental.repo源
    Note: 双管理节点环境下,请登录VIP所在的管理节点启用zstack.experimental.repo源。
  6. 更新物理机QEMU版本。
    在管理节点,执行以下CLI命令,将集群中的物理机QEMU统一升级至新ISO对应版本。
    admin >>> UpdateClusterOS updatePackages=qemu-kvm-ev uuid=${ClusterUUID}

    执行完成后,查看返回的LongJob UUID。

    图 1所示:
    图 1. 执行升级命令并查看LongJob UUID


  7. 检查QEMU升级结果。
    1. 检查升级操作是否已完成
      使用上一步命令返回的LongJob UUID查询升级操作是否成功:
      admin >>> QueryLongJob uuid=${LongJobUUID}

      返回参数state值为Succeeded时,表示升级操作已完成。

    2. 检查物理机QEMU是否与新ISO对应版本一致。
      在管理节点,执行以下CLI命令,检查升级后的物理机QEMU是否与新ISO对应版本一致:
      admin >>> GetVirtualizerInfo uuids=${HostUUID}
      

      返回参数matchStateMatched时,表示物理机QEMU已升级至新ISO对应版本。

      图 2所示:
      图 2. 查看物理机QEMU是否升级到新ISO对应版本


  8. 关闭全局配置zstack.experimental.repo
    升级完成后,在管理节点执行以下CLI命令,关闭全局配置zstack.experimental.repo
    admin >>> UpdateGlobalConfig category=cluster name=zstack.experimental.repo value=false
  9. 打开云主机全局高可用。
    ZStack Cloud主菜单,点击设置 > 平台设置 > 高可用策略,在高可用策略界面右上角,点击启用

后续操作

至此,物理机QEMU升级已完成,用户需手动重启或迁移物理机上的云主机、VPC路由器和负载均衡实例,同步更新以上云资源的QEMU版本。