为确保您的 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 开始时间,且时长为 1 小时。
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 是性能层级,单位为 MBps/TiB。有效值为
0、125、250、500和1000。 如需指定 [动态层][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 是性能层级,单位为 MBps/TiB。有效值为
0、125、250、500和1000。 如需指定 [动态层][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 Managed Lustre 实例的位置。
- INSTANCE_ID Managed Lustre 实例的 ID。
- DAY:维护窗口的星期几(例如
TUESDAY)。 - HOURS 维护窗口开始时间的小时(例如
3)。 - MINUTES 维护窗口开始时间的小时分钟值(例如
45)。
移除维护政策
如需从实例中移除维护政策,请清除该政策中的所有每周维护窗口和排除窗口。
Google Cloud 控制台
如需从实例中移除维护政策,请修改该实例并清除维护政策字段。请参阅管理实例。
gcloud
使用带有 --clear-maintenance-policy-weekly-windows 和 --clear-maintenance-policy-exclusion-window 标志的 gcloud lustre instances update 命令:
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 查看维护日志。
日志浏览器
如需使用日志浏览器查看 Managed Lustre 维护日志,请执行以下操作:
在 Google Cloud 控制台中,前往 Cloud Logging > Logs Explorer页面:
在查询编辑器中输入以下过滤条件,然后点击运行查询:
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"
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 实例的位置。
- TIMESTAMP:采用 RFC 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 实例的位置。
- TIMESTAMP:采用 RFC 3339 格式的开始时间(例如
2026-04-30T10:00:00Z)。此时间不得晚于原定时间的 28 天。