ESXi ホストから LUN をアンマウントまたはデータストア デバイスを接続解除する方法
search cancel

ESXi ホストから LUN をアンマウントまたはデータストア デバイスを接続解除する方法

book

Article ID: 319806

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

この記事では、LUN を ESXi 5.x/6.x ホストからアンマウントする手順について説明します。手順には、ファイル システムのアンマウントと、データストア/ストレージ デバイスの接続解除が含まれます。これらの手順は各 ESXi ホストで実行する必要があります。

:vSphere Client を使用した記載の方法は、ホスト単位のデバイスの分離に限定されます。ストレージ デバイスを複数のホストから同時に切り離すには、この記事の「Resolution」セクションにある「PowerCLI および vSphere SDK for Perl を使用したデータストアの自動切り離し」を参照してください。

ESXi/ESX 4.x におけるデータストアのアンマウントについては、「Removing a LUN containing a datastore from VMware ESXi 4x and ESX 4.x (1029786)」を参照してください。

Symptoms:
免責事項:これは英文の記事「How to unmount a LUN or detach a datastore device from ESXi hosts (2004605)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Environment

VMware vSphere ESXi 6.0

Resolution

ESXi/ESX 4.x からの LUN の削除は複雑です。管理者による LUN の削除が容易になるように、ESXi 5.0.x 以降ではこの手順を効率化する改善が行われています。
 

LUN のアンマウント チェックリスト

LUN をアンマウントする前に、以下の点を確認してください。
  • LUN を VMFS データストアとして使用している場合は、VMFS データストアに保存されているオブジェクト(仮想マシン、スナップショット、テンプレートなど)をすべて登録解除するか、別のデータストアに移動する。

    :VMFS データストアに配置されている CD/DVD イメージもすべて仮想マシンから登録解除する必要があります。
     
  • vSphere HA のハートビートにデータストアは使用されていない。
  • データストアがデータストア クラスタの一部になっていない。

    データストア クラスタの詳細については、以下を参照してください。
  • データストアが Storage DRS によって管理されていない。

    Storage DRS の詳細については、以下を参照してください。
     
  • データストアが診断コアダンプ パーティションとして構成されていない。

    詳細については、「Configuring a diagnostic coredump partition on an ESXi 5.x host (2004299)」を参照してください。
     
  • Storage I/O Control がデータストアで無効にされていない。

    詳細については、『vSphere 5.1 Resource Management Guide』または『vSphere 5.0 Resource Management Guide』の「ストレージ I/O リソースの管理」セクションを参照してください。
     
  • ESXi ホストで実行中のサードパーティ製スクリプトまたはユーティリティは、問題のある LUN にアクセスできない。LUN をデータストアとして使用している場合は、データストアに保存されているすべてのオブジェクト(仮想マシンやテンプレートなど)を登録解除します。
  • LUN を RDM としている場合は、仮想マシンから RDM を削除する。[設定の編集] をクリックし、RDM ハード ディスクをハイライト表示して、[削除] をクリックします。まだ選択していない場合は [ディスクから削除] を選択して、[OK] をクリックします。

    :これによりマッピング ファイルが破棄されますが、LUN の内容は破棄されません。
     
  • LUN/データストアがホストで永続的スクラッチの場所と使用されているかを確認する。永続的スクラッチの詳細については、「 Creating a persistent scratch location for ESXi 4.x and 5.x (1033696)」を参照してください。

    この PowerCLI スクリプトは、現在のスクラッチの場所を確認するために使用できます。

    $vcServer = "vCenter01"
    $cluster = "CL01"
    $esxCred = Get-Credential
    Connect-VIServer $vcServer | Out-Null
    #Connect to ESX hosts in cluster
    foreach ($esx in Get-Cluster $cluster | Get-VMHost) {
    Connect-VIServer $esx -Credential $esxCred | Out-Null
    Get-VMHostAdvancedConfiguration -Name "ScratchConfig.ConfiguredScratchLocation"
    }
:vSphere Web Client を vSphere 5.x および 6.x と併用している場合、これらの確認のみがデータストアのアンマウント操作中に実行されます。
  • このデータストアに存在する仮想マシンがホストにない
  • ホストでデータストアを HA ハートビート用に使用していない

削除する LUN の NAA ID の取得

vSphere Client で、この情報はデータストアの [プロパティ] ウィンドウに表示されます。

ESXi 5.0 ホストから、次のコマンドを実行します。

# esxcli storage vmfs extent list

出力は次のようになります。

Volume Name VMFS UUID Extent Number Device Name Partition
----------- ----------------------------------- ------------- ------------------------------------ ---------
datastore1 4de4cb24-4cff750f-85f5-0019b9f1ecf6 0 naa.6001c230d8abfe000ff76c198ddbc13e 3
Storage2 4c5fbff6-f4069088-af4f-0019b9f1ecf4 0 naa.6001c230d8abfe000ff76c2e7384fc9a 1
Storage4 4c5fc023-ea0d4203-8517-0019b9f1ecf4 0 naa.6001c230d8abfe000ff76c51486715db 1
LUN01 4e414917-a8d75514-6bae-0019b9f1ecf4 0 naa.60a98000572d54724a34655733506751 1


データストアの NAA ID を書き留めて、この情報をこの手順の後の部分で使用できるようにしておきます。

:または、esxcli storage filesystem list コマンドを実行して、ESXi ホストで認識されるすべてのファイル システムをリストします。
 

vSphere Client を使用した LUN のアンマウント

vSphere Client を使用してストレージ デバイスを切り離すには、『vSphere 5.0 Storage Guide』の「ストレージ デバイスの分離」セクションを参照してください。

注意:次に説明する手順を完了する前に、記載の方法を使用してデータストアを適切にアンマウントする必要があります。詳細については、『vSphere 5.0 Storage Guide』の「VMFS または NFS データストアのアンマウント」セクションを参照してください。

vSphere Client を使用して、LUN を ESXi 5.0.x ホストからアンマウントするには、次の手順を実行します。
  1. LUN が RDM の場合は、手順 2 に進みます。そうでない場合は、ESXi ホストの [構成] タブで、[ストレージ] をクリックします。削除対象のデータストアを右クリックして、[アンマウント] をクリックします。

    [データストアのアンマウントの確認] ウィンドウが表示されます。前提条件の基準を満たしたら、[OK] をクリックします。

    :vSphere Client で複数のホストからデータストアをアンマウントするには、[ホストおよびクラスタ] > [データストアおよびデータストア クラスタ] ビュー (Ctrl+Shift+D) をクリックします。アンマウント タスクを実行して、アンマウントするデータストアへのアクセスを禁止する当該ホストを選択します。
     
  2. [デバイス] ビュー([構成] > [ストレージ])をクリックします。


     
  3. 上述の LUN の NAA ID を右クリックして、[分離] をクリックします。[デバイスのアンマウントの確認] ウィンドウが表示されます。前提条件の基準を満たしたら、[OK] をクリックします。[デバイスの動作状態] の下に、LUN が [アンマウント済み] として表示されます。

    :分離機能はホスト単位で実行する必要があり、vCenter Server の他のホストには伝達されません。LUN が SAN のイニシエータ グループまたはストレージ グループに提供されている場合、LUN を SAN のグループからマッピング解除する前に、そのイニシエータ グループの各ホストで分離機能を実行する必要があります。この手順を実行しない場合、マッピング解除する LUN に対して分離機能を実行しなかったストレージ グループのホストが、All-Paths-Down (APD) 状態になります。
     
  4. LUN が正常に切り離されたことを確認します。適切に分離された LUN は、SAN から正常に提供解除できます。詳細については、ストレージ アレイのベンダーにお問い合わせください。
  5. LUN に対して可視性のあるすべての ESXi ホストで再スキャンを実行します。デバイスはストレージ アダプタから自動的に削除されます。
デバイスが分離されると、再提供してもアンマウント済みの状態のままになります(つまり、分離済みの状態が持続します)。デバイスをオンラインに戻すには、デバイスを接続する必要があります。

デバイスを ESXi ホストから永続的にデコミッションする場合は、手動で NAA エントリをホスト構成から削除します。
  1. 永続的に切り離されたデバイスを一覧表示するには、次のコマンドを実行します。

    # esxcli storage core device detached list

    出力は次のようになります。

    Device UID State
    ------------------------------------ -----
    naa.50060160c46036df50060160c46036df off
    naa.6006016094602800c8e3e1c5d3c8e011 off

     
  2. デバイス構成情報を永続的に削除するには、次のコマンドを実行します。

    # esxcli storage core device detached remove -d NAA_ID

    例:

    # esxcli storage core device detached remove -d naa.50060160c46036df50060160c46036df

コマンド ラインを使用した LUN のアンマウント

LUN を ESXi 5.x/6.x ホストからコマンド ラインを使用してアンマウントするには:
  1. LUN が RDM の場合は、手順 4 に進みます。そうでない場合は、次のコマンドを実行して、ESXi ホストにマウントされている全データストアのリストを取得します。

    # esxcli storage filesystem list

    出力は次のようになり、全 VMFS データストアのリストが表示されます。

    Mount Point Volume Name UUID Mounted Type Size Free
    ------------------------------------------------- ----------- ----------------------------------- ------- ------ ----------- -----------
    /vmfs/volumes/4de4cb24-4cff750f-85f5-0019b9f1ecf6 datastore1 4de4cb24-4cff750f-85f5-0019b9f1ecf6 true VMFS-5 140660178944 94577360896
    /vmfs/volumes/4c5fbff6-f4069088-af4f-0019b9f1ecf4 Storage2 4c5fbff6-f4069088-af4f-0019b9f1ecf4 true VMFS-3 146028888064 7968129024
    /vmfs/volumes/4c5fc023-ea0d4203-8517-0019b9f1ecf4 Storage4 4c5fc023-ea0d4203-8517-0019b9f1ecf4 true VMFS-3 146028888064 121057050624
    /vmfs/volumes/4e414917-a8d75514-6bae-0019b9f1ecf4 LUN01 4e414917-a8d75514-6bae-0019b9f1ecf4 true VMFS-5 146028888064 4266131456

     
  2. 削除するデータストアが配置されている LUN の一意の識別子を見つけるには、次のコマンドを実行します。

    # esxcfg-scsidevs -m

    このコマンドにより、VMFS データストアとそれらに関連する一意の識別子のリストが生成されます。後で使用するため、アンマウントするデータストアの一意の識別子(NAA_ID)を書き留めておきます。

    esxcfg-scsidevs コマンドの詳細については、「Identifying disks when working with VMware ESX/ESXi (1014953)」を参照してください。
     
  3. 次のコマンドを実行して、データストアをアンマウントします。

    # esxcli storage filesystem unmount [-u UUID | -l label | -p path]

    たとえば、次のいずれかのコマンドを使用して、LUN01 データストアをアンマウントします。

    # esxcli storage filesystem unmount -l LUN01
    # esxcli storage filesystem unmount -u 4e414917-a8d75514-6bae-0019b9f1ecf4
    # esxcli storage filesystem unmount -p /vmfs/volumes/4e414917-a8d75514-6bae-0019b9f1ecf4


    :アンマウントしようとしている VMFS ファイルシステムにアクティブな I/O があるか、VMFS データストアをアンマウントするための前提条件を満たしていない場合は、次のようなエラーが VMkernel logs に記録されます。

    WARNING: VC: 637: unmounting opened volume ('4e414917-a8d75514-6bae-0019b9f1ecf4' 'LUN01') is not allowed.
    VC: 802: Unmount VMFS volume f530 28 2 4e414917a8d7551419006bae f4ecf19b 4 1 0 0 0 0 0 : ビジー

     
  4. データストアがアンマウントされたことを確認するには、次のコマンドを実行します。

    # esxcli storage filesystem list

    出力は次のようになります。

    Mount Point Volume Name UUID Mounted Type Size Free
    ------------------------------------------------- ----------- ----------------------------------- ------- ------ ----------- -----------
    /vmfs/volumes/4de4cb24-4cff750f-85f5-0019b9f1ecf6 datastore1 4de4cb24-4cff750f-85f5-0019b9f1ecf6 true VMFS-5 140660178944 94577360896
    /vmfs/volumes/4c5fbff6-f4069088-af4f-0019b9f1ecf4 Storage2 4c5fbff6-f4069088-af4f-0019b9f1ecf4 true VMFS-3 146028888064 7968129024
    /vmfs/volumes/4c5fc023-ea0d4203-8517-0019b9f1ecf4 Storage4 4c5fc023-ea0d4203-8517-0019b9f1ecf4 true VMFS-3 146028888064 121057050624
    LUN01 4e414917-a8d75514-6bae-0019b9f1ecf4 false VMFS-unknown version 0 0


    [Mounted] フィールドは [false] に設定され、[Type] フィールドは [VMFS-unknown version] に設定され、Mount Point は存在しません。

    :VMFS データストアのアンマウント状態は、再起動後も持続します。これはデフォルトの動作です。データストアを一時的にアンマウントする必要がある場合は、--no-persist フラグを unmount コマンドに追加します。
     
  5. デバイス/LUN を切り離すには、次のコマンドを実行します。

    # esxcli storage core device set --state=off -d NAA_ID
     
  6. デバイスがオフラインであることを確認するには、次のコマンドを実行します。

    # esxcli storage core device list -d NAA_ID

    ディスクの Statusoff であることを示す、次のような出力が表示されます。

    naa.60a98000572d54724a34655733506751
    Display Name: NETAPP Fibre Channel Disk (naa.60a98000572d54724a34655733506751)
    Has Settable Display Name: true
    Size: 1048593
    Device Type: Direct-Access
    Multipath Plugin: NMP
    Devfs Path: /vmfs/devices/disks/naa.60a98000572d54724a34655733506751
    Vendor: NETAPP
    Model: LUN
    Revision: 7330
    SCSI Level: 4
    Is Pseudo: false
    Status: off
    Is RDM Capable: true
    Is Local: false
    Is Removable: false
    Is SSD: false
    Is Offline: false
    Is Perennially Reserved: false
    Thin Provisioning Status: yes
    Attached Filters:
    VAAI Status: unknown
    Other UIDs: vml.020000000060a98000572d54724a346557335067514c554e202020


    デバイス上で partedUtil getptbl コマンドを実行すると、デバイスが見つからないと表示されます。

    例:

    # partedUtil getptbl /vmfs/devices/disks/naa.60a98000572d54724a34655733506751

    Error: Could not stat device /vmfs/devices/disks/naa.60a98000572d54724a34655733506751 - No such file or directory.
    Unable to get device /vmfs/devices/disks/naa.60a98000572d54724a34655733506751

     
  7. デバイスを永続的にデコミッションする場合は、SAN から LUN を表示させないようにすることができるようになりました。詳細については、ストレージ チーム、ストレージ管理者、またはストレージ アレイのベンダーにお問い合わせください。
  8. ESXi ホスト上の全デバイスを再スキャンするには、次のコマンドを実行します。

    # esxcli storage core adapter rescan [ -A vmhba# | --all ]

    デバイスはストレージ アダプタから自動的に削除されます。

    • 削除された LUN に対して可視性のあるすべてのホストで再スキャンを実行する必要があります。
    • デバイスが分離されると、再提供してもアンマウント済みの状態のままになります(つまり、分離済みの状態が持続します)。デバイスをオンラインに戻すには、デバイスを接続する必要があります。これをコマンド ラインから実行するには、次のコマンドを実行します。

      # esxcli storage core device set --state=on -d NAA_ID
  9. デバイスを永続的に ESXi ホストからデコミッションするには(つまり、LUN が廃棄されているか、その予定である場合は)、次のコマンドを実行して、NAA エントリをホスト構成から削除します。
     
    1. 永続的に切り離されたデバイスを一覧表示するには、次のコマンドを実行します。

      # esxcli storage core device detached list

      出力は次のようになります。

      Device UID State
      ---------------------------- -----
      naa.50060160c46036df50060160c46036df off
      naa.6006016094602800c8e3e1c5d3c8e011 off

       
    2. デバイス構成情報をシステムから永続的に削除するには、次のコマンドを実行します。

      # esxcli storage core device detached remove -d NAA_ID

      例:

      # esxcli storage core device detached remove -d naa.50060160c46036df50060160c46036df

    デバイス構成への参照は、ESXi ホストの構成から永続的に削除されます。

    :デバイスが切り離されていても存在している場合(手順 7 をスキップした場合)は、前述のコマンドでデバイスをシステムから永続的に削除することに失敗しており、デバイスが自動的に再接続されています。手順 7 を実行して、デバイスを永続的に削除する必要があります。

PowerCLI および vSphere SDK for Perl を使用したデータストアの自動切り離し

PowerCLI スクリプトを使用してデータストアを複数のホストから切り離すプロセスを自動化することができます。

PowerCLI を使用する場合

PowerCLI を使用してストレージ デバイスを切り離すには、次の手順を実行します。
  1. VMware Contributed Sample Code disclaimer」を確認します。
  2. Automating Datastore/Storage Device Detachment in vSphere 5」で入手可能な PowerCLI をダウンロードします。

    :この PowerCLI スクリプトは「現状のまま」提供され、コミュニティによってサポートされています。この PowerCLI スクリプトで問題が生じた場合は、VMware Communities フォーラムにサポートを依頼してください。
     
  3. 次のコマンドを使用して、スクリプトをインポートします。

    Import-Module path_to_script
     
  4. ターゲット データストアがアンマウント済みであることを確認します。詳細については、『vSphere 5.0 Storage Guide』の「VMFS または NFS データストアのアンマウント」セクションを参照してください。
  5. 次のコマンドを実行して、データストアとそれらに接続されているホストをすべて一覧表示します。

    Get-Datastore | Get-DatastoreMountInfo | Sort Datastore, VMHost | FT –AutoSize

    出力は次のようになります。

    Datastore VMHost Lun Mounted State
    --------- ------ --- ------- -----
    IX2ISCSI01 esx01.vmw.local naa.5000144f52145699 False Attached
    IX2ISCSI01 esx02.vmw.local naa.5000144f52145699 False Attached
    IX2ISCSI01 esx03.vmw.local naa.5000144f52145699 False Attached
    LocalDatastore esx01.vmw.local mpx.vmhba1:C0:T0:L0 True Attached
    LocalDatastore esx02.vmw.local mpx.vmhba1:C0:T0:L0 True Attached
    esx04-Internal-150GB esx04.vmw.local t10.ATA_____GB0160EAPRR_____________________________WCAT25563003________ True Attached
    esx04-Internal-500GB esx04.vmw.local t10.ATA_____WDC_WD5000AAKS2D00V1A0________________________WD2DWMAWF0069467 True Attached
    esx03-Internal-150GB esx03.vmw.local t10.ATA_____GB0160EAPRR_____________________________WCAT25704089________ True Attached
    esx03-Internal-500GB esx03.vmw.local t10.ATA_____WDC_WD5000AAKS2D00YGA0________________________WD2DWCAS85034601 True Attached

     
  6. 該当するデータストアを選択して、Datastore 列の下にある名前を記録し、Mounted 列のすべてのホストの値が False になっていることを確認します。
  7. 次のコマンドを実行して、デバイスを全ホストから切り離します。

    Get-Datastore datastore_name| Detach-Datastore

    ここで、datastore_name は、手順 3 で記録したデータストアの名前です。

    出力は次のようになります。

    Detaching LUN naa.5000144f52145699 from host esx01.vmw.local...
    Detaching LUN naa.5000144f52145699 from host esx02.vmw.local...
    Detaching LUN naa.5000144f52145699 from host esx03.vmw.local...
:powercli コマンド Get-Datastore datastore_name| Detach-Datastore は、複数のエクステントで構成されるデータストアの先頭のエクステント(最初のエクステント)のみを切り離しています。この手順は、マルチエクステントを持つデータストアでは機能しません。

vSphere SDK for Perl を使用する場合

Perl を使用してストレージ デバイスを切り離すには、次の手順を実行します。
  1. VMware Contributed Sample Code disclaimer」を確認します。
  2. VMware vSphere Blog の「Automating Datastore/Storage Device Detachment in vSphere 5」で入手可能な、コミュニティでサポートされている Perl スクリプトをデプロイします。

    注意:処理を進める前に、ターゲット データストアをすでにアンマウントしていることを確認します。詳細については、『』の「VMFS または NFS データストアのアンマウント」セクションを参照してください。
     
  3. 次のコマンドを実行して、データストアとそれらに接続されているホストをすべて一覧表示します。

    ./lunManagement.pl --server vcenter_ip --username user --operation list

    ここで、、vcenter_ip は、ホストを管理する vCenter Server の IP アドレスで、user は管理権限を持つユーザーです。
     
  4. 手順 3 で使用したユーザー アカウントのパスワードを求められます。正しいパスワードを入力すると、スクリプトによって次のような出力が生成されます。

    Datastore: esx01-local-storage-1 LUN: mpx.vmhba1:C0:T0:L0
    esx01.vmw.local MOUNTED ATTACHED
    Datastore: esx02-local-storage-1 LUN: mpx.vmhba1:C0:T0:L0
    esx02.vmw.local MOUNTED ATTACHED
    Datastore: iSCSI-1 LUN: naa.600144f0a33bc20000004e9772510001
    esx01.vmw.local UNMOUNTED ATTACHED
    esx02.vmw.local UNMOUNTED ATTACHED
    Datastore: iSCSI-2 LUN: naa.600144f0a33bc20000004e9772ee0002
    esx01.vmw.local MOUNTED ATTACHED
    esx02.vmw.local MOUNTED ATTACHED
    Datastore: iSCSI-3 LUN: naa.600144f0a33bc20000004e9773560003
    esx01.vmw.local MOUNTED ATTACHED
    esx02.vmw.local MOUNTED ATTACHED
    Datastore: iSCSI-4 LUN: naa.600144f0a33bc20000004e9773560004
    esx01.vmw.local MOUNTED ATTACHED
    esx02.vmw.local MOUNTED ATTACHED
    Datastore: iSCSI-5 LUN: naa.600144f0a33bc20000004e9773570005
    esx01.vmw.local MOUNTED ATTACHED
    esx02.vmw.local MOUNTED ATTACHED

     
  5. 分離対象のデータストアがアンマウント済みであることを確認します。それには、該当するデータストア名と NAA 値の下にある UNMOUNTED キーワードを確認します。
  6. 次のコマンドを実行して、デバイスを複数のホストから切り離します。

    ./lunManagement.pl --server vcenter_ip --username user --operation detach --datastore datastore

    ここで、vcenter_ip は vCenter Server の IP アドレスで、user は管理権限を持つユーザーで、datastore は手順 4 で特定したデータストアです。
     
  7. パスワードの入力を求め、操作を実行するかどうかを尋ねるメッセージが表示されます。正しいパスワードを入力し、警告を確認すると、ツールによって次のような出力が生成されます。

    Detaching LUN "0200000000600144f0a33bc20000004e9772510001434f4d535441" from Host "esx01.vmw.local" ...
    Successfully detached LUN!
    Detaching LUN "0200000000600144f0a33bc20000004e9772510001434f4d535441" from Host "esx02.vmw.local" ...
    Successfully detached LUN!

     
:LUN は、切り離すと、ストレージに表示されなくなる可能性があります。ただし、LUN をストレージから提供解除する前に esxcli storage core device detached remove -d NAA_ID コマンドを実行して永続的に LUN を ESXi ホストからデコミッションすると、LUN はホストに再接続され、もう一度切り離す必要があります。
TSE のメモ:これを実行する間も、vCenter のストレージ接続に関するアラームが発生します。これらのタスクを実行するときは、アラームを無効にすることをお勧めします。

Additional Information

データストアを提供解除する代わりに削除するには、以下を参照してください。
詳細については、「Best Practice: How to correctly remove a LUN from an ESX host」を参照してください。
 
削除しようとしている LUN は永久予約されているため、ホストの起動遅延発生を防ぐためにフラグが付いています。永久予約フラグは、LUN の正常なアンマウントを阻害することがあります。
 
永久予約フラグを削除するには、次のコマンドを実行してフラグを削除します。
 
# esxcli storage core device setconfig -d $device --perennially-reserved=false
 
それから、次のコマンドを実行して、もう一度デバイスを削除してみます。
 
# esxcli storage core device detached remove -d $device
 
:必要のない場合にフラグを false に設定しても、特に悪い影響はありません。

How to unmount a LUN or detach a datastore device from ESXi hosts