维护事件和政策

为了让您的 Google Cloud Managed Lustre 实例保持最新状态, Google Cloud 我们会定期对其执行维护。维护事件可能包括对底层软件或基础架构的更新。这些事件可能会导致暂时停机,在此期间,对实例的 I/O 操作可能会停止响应。维护完成后,受影响的 I/O 操作会恢复。停机时间通常在 2 到 25 分钟之间。

维护进行期间,实例的状态为 UPGRADING。维护完成后,实例会恢复为 ACTIVE 状态。

维护政策可让您控制这些维护事件的发生时间。您可以为每个实例配置维护政策,以指定维护窗口和应排除维护的时段。如果实例上未配置维护政策,则可以随时进行维护。

您还可以重新安排维护事件,使其立即开始、在下一个可用窗口期间开始,或在最多 28 天后 的特定时间开始。

超大规模实例

某些提供极高性能和规模的 Managed Lustre 配置可能需要计划停机(最长 4 小时)以进行定期主机维护。Google 会提前与您协调这些维护事件。

维护政策简介

您可以为每个 Managed Lustre 实例配置维护政策。维护政策包括以下内容:

  • 每周维护窗口:每周重复出现的一小时窗口,在此期间,Managed Lustre 可以开始维护事件。
  • 维护排除窗口:在此期间, Managed Lustre 不得 开始维护事件。您可以为每个实例定义一个排除窗口,最长持续时间为两周。如果在开始日期和结束日期中未指定年份,则排除窗口每年重复出现。

排除窗口优先于常规维护窗口。如果计划的事件在此期间发生,Managed Lustre 会将该事件推迟到下一个可用窗口或完全跳过该事件。更新会在下一个维护周期内应用。

维护通知

您可以订阅即将进行的维护事件的电子邮件通知,以便提前规划,应对任何潜在的中断。维护通知 订阅通过您的 Google Cloud 控制台“通信”页面进行管理:

前往通信 页面

订阅后,系统会发送以下通知:

  • 提前通知:在计划的维护 事件发生前 7 到 14 天发送,或在客户重新安排维护事件后发送。
  • 已取消:如果计划的维护事件被 Google 取消 或被客户重新安排,则发送此通知。
  • 进行中:在维护事件开始时发送。
  • 已完成:在维护事件完成时发送。

您还可以在 控制台 Google Cloud 的实例详情页面中查看即将进行的维护计划,也可以使用 Cloud Logging 查看维护日志

配置维护窗口

维护窗口需要指定星期几和一小时窗口的 UTC 开始时间。

Google Cloud 控制台

如需在创建实例时配置维护窗口,请参阅 创建实例

gcloud

通过指定 --maintenance-policy-weekly-windows 标志来创建具有维护窗口的实例:

gcloud lustre instances create INSTANCE_ID \
  --per-unit-storage-throughput=PER_UNIT_STORAGE_THROUGHPUT \
  --capacity-gib=CAPACITY_GIB \
  --filesystem=FS_NAME \
  --location=LOCATION \
  --network=NETWORK_PATH \
  --maintenance-policy-weekly-windows='dayOfWeek=DAY,startTime={START_TIME}'

替换以下内容:

  • INSTANCE_ID:您的 Managed Lustre 实例的 ID。
  • PER_UNIT_STORAGE_THROUGHPUT 是每 TiB 的 性能层级 ,以 MBps 为单位。有效值为 01252505001000。 如需指定 [动态层级][dynamic-tier],请将其设置为 0 并添加 --dynamic-tier-options-mode=DEFAULT_CACHE 标志。
  • CAPACITY:实例的容量,以 GiB 为单位。
  • FS_NAME:文件系统的名称。
  • LOCATION:Managed Lustre 实例的位置。
  • NETWORK_PATH:实例所属 VPC 网络的完整路径,格式为 projects/PROJECT_ID/global/networks/NETWORK。 请参阅配置 VPC 网络
  • DAY:维护窗口的星期几(例如 TUESDAY)。
  • START_TIME:维护窗口的 UTC 开始时间,采用 字典格式(例如 {hours=1,minutes=0})。

如需详细了解如何创建实例, 请参阅 创建 Managed Lustre 实例

REST API

如需为实例指定维护窗口,请在创建实例时添加 maintenancePolicy 对象。

以下是 maintenancePolicy 对象的一个示例:

"maintenancePolicy": {
  "weeklyMaintenanceWindows": [
    {
      "dayOfWeek": "DAY",
      "startTime": {
        "hours": HOURS,
        "minutes": MINUTES
      }
    }
  ]
}

替换以下内容:

  • DAY:维护窗口的星期几(例如 TUESDAY)。
  • HOURS:维护窗口开始时间的小时数(例如 1)。
  • MINUTES:维护窗口开始时间的分钟数(例如 0)。

配置排除窗口

如需防止在某些时段(例如节假日或商务活动)进行维护,您可以在维护政策中定义一个维护排除窗口。排除窗口最长可达两周。如需创建每年重复出现的排除窗口,请不要在开始日期和结束日期中指定年份。

您可以在同一政策中组合使用每周维护窗口和排除窗口。

Google Cloud 控制台

如需在创建实例时配置排除窗口,请参阅 创建实例

gcloud

通过指定 --maintenance-policy-exclusion-window 标志来创建具有排除窗口的实例:

gcloud lustre instances create INSTANCE_ID \
  --per-unit-storage-throughput=PER_UNIT_STORAGE_THROUGHPUT \
  --capacity-gib=CAPACITY_GIB \
  --filesystem=FILESYSTEM \
  --location=LOCATION \
  --network=NETWORK_PATH \
  --maintenance-policy-exclusion-window='startDate={START_DATE},endDate={END_DATE},time={TIME}'

替换以下内容:

  • INSTANCE_ID:您的 Managed Lustre 实例的 ID。
  • PER_UNIT_STORAGE_THROUGHPUT 是每 TiB 的 性能层级 ,以 MBps 为单位。有效值为 01252505001000。 如需指定 [动态层级][dynamic-tier],请将其设置为 0 并添加 --dynamic-tier-options-mode=DEFAULT_CACHE 标志。
  • CAPACITY:实例的容量,以 GiB 为单位。
  • FS_NAME:文件系统的名称。
  • LOCATION:Managed Lustre 实例的位置。
  • NETWORK_PATH:实例所属 VPC 网络的完整路径,格式为 projects/PROJECT_ID/global/networks/NETWORK。 请参阅配置 VPC 网络
  • START_DATE:维护排除窗口的开始日期 ,采用字典格式(例如 {day=08,month=06,year=2026})。如需每年重复出现 ,请省略 year 键。
  • END_DATE:维护排除窗口的结束日期,采用 字典格式(例如 {day=08,month=06,year=2026})。如需每年 重复出现,请省略 year 键。
  • TIME:排除窗口的 UTC 开始时间和结束时间,采用 字典格式(例如 {hours=1,minutes=0})。

REST API

以下是具有排除窗口的 maintenancePolicy 对象的一个示例:

"maintenancePolicy": {
  "maintenanceExclusionWindow": [
    {
      "startDate": {
        "day": START_DAY,
        "month": START_MONTH,
        "year": START_YEAR
      },
      "endDate": {
        "day": END_DAY,
        "month": END_MONTH,
        "year": END_YEAR
      },
      "time": {
        "hours": HOURS,
        "minutes": MINUTES
      }
    }
  ]
}

替换以下内容:

  • START_YEAR:排除窗口开始日期的年份(例如 2026)。如需创建每年重复出现的 窗口,请省略此字段和END_YEAR
  • START_MONTH:排除窗口开始日期的月份(例如 12)。
  • START_DAY:排除窗口开始日期的日期(例如 24)。
  • END_YEAR:排除窗口结束日期的年份(例如 2027)。如需创建每年重复出现的 窗口,请省略此字段和 START_YEAR
  • END_MONTH:排除窗口结束日期的月份 (例如 1)。
  • END_DAY:排除窗口结束日期的日期(例如 7)。
  • HOURS:排除窗口时间的小时数 (例如 0)。
  • MINUTES:排除窗口时间的分钟数 (例如 0)。

更新维护政策

如需为现有实例添加或修改维护政策,请执行以下操作:

Google Cloud 控制台

如需更新实例的维护政策,请参阅 管理实例

gcloud

以下 gcloud 示例更新了实例的维护政策:

gcloud lustre instances update INSTANCE_ID \
--location=LOCATION \
--maintenance-policy-weekly-windows='dayOfWeek=DAY,startTime={START_TIME}'

替换以下内容:

  • INSTANCE_ID:您的 Managed Lustre 实例的 ID。
  • LOCATION:Managed Lustre 实例的位置。
  • DAY:维护窗口的星期几(例如 TUESDAY)。
  • START_TIME:维护窗口的 UTC 开始时间,采用 字典格式(例如 {hours=1,minutes=0})。

REST API

如需为实例指定维护窗口,请在更新实例时添加 maintenancePolicy 对象。您还必须在 updateMask 查询参数中指定 maintenancePolicy

以下 curl 示例更新了实例的维护政策:

curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{
  "maintenancePolicy": {
    "weeklyMaintenanceWindows": [
      {
        "dayOfWeek": "DAY",
        "startTime": {
          "hours": HOURS,
          "minutes": MINUTES
        }
      }
    ]
  }
}' "https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=maintenancePolicy"

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID。
  • LOCATION LOCATION:Managed Lustre 实例的位置。
  • INSTANCE_ID:Managed Lustre 实例的 ID。
  • DAY:维护窗口的星期几(例如 TUESDAY)。
  • HOURS 小时:维护窗口开始时间的小时数(例如 3)。
  • MINUTES 分钟:维护窗口开始时间的分钟数(例如 45)。

移除维护政策

如需从实例中移除维护政策,请从政策中清除所有每周维护窗口和排除窗口。

Google Cloud 控制台

如需从实例中移除维护政策,请修改实例并清除维护政策字段。请参阅 管理实例

gcloud

使用 gcloud lustre instances update 命令,并添加 --clear-maintenance-policy-weekly-windows--clear-maintenance-policy-exclusion-window 标志:

gcloud lustre instances update INSTANCE_ID \
--location=LOCATION \
--clear-maintenance-policy-weekly-windows \
--clear-maintenance-policy-exclusion-window

替换以下内容:

  • INSTANCE_ID:您的 Managed Lustre 实例的 ID。
  • LOCATION:Managed Lustre 实例的位置。

REST API

如需使用 REST API 移除维护政策,请使用 instances.patch 方法,并添加一个空的 maintenancePolicy 对象,并将 updateMask 查询 参数设置为 maintenancePolicy

curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{
  "maintenancePolicy": {}
}' "https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID?updateMask=maintenancePolicy"

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID。
  • LOCATION:Managed Lustre 实例的位置。
  • INSTANCE_ID:Managed Lustre 实例的 ID。

查看维护日志

Managed Lustre 使用 Cloud Logging 记录维护事件,包括以下活动类型:

  • LustreAdvancedNotification:已为实例安排维护。
  • LustreOngoingNotification:实例已开始维护。完成后,系统会记录另一个 LustreOngoingNotification 事件,这次的 is_completed=true
  • LustreCancelledNotification:维护已取消。

您可以使用 Logs Explorer 或 Google Cloud CLI 查看维护日志。

Logs Explorer

如需使用日志浏览器查看 Managed Lustre 维护日志,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Cloud Logging > 日志浏览器 页面:

    转到 Logs Explorer

  2. 在查询编辑器中输入以下过滤条件,然后点击运行查询

    resource.type="lustre.googleapis.com/Instance"
    resource.labels.instance_id="INSTANCE_ID"
    resource.labels.location="LOCATION"
    logName="projects/PROJECT_ID/logs/lustre.googleapis.com%2Fmaintenance"
    

    替换以下内容:

    • INSTANCE_ID:您的 Managed Lustre 实例的 ID。
    • LOCATION:Managed Lustre 实例的位置。
    • PROJECT_ID:您的 Google Cloud 项目的 ID。

gcloud CLI

如需使用 Google Cloud CLI 查看维护日志,请运行 gcloud logging read命令:

gcloud logging read 'resource.type="lustre.googleapis.com/Instance" resource.labels.instance_id="INSTANCE_ID" resource.labels.location="LOCATION" logName="projects/PROJECT_ID/logs/lustre.googleapis.com%2Fmaintenance"' --project=PROJECT_ID

替换以下内容:

  • INSTANCE_ID:Managed Lustre 实例的 ID。
  • LOCATION:实例所在的地区。
  • PROJECT_ID:实例所在项目的项目 ID。

重新安排维护

如果计划的维护事件与您的需求冲突,您可以重新安排该事件。重新安排时,您可以选择以下选项:

  • 立即:重新安排维护事件,使其尽快开始。此选项会忽略实例上配置的所有维护窗口和排除窗口。
  • 下一个可用窗口:将维护事件重新安排到下一个 可用维护窗口。这通常会将更新推迟一周。
  • 按日期:将维护事件重新安排到特定日期和时间。 您可以将维护推迟到最晚比原计划时间晚 28 天。此选项会忽略实例上配置的所有维护窗口和排除窗口。

如需重新安排维护,请执行以下操作:

gcloud

如需尽快开始维护事件,请执行以下操作:

gcloud lustre instances reschedule-maintenance INSTANCE_ID \
--location=LOCATION \
--reschedule-type=immediately

如需将维护重新安排到下一个可用窗口,请执行以下操作:

gcloud lustre instances reschedule-maintenance INSTANCE_ID \
--location=LOCATION \
--reschedule-type=next-available-window

如需将维护重新安排到特定时间,请执行以下操作:

gcloud lustre instances reschedule-maintenance INSTANCE_ID \
--location=LOCATION \
--reschedule-type=by-time \
--reschedule-schedule-time=TIMESTAMP

替换以下内容:

  • INSTANCE_ID:您的 Managed Lustre 实例的 ID。
  • LOCATION:Managed Lustre 实例的位置。
  • TIMESTAMPRFC 3339 格式的开始时间(例如 2026-04-30T10:00:00Z)。此时间不得晚于原计划时间 28 天。

REST API

使用 instances.rescheduleMaintenance 方法。

以下 curl 示例会尽快开始维护事件:

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{
  "reschedule": {
    "rescheduleType": "IMMEDIATELY"
  }
}' "https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:rescheduleMaintenance"

以下 curl 示例会将维护重新安排到下一个可用窗口:

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{
  "reschedule": {
    "rescheduleType": "NEXT_AVAILABLE_WINDOW"
  }
}' "https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:rescheduleMaintenance"

以下 curl 示例会将维护重新安排到特定时间:

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{
  "reschedule": {
    "rescheduleType": "BY_TIME",
    "scheduleTime": "TIMESTAMP"
  }
}' "https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:rescheduleMaintenance"

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID。
  • INSTANCE_ID:您的 Managed Lustre 实例的 ID。
  • LOCATION:Managed Lustre 实例的位置。
  • TIMESTAMPRFC 3339 格式的开始时间(例如 2026-04-30T10:00:00Z)。此时间不得晚于原计划时间 28 天。