更新时间:2024-08-09 GMT+08:00
分享

热补丁升级

操作场景

云数据库GaussDB提供了热补丁升级方式,仅用于产品问题修复。热补丁可以在业务不中断的情况下加载补丁,在不影响业务的前提下,在线解决一部分数据库内核的紧急问题。热补丁升级方式支持手动回退操作。

流程图

图1 操作流程图

注意事项

  • 升级涉及热补丁包的下载及解压流程,会占用一定的磁盘空间,建议DN磁盘使用率不得高于设置磁盘使用率阈值减去10%的值。

    DN磁盘使用率可以通过管理控制台监控指标查看。

    磁盘使用率阈值可以联系技术支持人员获取。

  • 实例节点状态异常,不支持版本升级。
  • 热补丁如果和备份是冲突的,热补丁升级过程中会停止实例的差备和全备。
  • 版本升级/回退过程中不支持磁盘扩容、规格变更、备份、重置密码、重启实例、删除实例等操作。
  • 建议在业务较小的时候执行版本升级操作,以确保CPU,磁盘,内存使用率等都有较大的空闲。
  • 热补丁升级操作须有可以升级的热补丁,当没有可以升级的热补丁时,不显示热补丁升级。
  • 热补丁升级和回退支持单个实例不同补丁版本的批量操作,升级时按版本号从小到大依次升级,回退时按版本号从大到小依次回退。
  • 如果升级过程中出现异常导致升级失败,系统会自动对实例进行回退,您可以联系华为云技术支持,由华为云工程师给出分析评估后重新执行升级。
  • 升级完成后,支持手动回退操作。
  • 批量版本升级时,最多可批量升级30个实例。
  • 当前GaussDB支持创建实例和冷补丁升级后自动升级热补丁,如需开启该功能,您可以在管理控制台右上角,选择工单 > 新建工单,提交开通申请。需要注意的是将备份恢复到新实例暂不支持自动升级热补丁功能。

步骤一:升级前检查

版本升级前需要检查实例状态和实例的CPU使用率、内存使用率、磁盘使用率等监控指标是否正常。

  1. 检查实例状态
    1. 登录管理控制台
    2. 单击管理控制台左上角的,选择区域和项目。
    3. 在页面左上角单击,选择数据库 > 云数据库 GaussDB,进入云数据库 GaussDB信息页面。
    4. “实例管理”页面,查看实例的运行状态是否正常。
      图2 实例状态

      如果实例状态异常,您可以联系华为云技术支持,由华为云工程师给出分析评估后进行处理。

  2. 检查监控指标
    1. 在页面左上角单击,选择“管理与监管 > 云监控服务 CES”,进入“云监控”服务信息页面。
    2. 在左侧导航栏选择“云服务监控 > 云数据库 GaussDB”,进入“云服务监控”页面。
    3. 在云监控页面,单击需要查看监控的实例,进入“监控指标”页面。
      • 在“实例”页面查看“实例数据磁盘已使用百分比”,查看是否有磁盘满使用率不足的情况。
      • 在“节点”页面查看“CPU使用率”,查看是否有CPU长期过高的情况。
      • 在“节点”页面查看“内存使用率”,查看是否有内存飙升的情况。

      如果监控指标异常,您可以联系华为云技术支持,由华为云工程师给出分析评估后进行处理。

步骤二:升级操作

方式一:单个实例版本升级

  1. 在页面左上角单击,选择数据库 > 云数据库 GaussDB,进入云数据库 GaussDB信息页面
  2. “实例管理”页面,选择指定的实例,单击“操作”列的更多 > 版本升级
  3. 在“版本升级”界面,单击“热补丁升级”,输入“confirm”,单击“确定”,确认升级。

    目标版本会展示出所有待升级的补丁版本,补丁版本为多个时,提交升级后会按照从小到大的顺序依次升级所有可升级的热补丁。

    图3 版本升级界面

  4. 在“实例管理”页面,查看版本升级情况。
    • 升级过程中,实例运行状态为“实例版本升级中”
    • 升级完成后,实例运行状态变为“正常”
方式二:批量实例版本升级
  1. 在页面左上角单击,选择数据库 > 云数据库 GaussDB,进入云数据库 GaussDB信息页面。
  2. “实例管理”页面,选择指定的实例,单击“批量版本升级”。
    图4 批量版本升级

  3. 在“批量版本升级”界面,单击“热补丁升级”。
  4. 单击“升级自动提交”。
  5. 输入“confirm”,单击“确定”,确认升级。

    图5 热补丁升级自动提交

    目标版本会展示出所有待升级的补丁版本,补丁版本为多个时,提交升级后会按照从小到大的顺序依次升级所有可升级的热补丁。

  6. 在“实例管理”页面,查看版本升级情况。
    • 升级过程中,实例运行状态为“实例版本升级中”
    • 升级完成后,实例运行状态变为“正常”

步骤三:升级后验证

升级完成后需要检查升级后的实例状态、备份创建、连接实例是否正常,能否进行正常的增加、删除、修改、查询操作。

  1. “实例管理”页面,查看实例的运行状态是否为“正常”。
  2. “实例管理”页面单击实例名称,进入基本信息页面,查看“数据库信息”模块的“已升级热补丁版本”与“已升级内核热补丁版本”是否已包含目标版本。
  3. 检查实例连接是否正常,是否能进行正常的增加、删除、修改、查询操作。
    1. 参考通过数据管理服务DAS连接实例,登录到数据库。
    2. 进入SQL查询页面。
      图6 SQL查询
    3. 创建数据库。

      CREATE DATABASE 数据库名;

      以创建一个库名为db_tpcds的数据库为例:

      CREATE DATABASE db_tpcds;

      创建完db_tpcds数据库后,可以在左上方切换到新创建的库中。

      图7 切换数据库
    4. 创建表,并进行增加、删除、修改、查询操作。
      1. 创建一个SCHEMA。

        CREATE SCHEMA myschema;

      2. 创建一个名称为mytable,只有一列的表。字段名为firstcol,字段类型为Integer。

        CREATE TABLE myschema.mytable (firstcol int);

      3. 向表中插入数据:

        INSERT INTO myschema.mytable VALUES (100);

      4. 查看表中数据:

        SELECT * FROM myschema.mytable;

           | firstcol | 
        ---+----------+
        1  |   100    |
      5. 修改表中数据:

        UPDATE myschema.mytable SET firstcol = 200;

      6. 再次查看表中数据:

        SELECT * FROM myschema.mytable;

           | firstcol | 
        ---+----------+
        1  |   200    |
      7. 删除表:

        DROP TABLE myschema.mytable;

相关操作

如果升级后,由于业务原因,需要回退,可以参考该章节手动执行回退操作,将实例回退到初始状态。

升级回退后,您可以尝试重新升级。如果问题仍然无法解决,您可以联系华为云技术支持,由华为云工程师给出分析评估后重新执行升级。

方式一:单个实例回退

  1. 在“版本升级”界面,单击“热补丁升级 ”。
  2. 单击“ 升级回退”。
  3. 选择“目标版本”,输入“confirm”,单击“确定”。
  4. 在“实例管理”页面,查看回退情况。回退完成后,实例运行状态变为“正常”
  5. “实例管理”页面单击实例名称,进入基本信息页面,查看“数据库信息”模块的“已升级热补丁版本”与“已升级内核热补丁版本”不包含目标版本。
  6. 检查实例连接是否正常,是否能进行正常的增加、删除、修改、查询操作。

    1. 参考通过数据管理服务DAS连接实例,登录到数据库。
    2. 进入SQL查询页面。
      图8 SQL查询
    3. 创建数据库。

      CREATE DATABASE 数据库名;

      以创建一个库名为db_tpcds的数据库为例:

      CREATE DATABASE db_tpcds;

      创建完db_tpcds数据库后,可以在左上方切换到新创建的库中。

      图9 切换数据库
    4. 创建表,并进行增加、删除、修改、查询操作。
      1. 创建一个schema。

        CREATE SCHEMA myschema;

      2. 创建一个名称为mytable,只有一列的表。字段名为firstcol,字段类型为integer。

        CREATE TABLE myschema.mytable (firstcol int);

      3. 向表中插入数据:

        INSERT INTO myschema.mytable values (100);

      4. 查看表中数据:

        SELECT * FROM myschema.mytable;

           | firstcol | 
        ---+----------+
        1  |   100    |
      5. 修改表中数据:

        UPDATE myschema.mytable SET firstcol = 200;

      6. 再次查看表中数据:

        SELECT * FROM myschema.mytable;

           | firstcol | 
        ---+----------+
        1  |   200    |
      7. 删除表:

        DROP TABLE myschema.mytable;

方式二:批量实例回退

  1. “实例管理”页面,选择指定的实例,单击“批量版本升级”。
  2. 在“批量版本升级”界面,选择“热补丁升级”,单击“升级回退 ”,选择“目标版本”,输入“confirm”,单击“确定”。

  3. 在“实例管理”页面,查看回退情况。回退完成后,实例运行状态变为“正常”
  4. “实例管理”页面单击实例名称,进入基本信息页面,查看“数据库信息”模块的“已升级热补丁版本”与“已升级内核热补丁版本”不包含目标版本。
  5. 检查实例连接是否正常,是否能进行正常的增加、删除、修改、查询操作。

    1. 参考通过数据管理服务DAS连接实例,登录到数据库。
    2. 进入SQL查询页面。
      图10 SQL查询
    3. 创建数据库。

      CREATE DATABASE 数据库名;

      以创建一个库名为db_tpcds的数据库为例:

      CREATE DATABASE db_tpcds;

      创建完db_tpcds数据库后,可以在左上方切换到新创建的库中。

      图11 切换数据库
    4. 创建表,并进行增加、删除、修改、查询操作。
      1. 创建一个schema。

        CREATE SCHEMA myschema;

      2. 创建一个名称为mytable,只有一列的表。字段名为firstcol,字段类型为integer。

        CREATE TABLE myschema.mytable (firstcol int);

      3. 向表中插入数据:

        INSERT INTO myschema.mytable values (100);

      4. 查看表中数据:

        SELECT * FROM myschema.mytable;

           | firstcol | 
        ---+----------+
        1  |   100    |
      5. 修改表中数据:

        UPDATE myschema.mytable SET firstcol = 200;

      6. 再次查看表中数据:

        SELECT * FROM myschema.mytable;

           | firstcol | 
        ---+----------+
        1  |   200    |
      7. 删除表:

        DROP TABLE myschema.mytable;

相关文档