VMware ESXi でのスナップショットの統合/コミット
search cancel

VMware ESXi でのスナップショットの統合/コミット

book

Article ID: 301545

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

仮想マシンのスナップショットを正しく統合するための適切な手順を検討する前に症状を特定する

仮想マシンに「仮想マシン ディスクの統合が必要です (Virtual Machine disks consolidation is needed)」というアラートが表示される最も一般的な原因。
  • バックアップの完了後にスナップショットを削除/統合するができない。
  • 統合を実行するのに十分な容量がデータストアにない。仮想マシンのディスクが、使用可能な容量が 1 GB 未満のデータストアに存在する。
  • サードパーティ製バックアップ アプリケーション(Veeam、Unitrends、Dataprotect)でスナップショット ファイルがロックされ、バックアップの完了後にスナップショットの削除に失敗するか、バックアップの開始に失敗する。 
  • vCenter Server と ESXi ホストの接続の問題。 
  • VMware が推奨するスナップショットの数を超える場合、統合に失敗することがある。(ベスト プラクティスとして、VMware ではスナップショットの最大数を 32 にすることを推奨します)。
  • 大規模なスナップショットの統合中に、仮想マシンに「応答しない/フリーズ」と表示されることがあるが、アラートは引き続き表示される。 

適切なシナリオを確認する

  1. スナップショットを統合しようとしたときに発生したエラー メッセージを検証します。
     
    Troubleshooting issues resulting from locked virtual disks (2107795) 
    "An error occurred while consolidating disks" when deleting one or more snapshots or consolidate disks (2150414)
    Snapshot removal task stops at 99% in ESXi (1007566)
    Determining if a virtual machine is using snapshots (1004343)
     
  2. スナップショットは手動で作成されたのか、それともバックアップ アプライアンスによって作成されたのか。 

    "Failed to lock the file or One or more disks are busy" deleting virtual machine snapshots (2017072)

VMware スナップショットの監視とベスト プラクティス



Environment

VMware vSphere ESXi 6.5
VMware vSphere ESXi 7.0.0
VMware vSphere ESXi 6.7

Resolution

概要
通常、スナップショット ファイルは、スナップショットが統合または削除されるまで仮想マシンによって使用されます。スナップショットが削除されると、スナップショット マネージャで識別されない階層内の追加ファイルがコミット プロセスに含まれます。
仮想マシンに統合が必要であると表示され、スナップショット マネージャの下にスナップショットがない場合、新しいスナップショットを作成して削除すると、階層全体がクリアされることがあります。これは、仮想マシンのすべてのスナップショット ファイルはコミットされてから削除されることを意味します。

新しいスナップショットの作成に必要な空き領域はわずかです。この KB チェックして、必要なスペースを検証します。仮想マシンを実行したままにする必要がある場合は、古いスナップショットがコミットされると新しいスナップショットが増える (仮想ディスクで新しい変更を受け入れる) ので、より多くの空き領域が必要です。 Web Client で仮想マシンの統合が必要かどうかを確認する
仮想マシンの統合が必要かどうかを確認するには
  1. vCenter Server ホストまたはクラスタを選択し、仮想マシン タブをクリックします。
  2. 仮想マシンのいずれかを右クリックし、[スナップショット マネージャ]/[スナップショットの管理] をクリックすると、「統合が必要/スナップショットを削除 (Needs Consolidation/Delete Snapshots)」と表示されます。
    :構成の問題に関する警告は、仮想マシンの [サマリ] タブにも表示され、仮想マシンのディスクを統合する必要があることを示します。
または、仮想マシンの設定を編集して、-00000X.vmdk フ ァイルを使用している仮想ディスクがあるかどうかを確認することもできます。-00000X.vmdk を使用するディスクがない場合、仮想マシンはこれらのファイルのいずれも使用していません。別の仮想マシンがこのディレクトリにスナップショットを格納している可能性もないわけではありません。他の仮想マシンをチェックします。このファイルを参照する仮想マシンがない場合は、安全に消去できます。

コマンド ラインを使用して仮想マシンがスナップショットで実行されているかを確認する

仮想マシン構成ファイル (.vmx) を開きます。仮想ディスクに関連する構成ファイル (.vmx) のエントリは、scsix:x で始まります。これは、DCUI または SSH を介して ESXi ホストに接続しているときに実行できます。次のコマンドは、仮想マシンの仮想ディスクの情報を表示します:

grep file /vmfs/volumes/datastoreName/VMname/VMname.vmx 

例:

grep vmdk "/vmfs/volumes/lun1/TestVM/TestVM.vmx" 
scsi0:0.fileName = "TestVM-000001.vmdk"

You can also use the vim-cmd commands which is mentioned under the
"Commit snapshots from the ESXi command line" section.


vSphere Web Client および HTML5 Client 6.x/7.x を使用してスナップショットをコミットする
vSphere Client を使用してすべてのスナップショットをコミットするには:
  1. スナップショットを作成します。詳細については、「vSphere Product Documentation」の「スナップショットの作成」セクションを参照してください。
  2. すべてのスナップショットを削除します。詳細については、「vSphere Product Documentation」の「すべてのスナップショットの削除」セクションを参照してください。
  3. スナップショットを統合します。[すべてのスナップショットの削除] が機能しない場合は、vSphere 6.x/7.x でスナップショットの統合を試みることができます。詳細については、「vSphere Product Documentation」の「スナップショットの統合」セクションを参照してください。
vSphere Client 6.0 を使用してスナップショットをコミットする
vSphere Client を使用してすべてのスナップショットをコミットするには:
  1. スナップショットを作成します。詳細については、「vSphere Product Documentation」の「スナップショットの作成」セクションを参照してください。
  2. すべてのスナップショットを削除します。詳細については、「vSphere Product Documentation」の「すべてのスナップショットの削除」セクションを参照してください。
スナップショットの作成すべてのスナップショットを削除 の方法を使用した統合に失敗した場合は再びこの方法を試行しますが、今回は ゲスト ファイル システムの静止 チェックボックスを選択して スナップショットの作成 時に静止スナップショットを有効にします。

ESXi コマンド ラインを使用してスナップショットをコミットする

ESXiのコマンド ラインからすべてのスナップショットをコミットするには:
  1. DCUI コンソールまたは SSH セッションで root として ESXi ホストにログインします。
  2. 次のコマンドを実行して、仮想マシンのリストと、各仮想マシンの仮想マシン ID (vmid) を取得します。

    vim-cmd vmsvc/getallvms

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

    Vmid Name File Guest OS Version Annotation
    1 vm1 [datastore1] vm1/vm1.vmx windows7Server64Guest vmx-08
    3 testvm [iscsi1] testvm/testvm.vmx winNetDatacenterGuest vmx-08


    特定の仮想マシンの Vmid  をメモします。
     
  3. スナップショットが存在するかどうかを確認するには、次のコマンドを実行してスナップショットの名前、スナップショットの作成日、スナップショットの状態をチェックします。

    vim-cmd vmsvc/snapshot.get [Vmid]

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

    Get Snapshot:
    |-ROOT
    --Snapshot Name : SnapshotTest
    --Snapshot Desciption :
    --Snapshot Created On : 11/27/2019 13:49:55
    --Snapshot State : powered on

     
  4. 次のコマンドを実行して、新しいスナップショットを作成します。

    vim-cmd vmsvc/snapshot.create [VmId] [snapshotName] [snapshotDescription] [includeMemory] [quiesced]

    たとえば、testvm という名前の仮想マシンにスナップショットを作成するには、次のコマンドを使用します:

    vim-cmd vmsvc/snapshot.create 3 SnapshotTest AsnapshotDescription 0 0

    • 任意の名前を使用できます。名前はスナップショット マネージャに表示されます。
    • メモリ スナップショットが残っている場合に、ファイル .vmsd がスナップショットの作成と削除を妨げることがあります。詳細については、「Understanding virtual machine snapshots in VMware ESXi and ESX (1015180)」を参照してください。
  5. 次のコマンドを実行して、すべてのスナップショットを削除します。

    vim-cmd vmsvc/snapshot.removeall [Vmid]

追加情報

  • スナップショットが大きい場合、スナップショットの削除プロセスが完了するまでに時間がかかることがあります。
  • スナップショットのコミットを監視する方法については、「Commands to monitor snapshot deletion in VMware ESX/ESXi (1007566)」を参照してください。
  • コミット処理では進捗は監視できません。ファイルの日付が更新され続ける限り、処理が続けられます。また、仮想マシンをオフにしても、file * コマンドを使用してファイルが使用中かどうかを確認できます。いずれかのファイルが「'filename' を読み取ることができません(can't read `filename' (Device or resource busy)」というエラー メッセージを返す場合、ファイルは VMkernel によってロックされています。ロックされたファイルでコミット処理がアクティブに実行されています。
  • コミットが正常に完了すると、スナップショット ツリーの一部でない限り -00000X.vmdk ファイルや -00000X-delta.vmdk ファイルは残されません。これらのファイルを削除することができます。コミットが成功したことを確認するには、.vmx ファイルを表示し、仮想ディスクがベース ディスク (-flat.vmdk) を参照していることを確認します。
  • .vmx にスナップショット ファイルを参照しているディスクが含まれている場合、コミット プロセスは失敗しました。仮想マシンを実行しながらこの処理を行った場合、メンテナンス用時間枠を計画し、パワーオフにした仮想マシンで再び実行してみます。それでも失敗する場合は、vmkfstools -i を使用して仮想ディスクのクローンを作成する必要があります。ソース ファイル名は、.vmx ファイルで識別される現在アクティブな -00000X.vmdk です。クローン作成が完了したら、仮想マシンを参照して新しくクローン作成したディスクを使用します。元のベース ディスクとスナップショット ツリーは削除できます。
  • コマンド ラインを使用する代わりに、vSphere Client、vSphere Web Client または HTML5 Client を使用して仮想マシンでクローン操作を実行できます。クローン作成された仮想マシンには、クローン作成時の関連スナップショット ディスクの内容が残っています。仮想マシンのクローン作成に成功したら、クローン仮想マシンの操作をテストし、以前の仮想マシンの使用を停止します。Web Client を使用した仮想マシンのクローン作成の詳細については、「Clone an Existing Virtual Machine」を参照してください。
  • この問題は、仮想マシン バックアップ ツールからの残ったスナップショットが統合されていない場合に発生することがあります。記事「Unable to delete the virtual machine snapshots」に従ってください。
:vSphere Client、vSphere Web Client、または HTML5 Client を使用してクローンを作成するには、vCenter Server と該当するすべてのライセンスが必要で、仮想マシンに接続されている個々の仮想ディスクを選択することはできません。vSphere クライアントを使用してスナップショットを統合し、すべてのディスクのクローンを作成すると、vmkfstools -i コマンドを使用して単一の仮想ディスクで同じ操作を実行する場合に比べてより多くのディスク領域が必要な場合があります。

関連トピック

Additional Information