本节介绍了可用于灵活升级的其他选项,如下所述:
回滚 - 错误恢复
中止状态清理
SE 组恢复选项
回滚 - 错误恢复
如果升级过程出现错误,则会启动自动回滚错误恢复,以使 NSX Advanced Load Balancer 控制器 进入已知的正常状态。
如果使用了
suspend_on_failure
标记,则在 SE 组遇到错误时,SE 组将挂起升级。否则,将继续升级 SE 组中的其余服务引擎。如果修补程序的上下文中发生错误,则将回滚修补程序。
如果在执行回滚机制期间遇到错误,则会视为升级已取消。
中止状态清理
每当回滚操作在触发后失败时,NSX Advanced Load Balancer 控制器 或 SE 组都将变为中止状态。在灵活升级中,可以清理这些状态,并将 NSX Advanced Load Balancer 控制器 和 SE 组转换为已知的稳定状态。
使用 SE 组恢复选项
SE 组恢复选项仅在 NSX Advanced Load Balancer 版本 18.2.8 及更高版本中受支持。
如果在启用了 suspend_on_failure
的情况下升级 SE 组,那么在遇到问题时,将挂起该 SE 组的升级过程。通过手动干预解决问题后,可使用以下选项恢复升级:
Se-group-uuids - 指定需要恢复的 SE 组。
Ignore_failure - 该字段将覆盖之前的失败时挂起选项。在这种情况下,将无条件地执行升级,即使后续升级迭代失败,仍会继续升级。默认值为 false。
Skip-suspended - 该字段将跳过在先前的升级迭代中挂起的 SE,并继续升级组中的其余 SE。默认值为 false。
[admin:controller]: >resume segroup se_group_refs <se-group-name>
[admin:controller]: >resume segroup se_group_refs seg-a
以下选项可用于恢复 SE 组升级:
[admin:controller]: >resume segroup skip_suspended se_group_refs Default-Group action_on_error continue_upgrade_ops_on_error
[admin:controller]: >resume segroup skip_suspended se_group_refs Default-Group action_on_error suspend_upgrade_ops_on_error
使用以下 API POST 方法可恢复 SE 组升级。
API: /api/segroup/resume POST /api/segroup/resume JSON data: { "se_group_uuids": [ "serviceenginegroup-ec9c8141-844d-467d-bdc0-d7855e9d8419" ], "skip_warnings": true }
使用 skip_warnings": true
时,升级将继续,而不会显示警告消息和升级预览。
使用其他选项恢复升级:
选项:跳过挂起的 SE 并继续升级,且将 se_group action_on_error
更新为 CONTINUE_UPGRADE_OPS_ON_ERROR
。
{ "se_group_options": { "action_on_error": "CONTINUE_UPGRADE_OPS_ON_ERROR", "skip_suspended": true }, "se_group_resume_options": { "action_on_error": "CONTINUE_UPGRADE_OPS_ON_ERROR", "skip_suspended": true }, "se_group_uuids": [ "serviceenginegroup-ec9c8141-844d-467d-bdc0-d7855e9d8419" ], "skip_warnings": true }
选项:跳过挂起的 SE 并继续升级。
{ "se_group_options": { "action_on_error": "SUSPEND_UPGRADE_OPS_ON_ERROR", "skip_suspended": true }, "se_group_resume_options": { "action_on_error": "SUSPEND_UPGRADE_OPS_ON_ERROR", "skip_suspended": true }, "se_group_uuids": [ "serviceenginegroup-ec9c8141-844d-467d-bdc0-d7855e9d8419" ], "skip_warnings": true }
使用 SE 组模板创建 SE 组
在云启动和 SE 组创建期间,将检查云是否具有服务引擎组模板。如果有可用模板,则会从 SE 组模板复制基础映像或修补程序映像。否则,将从 NSX Advanced Load Balancer 控制器 获取映像信息。
对于每个云,都有一个 se_group_template_uuid
。这用于确保新创建的 SE 组采用 se_group_template_uuid
。
可以将任何 SE 组指定为模板。如果将一个 SE 组 (Seg1) 指定为默认 SE 组模板,则新创建的 SE 组 (Seg2) 将从该 Seg 中获取基础映像和修补程序映像,如下所示。
[admin:controller]: > show upgrade status filter serviceenginegroup Seg2 +------+--------+---------------+------------------+-----------+-----------------------------+---------------------------------+ | Name | Tenant | Cloud | State | Operation | Image | Patch | +------+--------+---------------+------------------+-----------+-----------------------------+---------------------------------+ | Seg3 | admin | Default-Cloud | UPGRADE_FSM_INIT | None | 18.2.9-9000-20200509.052234 | 18.2.9-9000-2p1-20200430.133146 | +------+--------+---------------+------------------+-----------+-----------------------------+---------------------------------+
应当启用修补程序回滚选项,如下所示。
[admin:controller]: > show upgrade status detail filter serviceenginegroup Seg2 +-----------------------+-------------------------------------------------------------------------+ | Field | Value | +-----------------------+-------------------------------------------------------------------------+ | uuid | serviceenginegroup-d564305e-9db5-4ae6-941c-485a26af062a | | name | Seg2 | | node_type | NODE_SE_GROUP | | version | 18.2.9-9000-20200509.052234 | | image_ref | 18.2.9-9000-20200509.052234 | | patch_version | 2p1 | | patch_image_ref | 18.2.9-9000-2p1-20200430.133146 | | state | | | state | UPGRADE_FSM_INIT | | last_changed_time | Sat May 9 06:15:49 2020 ms(41) UTC | | seg_status | | | notes[1] | [2020-05-09 06:15:49] Init segroup(seg3 defaults to seg-template(seg1). | | start_time | 2020-05-09 06:15:49.406502 | | enable_rollback | False | | enable_patch_rollback | True | | progress | 0 percent | | tenant_ref | admin | | obj_cloud_ref | Default-Cloud | +-----------------------+-------------------------------------------------------------------------|