vmware的APD和PDL详细解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: APD和PDL的情形在虚拟化运维中,是相对来说比较棘手的问题,需要谨慎处理。 全部路径异常 (APD): • 数据存储在“存储”视图中显示为不可用。 • 存储适配器指示设备的“操作状态”为“不活动或出错” 永久设备丢失 (PDL) • 数据存储在“存储”视图中显示为不可用 • 存储适配器指示设备的“操作状态”为“通信中断” APD解析: 在 vSphere 4.x 中,如果设备的所有路径都出现故障,则将发生全部路径异常 (APD) 状况。

APD和PDL的情形在虚拟化运维中,是相对来说比较棘手的问题,需要谨慎处理。

全部路径异常 (APD):
• 数据存储在“存储”视图中显示为不可用。
• 存储适配器指示设备的“操作状态”为“不活动或出错”

永久设备丢失 (PDL)
• 数据存储在“存储”视图中显示为不可用
• 存储适配器指示设备的“操作状态”为“通信中断”

APD解析:
在 vSphere 4.x 中,如果设备的所有路径都出现故障,则将发生全部路径异常 (APD) 状况。 由于没有迹象表明这是永久性还是暂时性设备丢失,ESXi 主机会保持重新尝试建立连接。 当从 ESXi/ESX 主机错误取消提供 LUN 时,通常会发生 APD 状况。 ESXi/ESX 主机仍然认为该设备可用,将无限期重新尝试所有的 SCSI 命令。 这会对管理代理产生影响,因为在重新可访问该设备之前不会对其命令作出响应。 这将导致 ESXi/ESX 主机在 vCenter Server 中变得不可访问/无响应。

在 vSphere 5.x/6.x 中,已在永久丢失 (PDL) 的设备和由于未知原因而发生全部路径异常 (APD) 这一暂时性问题的设备之间进行了明确的区分。

例如,在 VMkernel 日志中,如果存储设备将 SCSI 感知代码 H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x25 0x0 或 Logical Unit Not Supported 记录到 ESXi 5.x/6.x 主机中,则表明 ESXi 主机永久不可访问该设备,或者该设备处于永久设备丢失 (PDL) 状态。 ESXi 主机不再尝试重新建立连接或向该设备发出命令。

遇到不可恢复的硬件错误的设备也会被识别为正处于永久设备丢失 (PDL) 状态。

如果未从设备返回 PDL SCSI 感知代码(当无法联系存储阵列,或者所具有的存储阵列未返回受支持的 PDL SCSI 代码时),则该设备处于全部路径异常 (APD) 状态,ESXi 主机将继续发送 I/O 请求,直到主机收到响应。

由于 ESXi 主机无法确定设备丢失是永久性 (PDL) 还是暂时性 (APD) 的,因此它会无限期重试 SCSI I/O,包括:
• 用户领域 I/O(hostd 管理代理)
• 虚拟机客户机 I/O

注意: 如果从客户机发出 I/O 请求,则操作系统将超时并中止 I/O。
由于 APD 状况的性质,没有简便的方法进行恢复。
• 需要在存储阵列/结构层来解决 APD 状况,才能还原与主机的连接。
• 所有受影响的 ESXi 主机都可能需要重新引导,以移除到处于 APD 状态的受影响设备的任何残留引用。
注意:
• 无法对未受影响的虚拟机执行 vMotion 迁移,因为管理代理可能会受到 APD 状况的影响,且 ESXi 主机可能变为非受管状态。 因此,重新引导受影响的 ESXi 主机会强制中断该主机上所有未受影响的虚拟机。
• vSphere 6.0 和更高版本随 vSphere HA 一起引入了强大的新功能,称为虚拟机组件保护 (VMCP)。VMCP 可防止虚拟机出现与存储相关的事件,尤其是永久设备丢失 (PDL) 和全部路径异常 (APD) 事件。

注意:发生 APD 事件时,连接到 ESXi 的 LUN 可能会在 LUN 路径恢复后仍无法访问。
即使存储路径恢复后,140 秒的 APD 超时时间可能仍会到期。
在 /var/log/vmkernel.log 文件中,您会依次遇到以下事件:

    设备进入 APD 状态。
    设备退出 APD 状态。
    由于超时或未找到或忙碌,设备上的检测信号恢复和文件系统操作失败。
    尽管设备之前已退出 APD 状态,但是“APD 超时”仍会到期。

此状况与以下一个或多个行为有关:

    虚拟机无法访问。
    主机无响应。
    即使路径已恢复且可用,存储仍处于脱机状态。
    即使虚拟机仍在数据存储上,vSphere Client 也不显示数据存储。

以下一个或多个事件可能会触发 APD 事件:

    上游光纤通道或以太网交换链路失败会影响存储阵列的所有路径
    存储阵列故障或重新引导
    存储阵列固件更新(某些供应商)

当然并非所有 APD 事件均会出现此行为。 大多数情况下,LUN 和数据存储会按预期正常退出 APD 超时状况。
原因:
出现此问题的原因是 APD 处理时发生故障。 出现此问题时,LUN 路径在 APD 事件期间可用且处于联机状态,但 APD 定时器会继续计数,直到 LUN 进入“APD 超时”状态。 初始 APD 事件后,只要活动工作负载与数据存储关联,该数据存储将无法访问。

遇到此问题时,必须终止虚拟机才能恢复数据存储。HA(如果已启用)应在其他主机上恢复这些虚拟机。如果必须重新启动管理代理,则暂时将无法通过 vCenter Server 管理主机。

计划内 PDL 与计划外 PDL 解析:
当试图移除向 ESXi 主机提供的设备时,将发生计划内 PDL。 必须首先卸载数据存储,然后分离设备,这样才能在存储阵列上取消提供该存储设备。 有关如何在 ESXi 5.x 中正确取消提供 LUN 的详细信息,请参见 如何从ESXi 主机卸载 LUN 或分离数据存储设备 (2072353) 。

如果意外从存储阵列取消提供存储设备,而未在 ESXi 主机上执行卸载和分离,则将发生计划外 PDL。
在 ESXi 5.5 中,VMware 提供了一种名为“自动移除”的功能,以便在计划外 PDL 期间自动移除设备。 有关详细信息,请参见 PDL AutoRemove feature in vSphere 5.5 (2059622)。

要清除计划外 PDL,请执行以下操作:

  1. 数据存储中所有运行的虚拟机必须关闭电源并从 vCenter Server 中取消注册。
  2. 从 vSphere Client 中,转到 ESXi 主机的配置选项卡,然后单击存储。
  3. 右键单击要移除的数据存储,然后单击卸载。

此时将显示确认卸载数据存储窗口。 如果符合必备条件,则会显示确定按钮。

如果您在卸载 LUN 时看到以下错误:

在 vCenter Server <name_of_vCenter> 上为对象 <name_of_LUN> 调用数据存储刷新失败
(Call datastore refresh for object <name_of_LUN> on vCenter server <name_of_vCenter> failed)

您可能提供了快照 LUN。 要解决此问题,请在阵列端移除该快照 LUN。

  1. 在该 LUN 对其可见的所有 ESXi 主机上执行重新扫描。

注意: 如果存在对该设备或挂起 I/O 的活动引用,ESXi 主机在重新扫描后仍会列出该设备。 检查可能仍具有对该设备或数据存储的活动引用的虚拟机、模板、ISO 映像、软盘映像和裸设备映射。

  1. 如果该 LUN 仍在使用中且再次可用,请转到每个主机,右键单击该 LUN,然后单击挂载。

注意: 计划外 PDL 的一个可能原因是 LUN 的空间不足,从而导致其变得无法访问。

Vc 6.0解决方案:
如果启用虚拟机组件保护 (VMCP),vSphere HA 可以检测到数据存储可访问性故障,并为受影响的虚拟机提供自动恢复。
VMCP 可防止发生数据存储可访问性故障,这些故障可能会影响 vSphere HA 群集中主机上正在运行的虚拟机。当发生数据存储可访问性故障时,受影响的主机无法再访问特定数据存储的存储路径。您可以确定 vSphere HA 将对此类故障作出的响应,从创建事件警报到虚拟机在其他主机上重新启动。
注:
使用虚拟机组件保护功能时,ESXi 主机的版本必须为 6.0 或更高版本。
故障类型
存在两种类型的数据存储可访问性故障:
PDL
PDL(永久设备丢失)是在存储设备报告主机无法再访问数据存储时发生的不可恢复的可访问性丢失。如果不关闭虚拟机的电源,此状况将无法恢复。
APD
APD(全部路径异常)表示暂时性或未知的可访问性丢失,或 I/O 处理中的任何其他未识别的延迟。此类型的可访问性问题是可恢复的。

配置 VMCP
在 vSphere Web Client 中配置虚拟机组件保护。转到配置选项卡并单击 vSphere 可用性和编辑。在故障和响应下,可以选择处于 PDL 状态的数据存储或处于 APD 状态的数据存储。您可选择的存储保护级别以及可用的虚拟机修复操作根据数据库可访问性故障的类型而异。
PDL 故障
在处于 PDL 状态的数据存储下,可以选择发布事件或关闭虚拟机电源再重新启动虚拟机。
APD 故障
响应 APD 事件是更加复杂的,相应地配置是更加精细的。可以选择发布事件、关闭虚拟机电源再重新启动虚拟机 - 保守的重新启动策略或关闭虚拟机电源再重新启动虚拟机 - 激进的重新启动策略

原文文章由博悦平台发布http://www.hongshulin001.com转载请注明出处

目录
相关文章
|
监控 虚拟化 存储
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
77 2
|
4天前
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
|
4天前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析

推荐镜像

更多