13.3. 使用事件和条件诊断数据卷
使用 oc describe
命令分析并帮助解决数据卷的问题。
13.3.1. 关于条件和事件
通过检查命令生成的 Conditions
和 Events
部分的输出结果来诊断数据卷的问题:
$ oc describe dv <DataVolume>
在 Conditions
部分会有三个 Types
:
-
Bound
-
Running
-
Ready
Events
部分提供以下额外信息:
-
事件
类型
-
日志
原因
-
事件
源
-
包含其他诊断信息的
消息
。
oc describe
的输出并不总是包含 Events
。
当 Status
、Reason
或 Message
改变时会产生一个事件。条件和事件均响应数据卷状态的变化。
例如,在导入操作中错误拼写了 URL,则导入会生成 404 信息。该消息的更改会生成一个带有原因的事件。Conditions
部分中的输出也会更新。
13.3.2. 使用条件和事件分析数据卷
通过检查 describe
命令生成的 Conditions
和 Events
部分,您可以确定与 PVC相关的数据卷的状态,以及某个操作是否正在主动运行或完成。您可能还会收到信息,它们提供了有关数据卷状态的特定详情,以及如何处于当前状态。
有多种条件的组合。对每个条件组合的评估都必须其特定的环境下进行。
下面是各种组合的例子。
Bound
- 本示例中显示一个成功绑定 PVC。请注意,
Type
是Bound
,所以Status
为True
。如果 PVC 没有绑定,Status
为False
。当 PVC 被绑定时,会生成一个事件声明 PVC 已被绑定。在本例中,
Reason
为Bound
,Status
为True
。Message
指明了哪个 PVC 拥有数据卷。在
Events
部分,Message
提供了更多详细信息,包括 PVC 被绑定的时间(Age
)和它的源(From
),在本例中是datavolume-controller
:输出示例
Status: Conditions: Last Heart Beat Time: 2020-07-15T03:58:24Z Last Transition Time: 2020-07-15T03:58:24Z Message: PVC win10-rootdisk Bound Reason: Bound Status: True Type: Bound Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Bound 24s datavolume-controller PVC example-dv Bound
Running
- 在本例中,请注意Type
是Running
,Status
为False
。这表示发生事件导致尝试的操作失败,将 Status 从True
改为False
。然而,请注意
Reason
是Completed
,Message
显示Import Complete
。在
Events
部分,Reason
和Message
包含有关失败操作的额外故障排除信息。在这个示例中,Message
显示因为404
无法连接,这在Events
部分的第一个Warning
中列出。根据这些信息,您认为导入操作正在运行,并为试图访问数据卷的其他操作创建竞争:
输出示例
Status: Conditions: Last Heart Beat Time: 2020-07-15T04:31:39Z Last Transition Time: 2020-07-15T04:31:39Z Message: Import Complete Reason: Completed Status: False Type: Running Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning Error 12s (x2 over 14s) datavolume-controller Unable to connect to http data source: expected status code 200, got 404. Status: 404 Not Found
Ready
- 如果Type
是Ready
,Status
为True
,则代表数据卷已就绪,如下例所示。如果数据卷未就绪,则Status
为False
:输出示例
Status: Conditions: Last Heart Beat Time: 2020-07-15T04:31:39Z Last Transition Time: 2020-07-15T04:31:39Z Status: True Type: Ready