文档中心MogDBMogDB StackUqbar
v5.0

文档:v5.0

支持的版本:

其他版本:

滚动升级

滚动升级不需要将所有节点全部停机,而是可以实现对外服务的同时进行升级操作。

PTK自1.4.0版本开始支持滚动升级的能力,但由于滚动升级过程中,始终是针对备库进行升级,不会直接升级主库,所以升级过程无法提交任何SQL,也不支持带插件升级。

升级路径

滚动升级仅支持元数据无变更的版本之间升级,即升级前后数据库的内核版本需保持一致,内核版本可通过 ptk candidate db 输出的 Number 列查看(需PTK 1.4.0 以上版本):

# ptk candidate db
  Software  | Version | Number | Lifecycle Policy | Release Date  
------------+---------+--------+------------------+---------------
  MogDB     | 2.0.0   | 92.298 | LTS              | 2021-05-25    
            | 2.0.1   | 92.299 | LTS              | 2021-07-08    
            | 2.0.3   | 92.300 | LTS              | 2022-06-29    
            | 2.0.4   | 92.302 | LTS              | 2022-10-15    
            | 2.1.1   | 92.421 | Preview          | 2022-03-22    
            | 3.0.0   | 92.605 | LTS              | 2022-06-30    
            | 3.0.1   | 92.605 | LTS              | 2022-07-30    
            | 3.0.2   | 92.605 | LTS              | 2022-09-16    
            | 3.0.3   | 92.605 | LTS              | 2022-10-31    
            | 3.0.4   | 92.605 | LTS              | 2023-03-24    
            | 3.0.5   | 92.607 | LTS              | 2023-07-20    
            | 3.0.6   | 92.607 | LTS              | 2023-09-15    
            | 3.0.7   | 92.607 | LTS              | 2023-12-29    
            | 3.1.0   | 92.781 | Preview          | 2022-12-30    
            | 3.1.1   | 92.781 | LTS              | 2023-11-26    
            | 5.0.0   | 92.848 | LTS              | 2023-07-14    
            | 5.0.1   | 92.850 | LTS              | 2023-08-15    
            | 5.0.2   | 92.900 | LTS              | 2023-09-30    
            | 5.0.3   | 92.900 | LTS              | 2023-10-27    
            | 5.0.4   | 92.901 | LTS              | 2023-11-30    
            | 5.0.5   | 92.901 | LTS              | 2023-12-30    
            | 5.0.6   | 92.920 | LTS              | 2024-03-30             

备份数据

在升级过程中,为避免执行错误出现升级异常,导致原版本数据库文件或数据被意外修改,而无法执行回滚操作的情况,升级前须做好数据备份和完整性保护,方便在升级发生错误时使用已备份的数据恢复到升级前状态,避免因操作失误导致业务无法恢复的情况出现。

在使用PTK升级过程中,工具会自动完成原版本数据库软件的备份,如果需要备份全部的数据文件,可以使用gs_basebackup进行基础的物理备份,示例如下:

  1. 使用数据库用户(如omm)创建备份目录

    mkdir /home/omm/mogdb_data_bak
  2. 通过gs_basebackup进行备份

    gs_basebackup -D /home/omm/mogdb_data_bak -h 127.0.0.1 -p 26000

    需根据实际情况替换主机名、端口号。

升级操作

以一主一备为例,假设初始状态时主库IP为 IP1,备库为 IP2

  1. 检查机器状态为Normal

    ptk cluster -n <CLUSTER_NAME> status
  2. 升级集群中的备库

    通过 -H 参数执行集群内一个备库进行单节点升级,该节点要能够临时切为主提供服务

    ptk cluster -n <CLUSTER_NAME> upgrade -p <PACKAGE_PATH> -H <IP2>
  3. 进行主备倒换

    将升级后的备库提升为主库,原主库降为备库

    ptk cluster -n <CLUSTER_NAME> switchover -H <IP2>
  4. 升级原来的主库

    ptk cluster -n <CLUSTER_NAME> upgrade -p <PACKAGE_PATH> -H <IP1>
  5. (可选)将主重新切换到原主机器

    ptk cluster -n <CLUSTER_NAME> switchover -H <IP1>
  6. 提交升级

    ptk cluster -n <CLUSTER_NAME> upgrade-commit

注意事项

滚动升级会存在不同版本的主备同时运行的场景,因此在使用滚动升级时应确保新旧版本之间不存在元数据和日志文件格式的变更。

请提前做好数据备份,在遇到问题时可以回退到升级前状态,然后将遇到的问题反馈给原厂工程师。

Copyright © 2011-2024 www.enmotech.com All rights reserved.