监控磁盘健康状况


您可以通过查看磁盘性能状态指标来检查 Persistent Disk 或 Google Cloud Hyperdisk 卷的运行状况。此指标表示磁盘的性能是否可能会受到 Compute Engine 中的不利事件影响。

影响磁盘性能状态的问题可能还会显示在项目的 Personal Service Health (PSH) 信息中心或 Google Cloud Service Health 信息中心中。

本文档介绍了磁盘性能状态以及如何使用该状态来排查性能问题。

何时检查磁盘的运行状况

如果您发现磁盘存在性能问题,请查看磁盘性能状态指标,检查磁盘的运行状况。磁盘性能状态指标每分钟更新一次,表示前一分钟内的整个磁盘性能。如需了解检查磁盘健康状况的步骤,请参阅查看磁盘性能状态

下表总结了磁盘性能状态的可能值。

状态 含义
Healthy 磁盘性能符合预期。
Degraded 您可能会暂时观察到 I/O 延迟时间高于预期。
Severely degraded 出现较长的 I/O 延迟时间或其他错误。

如果效果状态不是 Healthy,请参阅了解每种状态,了解后续步骤。

如果性能状态为 Healthy,则表示磁盘正常运行,您需要检查导致性能问题的其他原因。您应检查是否存在应用或操作系统错误,并确保磁盘已正确优化。如需了解优化指南,请参阅优化 Hyperdisk优化 Persistent Disk

磁盘健康状况与其他磁盘性能指标的关系

性能状态指标显示的磁盘运行状况是从 Google 的角度来看磁盘的内部状态。如果磁盘的状态为 DegradedSeverely Degraded,则根本原因始终在 Compute Engine 基础架构中。

通常,您无法通过修改工作负载来更改磁盘的运行状况。不过,在极少数情况下,对工作负载所做的更改可能会触发内部问题,因此您或许可以通过修改工作负载来缓解问题。

如需了解其他可用的磁盘性能指标,请参阅查看磁盘性能指标

不会影响磁盘性能状态的场景

磁盘性能状态与以下因素导致的性能问题无关:

  • 磁盘优化不完整或不充分
  • 与磁盘和机器类型相关联的性能限制(如果所选机器类型无法满足工作负载的性能要求)
  • 由于工作负载流量而增加的磁盘负载
  • 用户、应用或操作系统错误
  • 磁盘已满或已损坏
  • 对于 Hyperdisk 和 Extreme Persistent Disk 卷,预配的 IOPS 或吞吐量不足。

在这些情况下,您有责任采取措施来提升性能,例如优化磁盘、扩容工作负载、更改机器类型,以及预配更多容量、IOPS 或吞吐量。

在 Cloud Monitoring 中查看磁盘的运行状况

如需查看磁盘的运行状况,请在 Metrics Explorer 中创建一个图表。

所需的角色和权限

如需获得检查磁盘性能状态指标所需的权限,请让管理员向您授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

在 Metrics Explorer 中创建图表

如需创建图表,请使用菜单驱动的界面、 Monitoring Query Language (MQL)PromQL 构建查询。

如需在图表中查看一个或多个磁盘的运行状况,请按照以下说明操作。
  1. 在 Google Cloud 控制台中,转到 Metrics Explorer 页面:

    进入 Metrics Explorer

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 指标元素中,展开选择指标菜单,在过滤栏中输入 VM Instance,然后使用子菜单选择一个特定资源类型和指标:
    1. 活跃资源菜单中,选择虚拟机实例
    2. 活跃指标类别菜单中,选择实例
    3. 活跃指标菜单中,选择磁盘性能状态
    4. 点击应用
    此指标的完全限定名称为 compute.googleapis.com/instance/disk/performance_status
  3. 配置数据的查看方式。
    停用汇总。确保在汇总元素中,将第一个菜单设置为不汇总,并将第二个菜单设置为
    如需查看特定磁盘的运行状况,请按 device_name 进行过滤。

    如需详细了解如何配置图表,请参阅使用 Metrics Explorer 时选择指标

MQL

  1. 打开查询编辑器:请按照编写 MQL 查询中的步骤操作。

  2. 在查询编辑器中输入查询。例如,如需查看特定磁盘的性能状态,请输入以下查询:

        fetch gce_instance
        | metric 'compute.googleapis.com/instance/disk/performance_status'
        | filter metric.device_name == 'DISK_NAME'
        | group_by 1m,
            [value_performance_status_fraction_true:
              fraction_true(value.performance_status)]
        | every 1m
      

    DISK_NAME 替换为磁盘名称,例如 disk-1

PromQL

  1. 打开查询编辑器:请按照编写 PromQL 查询中的步骤操作。

  2. 在查询编辑器中输入查询。例如,如需查看特定磁盘的性能状态,请输入以下查询:

  last_over_time
    (compute_googleapis_com:instance_disk_performance_status
      {monitored_resource="gce_instance",
        project_id ="PROJECT_ID",
        device_name="DISK_NAME"}[${__interval}])

DISK_NAME 替换为磁盘名称,例如 disk-1

如果您在图表中查看结果,则每个磁盘都有 3 条线,每条线对应一种可能的状态。同样,如果您在表格中查看查询结果,则每个磁盘对应于表格中的 3 行。

如果您使用 PromQL 或 MQL 构建了查询,则每行或数据行将具有 10 的值。对于使用菜单构建的查询,此值为 100%0

磁盘的当前运行状况由值为 100%1 的行或线条表示

例如,以下屏幕截图显示了名为 a-test-VM 且状态为 Healthy 的磁盘的图表:

显示磁盘状态为“健康”的图表的屏幕截图

如果您将查询结果视为表格,下表显示了 Healthy 磁盘的结果示例:

performance_status
Healthy 1
Degraded 0
Severely Degraded 0

以下屏幕截图显示了状态为已降级的名为 replica-23509 的磁盘的图表:显示磁盘状态为“已降级”的图表的屏幕截图

如需了解每种效果状态的含义,请参阅了解每种状态。创建图表后,您可以将图表保存到信息中心以供日后使用

按比例分配的结果

如果您的查询包含小数结果(如下表所示),通常是因为所选的显示时间段较长。因此,Cloud Monitoring 会随时间的推移对数据进行汇总。如果 Healthy 状态的值为 77%,则表示在所选显示时间段内,磁盘的状态为 Healthy 77%。

performance_status
Healthy 77%
Degraded 23%
Severely Degraded 0

如需更精细地了解磁盘的运行状况,请使用几个小时或几分钟的显示时段。

了解各个状态

本部分介绍了每种状态的含义,以及您何时可能需要采取进一步行动。

Healthy

Healthy 状态表示从 Google 的角度来看,磁盘正常运行。

如果 Healthy 磁盘存在性能问题,请勿与支持团队联系。请改为按照以下建议排查磁盘问题:

  • 查看磁盘性能指标,例如延迟时间和队列深度。
  • 检查工作负载的日志和指标,找出异常和瓶颈。
  • 如果您使用的是 Persistent Disk,请确保预配的容量可以满足磁盘的性能需求。如果您使用的是 Hyperdisk 或极端永久性磁盘卷,请验证您是否已预配足够的 IOPS 和吞吐量。
  • 确保您已按照相关准则优化了磁盘。如需了解详情,请参阅优化 Hyperdisk优化永久性磁盘

Degraded

如果磁盘的状态为 Degraded,您通常无需与支持团队联系Degraded status 通常由 Compute Engine 基础架构上的正常内部维护引起。

当磁盘的状态为 Degraded 时,您可能不会注意到磁盘性能受到任何影响。即使性能问题与 Degraded 状态在时间上相关,性能问题可能仍然与 Degraded 状态无关。

如果性能问题是由 Degraded 状态导致的(这种情况不太可能),影响通常是暂时的。磁盘的状态应该会在几分钟内恢复为 Healthy

如果磁盘没有性能问题,您可以放心地忽略 Degraded 状态。

出现效果问题时该怎么办

如果磁盘的性能状态为 Degraded,并且您发现了性能问题,请按以下步骤操作:

  1. 查看 PSH 信息中心,了解是否有影响磁盘的突发事件。如果发生事故,请勿与支持团队联系,因为 Google 已知晓并正在努力解决此问题。
  2. 如果没有已知问题,请等待至少 5 分钟,让性能问题自行解决。
  3. 如果 5 分钟后,性能问题未得到解决状态仍为 Degraded,请确保性能问题不是由磁盘优化不充分所致。例如,检查磁盘的延迟时间和队列深度。性能问题与 Degraded 状态可能没有关联,只是巧合。为此,请查看磁盘的指标以及性能优化准则

  4. 如果性能问题仍然存在,并且满足所有以下条件,您可以联系支持团队寻求帮助:

    • 磁盘的状态已超过 5 分钟处于 Degraded
    • 您有充分的理由确信这不是工作负载问题,因为您已优化磁盘并验证没有其他问题(例如瓶颈或应用过载)
    • PSH 信息中心中没有任何提醒

Google 不建议直接针对 Degraded 状态创建提醒,而是建议针对更高级别的应用状态创建提醒,并使用此指标调试问题。

Severely Degraded

性能状态为 Severely Degraded 的磁盘存在性能问题。此问题可能是由突发事件或错误导致的,可能已显示在 PSH 信息中心Google Cloud Service Health 信息中心中。

您需要采取的行动

如果磁盘的性能状态为 Severely Degraded,请按以下步骤操作:

  1. 请查看 PSH 信息中心和常规 Google Cloud 运行状况信息中心,看看是否有影响磁盘的突发事件。如果发生了事故,请勿与支持团队联系,因为 Google 已知晓并正在努力解决此问题。
  2. 如果这两个信息中心都没有已知问题,请与支持团队联系寻求帮助。

决策树

下图展示了如果磁盘存在性能问题,应如何处理,并总结了前面部分中的信息。

流程图:描述解读磁盘性能状态指标的步骤。

如流程图所示,只有在 PSH 和云服务信息中心中没有已知提醒且磁盘状态为 Severely Degraded 时,您才应与支持团队联系。如果磁盘为 Degraded,请仅在满足以下所有条件时与支持团队联系:

  • 磁盘已处于 Degraded 状态超过 5 分钟
  • 您已排除工作负载错误或配置错误(例如网络问题)
  • 无法在应用、工作负载或磁盘级别执行其他优化
  • 您已查看磁盘的所有指标
  • 您已检查工作负载和虚拟机 (VM) 日志

后续步骤