ストレージ LUN を ESXi から分離すると、"リソース 「<<vml_id>>」は使用中です。" というエラーで失敗する。
search cancel

ストレージ LUN を ESXi から分離すると、"リソース 「<<vml_id>>」は使用中です。" というエラーで失敗する。

book

Article ID: 426985

calendar_today

Updated On:

Products

VMware vSphere ESXi VMware vCenter Server

Issue/Introduction

免責事項: これは英文の記事 「Detaching a storage LUN from a ESXi host failed with "The resource '<<vml_id>>' is in use」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • ストレージ LUN を ESXi から分離すると、"リソース 「<<vml_id>>」は使用中です。" というエラーで失敗する。
  • ESXi からストレージデバイスを見えなくする、使わなくさせるようにするには、管理者はそのデバイスを、見えている ESXi すべてから分離する必要がありますが、その一部のホストでこのエラーで操作が失敗します。
  • vpxd.log で、以下のエラーが見られる。
    YYYY-MM-DDTHH:MM:SS.mmmZ info vpxd[12340] [Originator@6876 sub=Default opID=<<opid>>] [VpxLRO] -- ERROR task-20303 -- storageSystem-30 -- vim.host.StorageSystem.detachScsiLun: vim.fault.ResourceInUse:
    --> Result:
    --> (vim.fault.ResourceInUse) {
    -->    faultCause = (vmodl.MethodFault) null,
    -->    faultMessage = <unset>,
    -->    type = "Can't Detach RDM LUN",
    -->    name = "<<vml_id>>"
    -->    msg = "Received SOAP response fault from [<SSL(), /vpxa>]: detachScsiLun
    --> Received SOAP response fault from [ /sdk>]: detachScsiLun
    --> The resource '<<vml_id>>' is in use."
    --> }
    --> Args:
    -->
    --> Arg lunUuid:
    --> "<<vml_id>>"
  • hostd.log で、以下のエラーが見られる。

    YYYY-MM-DDTHH:MM:SS.mmmZ info hostd[2102689] [Originator@6876 sub=Vimsvc.TaskManager opID=<<opid>> user=<<user_name>>] Task Completed : haTask-ha-host-vim.host.StorageSystem.detachScsiLun-86249828 Status error

    YYYY-MM-DDTHH:MM:SS.mmmZ info hostd[2102689] [Originator@6876 sub=Solo.Vmomi opID=<<opid>> user=<<user_name>>] Throw vim.fault.ResourceInUse
    YYYY-MM-DDTHH:MM:SS.mmmZ info hostd[2102689] [Originator@6876 sub=Solo.Vmomi opID=<<opid>> user=<<user_name>>] Result:
    --> (vim.fault.ResourceInUse) {
    -->    type = "Can't Detach RDM LUN",
    -->    name = "<<vml_id>>",
    -->    msg = "",
    --> }

Environment

VMware vSphere ESXi

VMware vSphere vCenter server

Cause

いくつかの仮想マシンで、まだ該当デバイス(LUN)を RDM として接続していると、分離する際に hostd (RDMManager) がそのデバイスが登録されているか(仮想マシンがそのデバイスを接続しているか)のチェックを行ない、もし登録されているならエラーを報告します。

Resolution

  • そのデバイスを RDM としてまだ接続している仮想マシンを見つけ、そのデバイスを削除し、分離を再度試してください。
  • 'vml' で識別されるそのデバイスを RDM として接続している仮想マシンを見つけるには?

    以下の PowerCLI コマンドは、もしその仮想マシンが 'vml' で指定されたデバイスを接続してれば、名前、ディスク番号を表示します。

    PS> Get-VM | Get-HardDisk -Disktype "RawPhysical","RawVirtual" | Where-Object {$_.DeviceName -eq "vml.<<vml_id>>"} | Format-Table -Property  Parent,DeviceName,Name -Autosize

    Parent        DeviceName       Name
    ------        ----------       ----
    <<VM_Name>>  vml.<<vml_id>>    Hard disk 3