Search the VMware Knowledge Base (KB)
View by Article ID

组件元数据运行状况检查失败并显示无效状态错误 (2147458)

  • 1 Ratings

Symptoms

免责声明:本文为 Component metadata health check fails with invalid state error (2145347) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


  • vSAN 运行状况检查插件报告Component metadata health(组件元数据运行状况)测试为“失败”。
  • 组件 UUID 将组件状态报告为Invalid state(无效状态)。
  • 在 vCenter Server> 监控 > Virtual San > 运行状况中的群集级别,您将看到类似以下内容的错误:




Purpose

本文介绍了如何修复导致 Component metadata health(组件元数据运行状况)警报的Invalid state(无效状态)组件。

Cause

出现此问题是因为 vSAN Local Log Structured Object Management (LSOM) 组件存在问题,该问题导致组件中的元数据损坏。

注意:此问题通常不会影响“允许的主机故障”策略选项大于零的任何虚拟机对象的可用性。

Resolution

此问题在 ESXi 6.0 修补程序 ESXi600-201611001 中已得到解决,可从 VMware Patch Downloads 获取该修补程序。

有关下载修补程序的详细信息,请参见 How to download patches in MyVMware (1021623)

重要事项
  • 如果您目前没有任何处于无效状态的组件,则仅升级修补程序就已足够。
  • 如果您的 vSAN 群集已经报告无效状态错误,则必须撤出并销毁包含已损坏组件的磁盘或磁盘组,以恢复这些组件占用的空间并清除警报。
大多数故障情形均已在 ESXi 6.0 修补程序 ESXi600-201611001 中得到解决。但是在极少数情况下,可能需要手动移除磁盘。如果需要,请参见 Additional Information 部分中详细描述的手动标识和销毁过程。另外,您也可以找到一个脚本,帮助您自动完成标识过程。

Additional Information

用于标识并销毁已损坏组件的手动过程:
  1. 确保您的 ESXi 内部版本运行的是最新的磁盘上版本。有关磁盘上格式版本的详细信息,请参见:

  2. 使用附加的脚本标识损坏组件所在的磁盘或磁盘组。

    注意:该脚本仅用于进行标识,不会发生任何数据修改。

    1. 将存档 2145347_IdentifyInvalidComponentsVsan.zip 解压到 ESXi 主机的临时目录。
    2. 运行 IdentifyInvalidComponentsVsan.sh 脚本。
    3. 将脚本输出复制到记事本,然后跳到步骤 4。

  3. 另外,如果无法使用该脚本,请使用以下步骤:

    1. 记下组件元数据运行状况检查错误中列出的组件 UUID。
    2. 连接到 RVC 并导航至 /localhost/<Your Datacenter>/computers folder
    3. 运行以下命令:

      vsan.cmmds_find 0 -u <component uuid>

      将出现类似于以下内容的输出:

      >vsan.cmmds_find 0 -u dc3ae056-0c5d-1568-8299-a0369f56ddc0

      ----+---------+-----------------------------------------------------------+
      | Health  | Content                                                   |
      +---------+-----------------------------------------------------------+
      | Healthy | {"diskUuid"=>"52e5ec68-00f5-04d6-a776-f28238309453",      |
      |         | "compositeUuid"=>"92559d56-1240-e692-08f3-a0369f56ddc0",
      |         | "capacityUsed"=>167772160,                                |
      |         | "physCapacityUsed"=>167772160,                            |
      |         | "dedupUniquenessMetric"=>0,                               |
      |         | "formatVersion"=>1}                                       |
      +---------+-----------------------------------------------------------
    4. 记下以上输出中的 diskUuid
    5. 运行以下命令:

      vsan.cmmds_find 0 -t DISK -u <disk uuid>

      将出现类似于以下内容的输出:

      >vsan.cmmds_find 0 -t DISK -u 52e5ec68-00f5-04d6-a776-f2823830945

      ---+---------+-------------------------------------------------------+
      | Health     | Content                                               |
      ---+---------+-------------------------------------------------------+
      | Healthy | {"capacity"=>145303273472,                               |
      |         | "iops"=>100,                                             |
      |         | "iopsWritePenalty"=>10000000,                            |
      |         | "throughput"=>200000000,                                 |
      |         | "throughputWritePenalty"=>0,                             |
      |         | "latency"=>3400000,                                      |
      |         | "latencyDeviation"=>0,                                   |
      |         | "reliabilityBase"=>10,                                   |
      |         | "reliabilityExponent"=>15,                               |
      |         | "mtbf"=>1600000,                                         |
      |         | "l2CacheCapacity"=>0,                                    |
      |         | "l1CacheCapacity"=>16777216,                             |
      |         | "isSsd"=>0,                                              |
      |         | "ssdUuid"=>"52bbb266-3a4e-f93a-9a2c-9a91c066a31e",       |
      |         | "volumeName"=>"NA",                                      |
      |         | "formatVersion"=>"3",                                    |
      |         | "devName"=>"naa.600508b1001c5c0b1ac1fac2ff96c2b2:2",     |
      |         | "ssdCapacity"=>0,                                        |
      |         | "rdtMuxGroup"=>80011761497760,                           |
      |         | "maxComponents"=>47661,                                  |
      |         | "logicalCapacity"=>0,                                    |
      |         | "physDiskCapacity"=>0,                                   |
      |         | "dedupScope"=>0}                                         |
      ---+---------+-------------------------------------------------------+
    6. 记下 naa id。此例中为 naa.600508b1001c5c0b1ac1fac2ff96c2b2,,它托管损坏的组件。
    7. 针对 Invalid state 的所有组件重复步骤 a 至 f,并标识每个受影响的磁

  4. 识别出拥有损坏组件的磁盘后,使用 vSphere Web Client 安全地销毁磁盘。
  1. 打开 vSphere Web Client。
  2. 导航到 vCenter Server >数据中心>群集>管理>Virtual SAN>磁盘管理
  3. 选择拥有损坏组件的磁盘。

    注意:如果在同一磁盘组中有多个磁盘包含损坏的组件,而 vSAN 群集中有足够的可用容量,那么销毁整个磁盘组是更简便的做法。

  4. 销毁磁盘或磁盘组。

    警告
    :请不要使用“不迁移数据”选项。

    VMware 建议使用“迁移全部数据”选项,以确保数据的完整性和可用性。如果 vSAN 群集中的可用容量不足以容纳完整迁移,请使用“确保可访问性”选项。

    有关详细信息,请参见 Administering VMware Virtual SAN guide 中“从Virtual SAN 中移除磁盘组或设备”部分中的说明。

    5. 将磁盘重新添加到 vSAN 配置中。有关详细信息,请参见 Administering VMware Virtual SAN guide 中的“将设备添加到磁盘组”部分。


有关使用 RVC 的信息,请参见:



 

Tags

组件元数据运行状况

See Also

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 1 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)




Please enter the Captcha code before clicking Submit.
  • 1 Ratings
Actions
KB: