客户自定义的维护时段
Gen 2
请设置部署的维护日期和开始时间。Cloud Databases 会控制维护时段的持续时间,所有维护工作将在您安排的开始时间后的 4 小时内完成或停止。
可用性
以下情况支持客户自定义维护时段:
- Databases for PostgreSQL 在
eu-de中。 - Databases for MongoDB Enterprise Edition 位于。
eu-de
今后将逐步增加对更多数据库和区域的支持。
请配置一个每日维护时段,除非贵组织要求仅在特定日期进行维护。 通过设置每日维护窗口,待处理或未完成的维护工作( 包括安全性和可靠性更新)可在次日恢复进行,而无需等到下周。
维护内容包括哪些
维护包括任何直接影响您部署的变更,例如:
- 数据库软件和图像更新。
- 对您部署所运行的 worker 节点进行的更新。
- 安全性、可靠性和可维护性更新。
这些变更将在您的维护时段内进行,即使它们不会对服务造成明显影响。 您自行请求的更改(例如调整部署规模)将在您提出请求时立即执行。
在维护期间,您的部署可能会切换到新的主节点。 请确保您的应用程序能够自动重新连接。 如需了解更多信息,请参阅“ 高可用性”。
默认维护时段
您无需设置维护时段。 如果您未进行设置,Cloud Databases 将采用该地区的默认设置:周一至周五,开始时间在 UTC 23:00 至 UTC 10:00 之间。 未显示确切的开始时间。
若在设置了自定义窗口后想恢复为区域默认设置,请将 system_assigned 设置为 true。
维护窗口要求
- 您只能设置开始时间。 无法设置持续时间或结束时间。Cloud Databases 控制维护窗口的时长。
- 请使用
hh:mmZ格式指定UTC时间。 - 每周至少选择一天进行维护。 建议设置每日维护时段。 如需了解更多信息,请参阅 “如果维护未能按时完成”。
- 请将开始时间设置为比您希望其适用的维护时段至少提前60分钟。
- 您可以随时更新维护时段。 更改将在下一个符合条件的维护窗口期生效。 如果当天的维护工作已经完成,则更新后的计划将在下次符合维护条件时生效。
- 如果在维护进行期间更新维护时间段,当前的维护操作不会重新开始。 更新后的日程安排适用于下一个符合条件的维护时段。
- 维护通知是根据生成通知时生效的计划安排的。 在维护窗口开始前不久所做的更改,可能不会应用于已经生成或发送的通知。
维护窗口的工作原理
维护窗口自计划开始时间起持续4小时,所有维护工作均将在该时段内完成或停止。
例如,如果您的维护开始时间为 02:00 UTC:
| 时间 (UTC) | 会发生什么 |
|---|---|
| 02:00 - 6:00 | 维护工作开始,各项维护活动随之展开。 您的部署可能会切换到新的主服务器,届时您的应用程序可能需要重新连接。 |
| 截至06:00 | 所有维护工作均已完成或已停止。 |
选择开始时间时,请将整个4小时的时间段都纳入计划,而不仅仅是开始时间。 请选择应用程序流量最小且运维团队在岗的时间段。
您的备份绝不会与维护时段重叠。Cloud Databases 会自动调整备份计划。
设置维护时段
您可以通过控制台、CLI、API 或 Terraform 设置维护日期和开始时间。
在控制台中设置维护时段
您可以在创建部署时或完成配置后设置维护时段。
- 在 IBM Cloud 控制台中,创建一个部署或打开一个现有的部署。
- 转到 “维护”窗口,然后单击“编辑”。
- 请选择可以开始维护的星期几。 建议制定一份日常维护计划。
- 请选择维护开始时间。 您可以选择以UTC时间或您所在时区的时间显示时间。
- 查看维护计划,然后单击 “保存”。
若要恢复为该区域的默认维护时段,请单击“重置为默认值”。
使用 CLI 设置维护时段
您可以使用以下命令设置特定的维护时段:
ibmcloud resource service-instance-create \
<INSTANCE_NAME> \
<SERVICE_NAME> \
<SERVICE_PLAN_NAME> \
<LOCATION> \
-g <RESOURCE_GROUP> \
-p '{
"dataservices": {
"maintenance": {
"window": {
"start_time": "05:00Z",
"days": "Wednesday,Thursday"
}
}
}
}'
您可以使用以下命令设置 system_assigned 的维护时段:
ibmcloud resource service-instance-create \
<INSTANCE_NAME> \
<SERVICE_NAME> \
<SERVICE_PLAN_NAME> \
<LOCATION> \
-g <RESOURCE_GROUP> \
-p '{
"dataservices": {
"maintenance": {
"window": {
"system_assigned": true
}
}
}
}'
使用 API 设置维护时段
您可以使用以下请求设置特定的维护时段:
curl -X POST \
"https://resource-controller.cloud.ibm.com/v2/resource_instances" \
-H "Authorization: Bearer <IAM_ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"name": "<DATABASE_INSTANCE_NAME>",
"target": "<REGION>",
"resource_group": "<RESOURCE_GROUP_ID>",
"resource_plan_id": "<DATABASE_SERVICE_PLAN_ID>",
"parameters": {
"dataservices": {
"maintenance": {
"window": {
"start_time": "05:00Z",
"days": "Wednesday,Thursday"
}
}
}
}
}'
您可以使用以下请求设置 system_assigned 的维护时段:
curl -X POST \
"https://resource-controller.cloud.ibm.com/v2/resource_instances" \
-H "Authorization: Bearer <IAM_ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"name": "<DATABASE_INSTANCE_NAME>",
"target": "<REGION>",
"resource_group": "<RESOURCE_GROUP_ID>",
"resource_plan_id": "<DATABASE_SERVICE_PLAN_ID>",
"parameters": {
"dataservices": {
"maintenance": {
"window": {
"system_assigned": true
}
}
}
}
}'
使用 Terraform 设置维护时段
您可以通过以下 Terraform 请求设置特定的维护时段:
maintenance_days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
data "ibm_resource_group" "rg" {
name = var.resource_group_name
}
resource "ibm_database" "cmw_test" {
name = "<DATABASE_INSTANCE_NAME>"
resource_group_id = data.ibm_resource_group.rg.id
service = "<DATABASE_SERVICE_NAME>"
plan = "<DATABASE_SERVICE_PLAN_ID>"
location = "<GEN2-REGION>"
service_endpoints = "private"
maintenance {
window {
start_time = "05:00Z"
days = var.maintenance_days
}
}
}
您可以通过以下 Terraform 请求设置 system_assigned 的维护时段:
data "ibm_resource_group" "rg" {
name = var.resource_group_name
}
resource "ibm_database" "cmw_test" {
name = "<DATABASE_INSTANCE_NAME>"
resource_group_id = data.ibm_resource_group.rg.id
service = "<DATABASE_SERVICE_NAME>"
plan = "<DATABASE_SERVICE_PLAN_ID>"
location = "<GEN2-REGION>"
service_endpoints = "private"
maintenance {
window {
system_assigned = true
}
}
}
维护跟踪
当您的部署即将进行维护时,您将在维护活动开始前至少 2 小时收到一条 IBM Cloud Activity Tracker 事件通知。
IBM Cloud Activity Tracker 当维护窗口顺利完成导致任何服务实例更新时,也会触发相关事件。 查看“数据库 Activity Tracker”系列活动的 完整列表。
维护不彻底
维护操作绝不会超出您的维护时段。 如果维护操作在开始时间4小时后仍在运行,Cloud Databases 会将其终止。 剩余的工作将在您的下一个维护窗口内进行。 在此期间,您的部署仍可正常使用。
设定每日维护时段。 如果您每周只选择一天,未完成的维护工作(包括安全修复)将最多等待一周,直到您下一次安排的维护时段。 在每日维护时段结束后,维护工作将于次日恢复,确保您的部署始终保持最新且安全。
紧急维护
在特殊情况下,紧急维护可能会在计划维护时间段之外进行,且不会提前通知。 在这些情况下,不会创建计划维护事件。