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

灰度升级

操作场景

当涉及新功能或问题修复等需要进行版本升级时,云数据库GaussDB提供了灰度升级的方式,灰度升级支持升级自动提交和升级待观察两种操作方式。

  • 升级自动提交是先升级所有备DN,再升级主DN,最后升级CN,升级完成后会自动提交升级。
  • 升级待观察又名滚动升级。升级待观察方式升级完成后进入观察状态,可以在此期间观察业务状态,根据业务情况选择提交或回退本次升级。

操作流程

操作步骤

说明

步骤一:升级前检查

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

步骤二:升级操作

支持两种升级方式:升级自动提交和升级待观察。用户可以根据需要选择单个实例升级,也可以选择批量升级多个实例。

步骤三:升级后验证

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

注意事项

  • DN磁盘使用率不得高于设置磁盘使用率阈值减去10%的值。

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

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

  • 实例节点状态异常,不支持版本升级。
  • 升级待观察方式支持手动回退操作,升级自动提交不支持手动回退操作。
  • 版本升级/回退过程中不支持磁盘扩容、规格变更、备份、重置密码、重启实例、删除实例等操作。
  • 建议在业务较小的时候执行版本升级操作,以确保CPU,磁盘,内存使用率等都有较大的空闲。
  • 在大版本升级时如果使用升级自动提交方式,在执行升级前会关闭归档日志,用户无法通过归档日志进行PITR恢复,可能会造成数据丢失。
  • 在大版本升级时如果使用升级待观察方式,升级过程中全量备份将无法触发,差量备份可能失败。升级观察期间待所有AZ都升级完成后才允许执行手动全量备份,在提交升级前仍会进行归档日志,用户可以通过归档日志进行PITR恢复,保证数据不会丢失。提交升级时会关闭归档日志。
  • 如果升级过程中出现异常导致升级失败,系统会自动对实例进行回退,您可以联系华为云技术支持,由华为云工程师给出分析评估后重新执行升级。
  • 在升级主DN和CN的过程中分别会有一次10秒左右的业务中断。
  • 升级结束后会触发自动备份,开启关闭的归档日志。需要注意的是小版本升级不会触发自动备份。

    仅V2.0-2.2以上版本的实例才能进行归档日志。

    小版本升级,例如:从V2.0-1.a.x升级到V2.0-1.a.y或者V2.0-2.a.x升级到V2.0-2.a.y。

    大版本升级,例如:V2.0-1.x升级V2.0-2.x或者V2.0-2.x到V2.0-2.y等。

步骤一:升级前检查

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

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

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

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

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

步骤二:升级操作

灰度升级支持升级自动提交和升级待观察两种升级方式。您可以根据需要选择合适的升级方式。

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

  1. 在页面左上角单击,选择数据库 > 云数据库 GaussDB,进入云数据库 GaussDB信息页面。
  2. “实例管理”页面,选择指定的实例,单击“操作”列的更多 > 版本升级
  3. 在“版本升级”界面,单击“灰度升级”。
  4. 单击“升级自动提交”。

    图2 版本升级界面

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

  3. 在“批量版本升级”界面,单击“灰度升级”。
  4. 单击“升级自动提交”。
  5. 选择目标版本,输入“confirm”,单击“确定”,确认升级。
    图4 灰度升级自动提交

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

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

  • 分布式版实例升级
    1. 在页面左上角单击,选择数据库 > 云数据库 GaussDB,进入云数据库 GaussDB信息页面。
    2. “实例管理”页面,选择指定的实例,单击“操作”列的更多 > 版本升级

      您也可以单击实例名称,进入基本信息页面,在“配置信息”模块的数据库引擎版本处单击“版本升级”

      图5 基本信息
    3. 在“版本升级”界面,单击“灰度升级”。
    4. 单击“升级待观察”。
    5. 选择“本次升级分片数”和“目标版本”,输入“confirm”,单击“确定”,确认升级。
      图6 分布式版实例版本升级界面

    6. 在“实例管理”页面,查看版本升级情况。
      1. 升级过程中,实例运行状态为“实例版本升级中”
      2. 升级完成后,实例运行状态变为“实例版本升级待观察”。
    7. 升级待观察方式下,待所有分片都升级完成,且业务测试正常后,可以提交升级。

      在“版本升级”界面,选择“目标版本”,输入“confirm”,单击“提交升级”。

      图7 提交升级

      如果选择逐个分片进行升级,则一个分片升级完成后,还需重复2~6分别升级所有分片,才可提交升级。

  • 集中式版实例升级
    1. 在页面左上角单击,选择数据库 > 云数据库 GaussDB,进入云数据库 GaussDB信息页面。
    2. “实例管理”页面,选择指定的实例,单击“操作”列的更多 > 版本升级

      您也可以单击实例名称,进入基本信息页面,在“配置信息”模块的数据库引擎版本处单击“版本升级”

      图8 基本信息
    3. 在“版本升级”界面,单击“灰度升级”。
    4. 单击“升级待观察”。
    5. 选择“升级可用区”和“目标版本”,输入“confirm”,单击“确定”,确认升级。
      图9 集中式版实例版本升级界面

      每次升级可以根据实际情况选择进行单个AZ或者多个AZ升级。

    6. 在“实例管理”页面,查看版本升级情况。
      1. 升级过程中,实例运行状态为“实例版本升级中”
      2. 升级完成后,实例运行状态变为“实例版本升级待观察”。
    7. 升级待观察方式下,待所有AZ都升级完成,且业务测试正常后,可以提交升级。

      在“版本升级”界面,选择“目标版本”,输入“confirm”,单击“提交升级”。

      图10 提交升级

      如果选择逐个AZ进行升级,则一个AZ下发升级完成后,还需参考2~6分别升级所有AZ,才可提交升级。

【方式二:批量实例版本升级】
  1. 在页面左上角单击,选择数据库 > 云数据库 GaussDB,进入云数据库 GaussDB信息页面。
  2. “实例管理”页面,选择指定的实例,单击“批量版本升级”。
    图11 批量版本升级

  3. 在“批量版本升级”界面,单击“灰度升级”。
  4. 单击“升级待观察”。
  5. 选择目标版本,输入“confirm”,单击“确定”,确认升级。
    图12 灰度升级待观察

    批量版本升级下,升级待观察方式默认升级实例的所有AZ或分片。

  6. 在“实例管理”页面,查看版本升级情况。
    • 升级过程中,实例运行状态为“实例版本升级中”
    • 升级完成后,实例运行状态变为“实例版本升级待观察”
  7. 升级待观察方式下,待所有分片或可用区分区都升级完成,且业务测试正常后,可以提交升级。

    在“批量版本升级”界面,选择“目标版本”,输入“confirm”,单击“提交升级”。

    图13 批量提交灰度升级

步骤三:升级后验证

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

  1. “实例管理”页面,查看实例的运行状态是否为“正常”。
  2. “实例管理”页面单击实例名称,进入基本信息页面,查看“配置信息”模块的数据库引擎版本是否已升级到目标版本。
  3. 检查备份创建是否正常。升级完成后系统会进行一次自动备份,检查备份创建是否正常。
    1. “实例管理”页面,选择指定的实例,单击实例名称。
    2. 在左侧导航栏中选择“备份恢复”,查看备份是否创建,且备份状态是否为“备份完成”。
  4. 检查实例连接是否正常,是否能进行正常的增加、删除、修改、查询操作。
    1. 参考通过数据管理服务DAS连接实例,登录到数据库。
    2. 进入SQL查询页面。
      图14 SQL查询
    3. 创建数据库。

      CREATE DATABASE 数据库名;

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

      CREATE DATABASE db_tpcds;

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

      图15 切换数据库
    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. 在“版本升级”界面,单击“升级回退 ”,选择“目标版本”,输入“confirm”,单击“确定”。
  2. 在“实例管理”页面,查看回退情况。回退完成后,实例运行状态变为“正常”
  3. “实例管理”页面单击实例名称,进入基本信息页面,查看“配置信息”模块的数据库引擎版本是否已回退到未升级前的版本。
  4. 检查实例连接是否正常,是否能进行正常的增加、删除、修改、查询操作。

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

      CREATE DATABASE 数据库名;

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

      CREATE DATABASE db_tpcds;

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

      图17 切换数据库
    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查询页面。
      图18 SQL查询
    3. 创建数据库。

      CREATE DATABASE 数据库名;

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

      CREATE DATABASE db_tpcds;

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

      图19 切换数据库
    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;

相关文档