为永久性磁盘创建计划快照

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本文档介绍如何创建快照时间表以定期自动备份地区区域永久性磁盘。 您可以将快照时间表用作备份 Compute Engine 工作负载的最佳做法。

创建快照时间表时,您需要创建一项可应用于一个或多个永久性磁盘的资源政策。您可以通过以下方式创建快照时间表:

快照时间表包括以下属性:

  • 时间表名称
  • 时间表说明
  • 快照频率(每小时、每天、每周)
  • 快照开始时间
  • 快照时间表可用区域
  • 来源磁盘删除政策(用于在来源磁盘遭到删除后处理自动生成的快照)
  • 保留政策(用于定义保留快照时间表所产生快照的时间长短)

准备工作

限制

  • 一个永久性磁盘一次只能挂接一个快照时间表。
  • 您无法使用快照时间表创建归档快照。
  • 您最多可以为每个区域创建 1000 个使用中的快照时间表。
  • 如果您所在区域需要更多资源,则可能需要通过控制台申请增加资源配额
  • 如果快照时间表已挂接到磁盘,便无法被删除。您必须先从所有磁盘中分离该时间表,然后才能删除。
  • 创建快照时间表后,您无法对其进行修改。若要更新,您必须删除该快照时间表,然后再创建一个新的快照时间表。
  • 目前,您无法为使用客户提供的加密密钥 (CSEK) 功能的永久性磁盘创建快照时间表。
  • 如果为使用客户管理的加密密钥 (CMEK) 的永久性磁盘创建快照时间表,则各快照将使用同一密钥自动加密。

快照时间表频率

在创建快照时间表之前,您需要选择开始时间和快照频率。开始时间就是您希望启动快照时间表的时间,而频率则可定义为每小时、每天或每周。

快照时间表会在指定的开始时间所处的那个小时开始。例如,如果时间表的开始时间是中午 12 点,那么系统便会在中午 12 点到中午 12:59 之间的任意时间开始截取快照。时间表使用 UTC 时间标准。

  • 设置每小时时间表:如需设置每小时时间表,请选择开始时间,并使用介于 1 到 23 的整数选择快照间隔。快照间隔用于定义快照的截取频率。设置间隔时,请选择一个能够整除 24 的数字(1、2、3、4、6、8 或 12),以使快照每天以相同的时间间隔启动。例如,将开始时间设为 9:00,间隔设为 6,表示快照时间表在 9:00 到 10:00 之间开始,快照之间的间隔为 6 小时。

  • 设置每天时间表:将频率设为每天,让系统每天生成 1 次快照。例如,您可以设置一个快照时间表,让系统每天上午 9 点生成快照。

  • 设置每周时间表:将频率设为每周,让系统拍摄一周内多天的快照。例如,将开始时间设为上午 9 点,并将每周时间表设为星期一、星期四、星期日,表示系统在每周的星期一、星期四和星期日上午 9 点截取快照。您还可以将每周时间表设置在一周中的不同日子和时间。例如,您可以将每周时间表设为每周一下午 2 点和每周四上午 10 点。

快照保留政策

快照保留政策定义了您要保留快照的时间长短。

如果您选择设置快照保留政策,就必须将其纳入快照时间表。如果您使用 gcloud CLI 或 Google Cloud 控制台,则在创建快照时间表时必须始终设置保留政策。如果您直接向 API 发出请求,则可以忽略此字段,系统会无限期地保留您的快照。

如果您向 API 发出请求并选择默认选项以永久保留所有自动生成的快照,直到您手动删除它们,请注意,保留这些快照将会产生存储费用,直到您手动删除它们。

您可以考虑的最佳做法是,设置保留政策,以最大限度地减少长期存储快照所产生的费用。

  • 您必须指定按天数计(最少 1 天)的快照保留政策。
  • 快照保留政策仅适用于自动生成的快照,不适用于手动创建的快照。
  • 您不能追溯应用保留政策。如果您先创建了一个不含保留政策的快照时间表,然后切换到另一个含有保留政策的快照时间表,则该保留政策只会应用于新的快照。
  • 无论保留政策如何设置,您随时都可以手动删除自动生成和手动创建的快照。

来源磁盘删除规则

在创建快照时间表时,您还可以设置来源磁盘删除规则。该规则可用于控制在来源磁盘遭到删除后,系统对快照执行的操作。默认情况下,如果来源磁盘遭到删除,那么无论您设置的原始保留政策如何,系统都会永久保留根据快照时间表自动生成的快照,除非您手动删除它们,或指定了其它相关政策。

此外,您也可以设置相应规则,以便在来源磁盘遭到删除后,将您的快照保留政策应用于快照。例如,您可以应用保留政策,让系统在来源磁盘遭到删除后将快照保留一周的时间。

例如,假设您创建了一个保留政策为 3 天的快照时间表,但选择不针对来源磁盘遭到删除的情况应用保留政策。当您将该政策应用于永久性磁盘后,Compute Engine 会自动生成快照,但也会根据保留政策在 3 天后自动删除快照。不过,如果您的来源磁盘遭到删除,则保留政策将不再适用,并且根据此时间表创建的所有现有快照都将无限期地保留下来。

为 Windows 实例安排生成快照

若要将快照时间表应用于挂接到 Windows 虚拟机实例的磁盘,请使用 guest-flush 选项来启用 VSS,以生成快照的影子副本。如需详细了解 Windows 快照,请参阅创建 Windows 永久性磁盘快照

快照存放区域规则和快照标签

与手动生成的快照类似,您还可以为自动生成的快照应用资源标签和选择存储位置。如果您在快照时间表中设置了上述属性,则根据此时间表自动生成的快照都将应用这些属性。例如,如果将快照存放区域设置为 US,则根据此时间表生成的所有快照都将存储在美国。如需了解如何设置这些选项,请查看以下示例。

计划快照的名称

作为快照时间表的一部分被捕获的快照具有自动生成的名称。快照名称根据以下格式生成:

[disk-name-prefix]-[scope-name]-[timestamp]-[random-chars]
  • disk-name-prefix:来源磁盘的名称。此字段的长度不得超过 20 个字符。
  • scope-name:来源磁盘的地区或区域的名称。
  • timestamp:以 YYYYMMDDHHMMSS 格式表示的世界协调时间 (UTC) 创建时间戳。
  • random-chars:随机生成的字母数字字符,以避免与其他快照发生命名冲突。

创建快照时间表

使用 Google Cloud Console、Google Cloud CLI 或 Compute Engine API 为永久性磁盘创建快照时间表。您必须在永久性磁盘所在的同一个区域中创建快照时间表。例如,如果您的永久性磁盘位于可用区 us-west1-a 中,则快照时间表必须位于 us-west1 区域中。如需了解详情,请参阅选择快照的存储位置

控制台

  1. 在 Google Cloud 控制台中,进入虚拟机实例页面。

    转到虚拟机实例
    其余步骤将自动显示在 Google Cloud 控制台中。

  2. 名称列中,点击包含要为其创建快照时间表的永久性磁盘的虚拟机。
  3. 存储部分,点击要为其创建快照时间表的启动磁盘额外磁盘的名称。
  4. 点击修改
  5. 快照时间表中,选择创建时间表
  6. 名称中,为快照时间表输入以下名称之一:
    • boot-disk-snapshot-schedule
    • attached-persistent-disk-snapshot-schedule
  7. 位置部分,默认为多区域,该选项可以提供更高的可用性,但费用也会更高。

    选择区域快照,该选项能够更好地控制数据的实际位置,并且费用也会更低。

  8. 如需完成快照时间表的创建,请点击创建
  9. 如需将此快照时间表挂接到永久性磁盘,请点击保存

gcloud

如需为永久性磁盘创建快照时间表,请使用 compute resource-policies create snapshot-schedule gcloud 命令。并将时间表频率设为每小时、每天或每周。

  gcloud compute resource-policies create snapshot-schedule [SCHEDULE_NAME] \
      --description "[SCHEDULE_DESCRIPTION]" \
      --max-retention-days [MAX_RETENTION_DAYS] \
      --start-time [START_TIME] \
      --hourly-schedule [SNAPSHOT_INTERVAL] \
      --daily-schedule \
      --weekly-schedule [SNAPSHOT_INTERVAL] \
      --weekly-schedule-from-file [FILE_NAME] \
      --on-source-disk-delete [DELETION_OPTION]

其中:

  • [SCHEDULE_NAME] 是新快照时间表的名称。
  • "[SCHEDULE_DESCRIPTION]" 是快照时间表的说明。请使用引号将您的说明括起来。
  • [MAX_RETENTION_DAYS] 是保留快照的天数。例如,设为 3 表示快照在删除之前会保留 3 天。您必须将保留政策设为至少 1 天。
  • [START_TIME] 为 UTC 开始时间。时间必须从整点开始。例如:
    • 太平洋标准时间下午 2 点为 22:00
    • 如果您将开始时间设置为 22:13,则会收到错误消息。
  • [SNAPSHOT_INTERVAL] 用于定义截取快照的时间间隔。请使用介于 1 到 23 的整数设置每小时时间表。同时,请选择一个可以整除 24 的小时数。 例如,将 --hourly-schedule 设置为 12 表示每 12 小时生成一次快照。对于每周时间表,请定义您要在哪一天截取快照,并务必写清楚是周几(不区分大小写)。hourly-scheduledaily-scheduleweekly-schedule 这三种快照频率标志是互斥的。您必须为快照时间表选择其中一个标志。

  • 如果您选择以这种格式提供每周快照时间表,则 [FILE_NAME] 是包含该时间表的文件的名称。 请注意,您可以使用文件来为每周时间表指定不同的星期几和不同的时间(但不能直接在命令行上指定多个每周时间表)。例如,您的文件为快照时间表指定了周一和周三:[{"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"}],如果您在文件中添加开始时间,则无需设置 --start-time 标志。时间表使用 UTC 时间标准。

  • [DELETION_OPTION] 用于确定在来源磁盘遭到删除后系统对快照执行的操作。选择默认的 keep-auto-snapshots 可省略此标志,而使用 apply-retention-policy 则会应用保留政策。

下文介绍了设置快照时间表的其他示例。在下面的所有示例中:

  • 包含了磁盘删除规则;--on-source-disk-delete 标志设为默认值 keep-auto-snapshots,以永久保留所有自动生成的快照。另一种方法是将此标志设为 apply-retention-policy,以使用您的快照保留政策。
  • 存储位置设为 US,因此所有生成的快照将存储在 US 多区域中。
  • 向所有生成的快照应用了标签 env=devmedia=images
  • 保留政策设为 10 天。

每小时时间表:在此示例中,快照时间表的开始时间为世界协调时间 (UTC) 晚上 10 点,每 4 小时运行 1 次。

  gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
      --description "MY HOURLY SNAPSHOT SCHEDULE" \
      --max-retention-days 10 \
      --start-time 22:00 \
      --hourly-schedule 4 \
      --region us-west1 \
      --on-source-disk-delete keep-auto-snapshots \
      --snapshot-labels env=dev,media=images \
      --storage-location US

每日时间表:在此示例中,快照时间表的开始时间为世界协调时间 (UTC) 晚上 10 点,并在每天同一时间运行 1 次。--daily-schedule 标志必须存在,但不用设置任何值。

gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
    --description "MY DAILY SNAPSHOT SCHEDULE" \
    --max-retention-days 10 \
    --start-time 22:00 \
    --daily-schedule \
    --region us-west1 \
    --on-source-disk-delete keep-auto-snapshots \
    --snapshot-labels env=dev,media=images \
    --storage-location US

每周时间表:在此示例中,快照时间表的开始时间为世界协调时间 (UTC) 晚上 10 点,并在每个星期二和星期四各运行 1 次。

gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
    --description "MY WEEKLY SNAPSHOT SCHEDULE" \
    --max-retention-days 10 \
    --start-time 22:00 \
    --weekly-schedule tuesday,thursday \
    --region us-west1 \
    --on-source-disk-delete keep-auto-snapshots \
    --snapshot-labels env=dev,media=images \
    --storage-location US

API

在 API 中构建一个对 resourcePolicies.insertPOST 请求,以创建快照计划。您必须至少包括快照时间表名称、快照存储区域位置和快照频率。

默认情况下,onSourceDiskDelete 参数设置为 keepAutoSnapshots。这意味着,如果来源磁盘遭到删除,系统会无限期地保留为该磁盘自动生成的快照。此外,您也可以将该标志设为 applyRetentionPolicy,以应用您的保留政策。

在以下示例中,每日快照时间表的开始时间设为世界协调时间 (UTC) 中午 12 点,并每天重复。该示例还设置了 5 天的保留政策;5 天后,系统将自动移除快照。

您还可以在请求中包含快照存放区域选项快照标签,以确保快照会存储在您选择的位置。

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies

{
 "name": "[SCHEDULE_NAME]",
 "description": "[SCHEDULE_DESCRIPTION]",
 "snapshotSchedulePolicy": {
   "schedule": {
     "dailySchedule": {
       "startTime": "12:00",
       "daysInCycle": "1"
     }
   },
   "retentionPolicy": {
     "maxRetentionDays": "5"
   },
   "snapshotProperties": {
     "guestFlush": "False",
     "labels": {
       "env": "dev",
       "media": "images"
     },
     "storageLocations": ["US"]
   }
 }
}

其中:

  • [PROJECT_ID] 是项目名称。
  • [REGION] 是快照时间表资源政策的位置。
  • [SCHEDULE_DESCRIPTION] 是快照时间表的说明。
  • [SCHEDULE_NAME] 是快照时间表的名称。

同样,您也可以创建每周或每月时间表。请查看 API 参考,以了解有关设置每周或每月时间表的详细信息。

例如,以下请求将创建一个每个星期一的 9 点和星期四的 2 点运行的每周时间表。

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies

{
 "name": "[SCHEDULE_NAME]",
 "description": "[SCHEDULE_DESCRIPTION]",
 "snapshotSchedulePolicy": {
   "schedule": {
     "weeklySchedule": {
       "dayOfWeeks": [
       {
         "day": "Monday",
         "startTime": "9:00"
       },
       {
         "day": "Thursday",
         "startTime": "2:00"
       }
       ]
     }
   },
  "retentionPolicy": {
    "maxRetentionDays": "5"
  },
  "snapshotProperties": {
    "guestFlush": "False",
    "labels": {
      "production": "webserver"
    },
    "storageLocations": ["US"]
  }
 }
}

将快照时间表挂接到磁盘

创建时间表后,您可以使用控制台、gcloud 命令或 Compute Engine API 方法将其挂接到现有磁盘。

控制台

将快照时间表挂接到现有磁盘。

  1. 在 Google Cloud Console 中,转到磁盘页面。

    转到“磁盘”页面

  2. 点击要挂接快照时间表的磁盘的名称。随即将打开磁盘详情页面。
  3. 在磁盘详情页面顶部,点击修改
  4. 使用快照时间表下拉菜单将时间表添加到对应磁盘,或者创建一个新的时间表。
  5. 如果您创建了新的时间表,请点击创建
  6. 点击保存,以完成该任务。

gcloud

如需将快照时间表挂接到磁盘,请使用 disks add-resource-policies gcloud 命令。

gcloud compute disks add-resource-policies [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --zone [ZONE]

其中:

  • [DISK_NAME] 是现有磁盘的名称。
  • [SCHEDULE_NAME] 是快照时间表的名称。
  • [ZONE] 是磁盘的位置。

API

在 API 中,构建对 disks.addResourcePolicies 方法的 POST 请求,以将快照时间表挂接到现有磁盘。

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/addResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

其中:

  • [PROJECT_ID] 是项目名称。
  • [ZONE] 是磁盘的位置。
  • [REGION] 是快照时间表的区域。
  • [DISK_NAME] 是磁盘的名称。
  • [SCHEDULE_NAME] 是您要应用到此磁盘中的区域所含快照时间表的名称。

同时创建磁盘和快照时间表

只有在 Google Cloud 控制台和 gcloud 中您才能同时创建磁盘和快照时间表。

控制台

  1. 在 Google Cloud Console 中,转到磁盘页面。

    转到“磁盘”页面

  2. 点击页面顶部的创建磁盘
  3. 填写必填字段,以创建地区磁盘或区域磁盘。
  4. 在与快照时间表相同的区域中创建磁盘。
  5. 填充快照时间表的各个字段。
  6. 使用下拉菜单并填写用于创建时间表的各个字段。
  7. 点击创建以创建时间表。
  8. 点击创建以创建磁盘。

gcloud

使用 disks create gcloud 命令创建地区永久性磁盘或区域永久性磁盘,然后向其挂接快照时间表。

gcloud compute disks create [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --zone [ZONE]

其中:

  • [DISK_NAME] 是新磁盘的名称。
  • [SCHEDULE_NAME] 是快照时间表的名称。
  • [ZONE] 是您要创建磁盘的位置。磁盘必须位于快照时间表区域内的地区中。

查看快照时间表

如需获取快照时间表的列表,请使用控制台、gcloud 命令或 Compute Engine API 方法。此请求会显示项目中所有快照时间表的名称、说明和区域。

控制台

  1. 在 Google Cloud Console 中,转到快照页面。

    转到“快照”页面

  2. 点击页面顶部的快照时间表
  3. 使用过滤快照时间表搜索框,以查看指定的快照时间表。
  4. 点击相应快照时间表,以查看其详情。

gcloud

如需查看快照时间表的列表,请使用 resource-policies list gcloud 命令。

gcloud compute resource-policies list

如需查看特定快照时间表的说明,请使用 resource-policies describe gcloud 命令。

gcloud compute resource-policies describe [SCHEDULE_NAME]

其中:[SCHEDULE_NAME] 是快照时间表的名称。

API

resourcepolicies.aggregatedList 方法发出 GET 请求,以返回项目中快照时间表的列表。

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/aggregated/resourcePolicies

其中:[PROJECT_ID] 是项目名称。

按区域查看快照时间表

如需查看特定区域内的快照时间表,请使用控制台、gcloud 命令或 Compute Engine API 方法。

控制台

  1. 在 Google Cloud Console 中,转到快照页面。

    转到“快照”页面

  2. 点击页面顶部的快照时间表
  3. 使用过滤快照时间表搜索框,以按区域查看指定的快照时间表。

gcloud

如需查看特定区域的快照时间表,请使用 resource-policies list gcloud 命令。

gcloud compute resource-policies list [PROJECT_ID] \
    --filter [REGION]

其中:

  • [PROJECT_ID] 是项目名称。
  • [REGION] 是资源政策的位置。

API

请向 resourcePolicies.get 发出请求,以检索在相应区域中建立的快照时间表。

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]

其中:

  • [PROJECT_ID] 是项目名称。
  • [REGION] 是快照时间表的区域。
  • [SCHEDULE_NAME] 是您要查看的快照时间表的名称。

更改快照时间表

您无法修改快照时间表。如需更改已挂接到某个磁盘的时间表,您必须先从该磁盘中分离这个时间表,然后再将其删除。之后,您便可以创建新的时间表,并将其挂接到对应磁盘。您可以使用控制台、gcloud 命令或 Compute Engine API 方法来更改快照时间表。

通过已分离的快照时间表生成的快照将不受新政策管理。这些快照将无限期保留,直到您将其删除。

控制台

  1. 在 Google Cloud Console 中,转到磁盘页面。

    转到“磁盘”页面

  2. 选择包含要分离的时间表的磁盘。
  3. 点击页面顶部的修改
  4. 打开快照时间表下拉菜单。
  5. 点击无时间表,以从磁盘中分离该时间表。
  6. 您可以创建新的时间表,也可以在修改磁盘选项时更换时间表。
  7. 点击保存,以完成该任务。

gcloud

使用 disks remove-resource-policies gcloud 命令从包含要更改的时间表的磁盘中分离快照时间表。

gcloud compute disks remove-resource-policies [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --region [REGION] \
    --zone [ZONE]

其中:

  • [DISK_NAME] 是挂接了快照时间表的磁盘的名称。
  • [SCHEDULE_NAME] 是您要从此磁盘中分离的快照时间表的名称。
  • [REGION] 是您的快照时间表所在的区域。
  • [ZONE] 是您的地区磁盘所在的地区。

然后,您可以使用 disks add-resource-policies 命令将经过更新的快照时间表添加到磁盘。

 gcloud compute disks add-resource-policies [DISK_NAME] \
     --resource-policies [SCHEDULE_NAME] \
     --zone [ZONE]

其中:

  • [DISK_NAME] 是包含快照时间表资源政策的磁盘的名称。
  • [SCHEDULE_NAME] 是您要添加到此磁盘的快照时间表的名称。
  • [ZONE] 是磁盘所在的地区。

API

如需从磁盘中分离时间表,请构建一个对 disks.removeResourcePoliciesPOST 请求。

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/removeResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

其中:

  • [PROJECT_ID] 是项目名称。
  • [ZONE] 是磁盘所在的地区。
  • [DISK_NAME] 是包含关联快照时间表的磁盘的名称。
  • [REGION] 是快照时间表的区域。
  • [SCHEDULE_NAME] 是您要从此磁盘中移除的快照时间表的名称。

在 API 中,构建对 disks.addResourcePolicies 方法的 POST 请求,以将快照时间表挂接到现有磁盘。

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/addResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

其中:

  • [PROJECT_ID] 是项目名称。
  • [ZONE] 是磁盘的位置。
  • [DISK_NAME] 是磁盘的名称。
  • [REGION] 是快照时间表的区域。
  • [SCHEDULE_NAME] 是您要应用到此磁盘中的区域所含快照时间表的名称。

删除快照时间表

如果您删除了某个快照时间表,系统会永久保留与该快照时间表关联的所有自动生成的快照。但是,时间表一旦被删除,便无法再生成快照。

保留政策是快照时间表的一部分。时间表一旦删除,系统便不会再应用其中的保留政策。已生成的快照将会永久保留下来,直到您手动删除它们。

如需删除现有快照时间表,请使用 Google Cloud Console、Google Cloud CLI 或 Compute Engine API 方法。如果时间表已挂接到某个磁盘,请先从该磁盘中分离时间表,然后再将其删除。您无法删除已挂接到磁盘的快照时间表。

控制台

  1. 在 Google Cloud Console 中,转到快照页面。

    转到“快照”页面

  2. 选择快照时间表,以查看时间表的列表。
  3. 选择与磁盘没有关联的任意时间表。
  4. 点击页面顶部的删除

gcloud

如需删除指定的快照时间表,请使用 resource-policies delete gcloud 命令。

gcloud compute resource-policies delete [SCHEDULE_NAME] \
    --region [REGION]

其中:

  • [SCHEDULE_NAME] 是快照时间表的名称。
  • [REGION] 是快照时间表的区域。

API

请向 resourcepolicies.delete 发出请求,以删除快照时间表。如果快照时间表已挂接到特定磁盘,您便会收到错误消息。

DELETE https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]

其中:

  • [PROJECT_ID] 是项目名称。
  • [REGION] 是快照时间表的区域。
  • [SCHEDULE_NAME] 是快照时间表的名称。

日志记录和监控

与磁盘关联的每个计划快照会不断创建系统事件,而系统会始终监控和记录该事件。系统事件审核日志始终处于启用状态。

这些日志提供与每个关联磁盘的计划快照有关的行为信息。您可以通过控制台中的 Cloud Logging 菜单查看日志。

  1. 在 Google Cloud Console 中,转到日志浏览器页面。

    转到“日志浏览器”页面

  2. 已审核的资源下拉列表中,指向磁盘,然后选择所有 disk_id (All disk_id)。

  3. 所有日志下拉列表中,选择 cloudaudit.googleapis.com/system_event,然后点击确定

  4. 任何日志级别下拉列表中,选择日志类型。

为计划快照设置提醒

您可以创建自定义指标来发送提醒或提供有关排查计划快照问题的信息。

例如,如需为计划快照故障设置提醒,请按以下流程进行操作:

  1. 创建日志过滤条件以捕获计划快照事件。
  2. 根据记录计划快照发生故障次数的日志过滤条件创建指标
  3. 创建提醒政策,以便在计划快照发生故障时发送提醒。

创建日志过滤条件

  1. 在 Google Cloud 控制台中,转到 Cloud Logging > 日志浏览器页面。

    转到“日志浏览器”页面

  2. 按标签过滤或搜索文字列表中,选择转换为高级过滤条件

    转换为高级过滤条件。

  3. 将过滤条件文本框替换为以下文本,并将 project-id 替换为您的项目 ID:

    resource.type="gce_disk"
    logName="projects/project-id/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="ScheduledSnapshots"
    severity>"INFO"
    
  4. 点击提交过滤条件

创建指标

  1. 在页面顶部的日志浏览器中,点击创建指标

  2. 指标编辑器中,输入以下内容:

    • 名称scheduled_snapshot_failure_count
    • 说明count of scheduled snapshot failures
    • 类型Counter
  3. 标签下,点击添加一项并输入以下内容:

    • 名称status
    • 说明status of scheduled snapshot request
    • 标签类型String
    • 字段名称protoPayload.response.status
  4. 点击完成

  5. 点击创建指标

创建提醒政策

  1. 在 Google Cloud 控制台中,转到 Cloud Logging > 基于日志的指标页面。

    转到“基于日志的指标”页面

  2. 用户定义的指标下,找到名为 user/scheduled_snapshot_failure_count 的新指标。

  3. 点击这一行中的 更多菜单按钮,然后选择根据指标创建提醒。此时将打开提醒政策条件创建页面。

    用户定义的指标。

  4. 定位面板的聚合器下,选择

  5. 过滤条件下:

    1. 点击添加过滤条件
    2. 从列表中选择状态
    3. 字段中,输入 DONE。
    4. 点击应用

      提醒过滤条件状态。

  6. 点击显示高级选项

  7. 高级聚合窗格中,点击校准器列表并选择总和

  8. 配置面板中选择以下值:

    • 该条件的触发条件Any time series violates
    • 条件is above
    • 阈值1
    • 适用于most recent value

      配置面板。

  9. 点击保存

  10. 创建新的提醒政策页面上,输入政策名称。您也可以选择为此政策添加通知渠道和文档。

  11. 点击保存

后续步骤