VMwareのエラーを修正:仮想マシンのディスクの統合が必要です
"VMware仮想マシンのディスク統合が必要です"というエラーは、通常、スナップショットがメインの仮想ディスクと正しく統合できなかった場合に表示されます。この問題は、バックアップが不完全だった場合、スナップショットの削除がキャンセルされた場合、またはストレージ容量が不足している場合に発生することがよくあります。この問題を放置すると、仮想マシンの動作が遅くなったり、データが破損するリスクさえ生じたりする可能性があります。このブログ記事では、仮想マシンの統合が必要というステータスが表示される原因と、それを安全に解決する方法について解説します。
VMwareのディスク統合とは何ですか?
仮想ディスクの統合とは、スナップショットを取得した後に作成された仮想ディスクファイルを結合するプロセスです VMスナップショット. パフォーマンスの低下やその他の問題を回避するために、必要に応じてディスクの統合を実行できます。スナップショットを作成すると、デルタディスクが作成され、変更内容は適切なデルタディスクに書き込まれます(仮想マシンを復元するために以前のスナップショットのいずれかが選択されるまでは、デフォルトで最新のデルタディスクに書き込まれます)。その結果、各デルタディスクには前のデルタディスクの状態からのすべての変更が含まれ、親ディスクは変更されないため、仮想マシンのストレージには冗長なデータが存在することになります。
スナップショットの連鎖や関連する仮想ディスクファイルが大きくなると、パフォーマンスが低下します。VMwareのディスク統合を実行すると、デルタディスクのデータが1つのディスクに統合され、このVMのファイルが格納されているデータストアには冗長なデータが残りません。仮想マシンのディスクファイルを統合すると、ストレージ領域が整理されます。なお、VMwareでは、1台のVMにつき32個以下のスナップショットを使用することを推奨しています。
VMwareのディスク統合エラーが発生する原因として考えられるもの
その VMware仮想マシンのディスク統合が必要です 仮想マシンにエラーメッセージが表示されます 概要 タブの VMware vSphere Client (下のスクリーンショットを参照)。このエラーメッセージが表示される一般的な原因の一つは、VMのスナップショットを誤って削除したことです。これにより、スナップショットに関連するVMDKファイルやログファイルがデータストアに残ってしまうことがあります(例えば、 Delete All または Delete (VMスナップショットの操作)。

その最も一般的な原因は 仮想マシンの統合が必要 ステータス:
- VMFSデータストアのディスク容量が不足しているため、VMスナップショットの統合および仮想ディスクファイルの統合ができません。データストアの空き容量が1 GB未満の場合、このエラーが発生する可能性があります。
- 仮想マシンが実行されているESXiホストに接続されたストレージシステムのパフォーマンスが低い。スナップショットのサイズが大きい場合やタイムアウトが発生した場合、スナップショットの統合に失敗する可能性があります。
- ESXiホストとvCenter間の接続に問題が発生しています。
- スナップショットファイルがサードパーティ製アプリケーション(バックアップアプリケーションなど)によってロックされています。これは、バックアップアプリケーションがバックアップジョブを完了せずにスナップショットをロックした場合に発生する可能性があります(バックアップアプリケーションは、バックアップの実行中に仮想マシンの一時的なスナップショットを作成することがあります)。バックアップアプリケーションは、スナップショット技術を使用して稼働中の仮想マシンの一貫性のあるバックアップを作成しない限り、ディスクをクワイエット状態にすることはできません。
基本的には、VMディスクファイルの一貫性を復元する必要があります。
VMwareのディスク統合エラーを修正するには?
この問題を解決するには、 仮想マシンの統合が必要 ステータスを確認するには、VMware vSphere Client で VM 名の上で右クリックし、表示されるメニューから [ Snapshots > Consolidate.

確認メッセージが表示されます:
この操作により、仮想マシン上のすべての冗長なリドゥログが統合されます。本当に続行しますか?
クリック Yes 仮想マシンのディスクファイルを確認し、統合します。
Note: VMwareのディスク統合中にデータが失われる可能性がある場合は、 VMware 仮想マシンのバックアップ すべてのVMファイルをデータストア上の別のフォルダにコピーし、その後VMwareのディスク統合を実行します。
VMwareのディスク統合が完了し、ログが消去されるまでお待ちください。VMware vSphere Clientインターフェースの下部にあるタスクパネルで、タスクの進行状況を確認できます。VMが実行中の場合、この操作中にVMのパフォーマンスが低下する可能性があります。この操作が完了するまでの所要時間は、VMのサイズ、スナップショットの数、およびVMの負荷によって異なります。
VMwareのディスク統合タスクが完了すると、警告は消えるはずです。
発生する可能性のあるその他のエラー
VMwareのディスク統合中に、別のエラーが発生することがあり、次のようなエラーメッセージが表示される場合があります:
ファイルがロックされているため、アクセスできません。ディスクの統合中にエラーが発生しました:ファイルのロックに失敗しました。ディスクノード"scsi0:0"の統合に失敗しました.
また、バックアップアプリケーションがスナップショットを利用するバックアップにおいて"ホットアドディスク"オプションを使用する場合にも、ロックが生成されることがあります。VMファイルのロックは、複数のESXiホストによるファイルへの同時書き込みを防ぐことを目的としています。
このエラーを修正するには、以下の手順を試してみてください:
- 仮想マシンが存在するESXiサーバー上で、管理エージェントを再起動します。開く ESXiシェル または、SSH経由でESXiホストに接続し、root権限で次のコマンドを実行します:
services.sh restartまたは
/etc/init.d/hostd restart/etc/init.d/vpxa restartまた、ESXiのダイレクトコンソールを開き、次の場所へ移動することもできます
Troubleshooting Optionsそして選択してくださいRestart Management Agents(クリックEnter必要なオプションを有効にしてから、F11(確認のため)。 - 次のコマンドでロックされているファイルを確認してください:
vmfsfilelockinfo -p /vmfs/volumes/vm_datastore/vm_name/vm_name.vmx - VMファイルがデータストア内のどのパスにあるかを確認する必要がある場合は、hostdのログファイルを確認してください。
cat /var/log/hostd.log |grep -i vm_name - VMファイルの保存場所がわかっている場合は、データストア上のVMディレクトリに移動してください:
cd /vmfs/volumes/datastore_name/vm_name - VMファイルをロックしているESXiホストを一覧表示するコマンドを実行します:
for i in `ls`; do vmfsfilelockinfo -p $i ;done|grep 'is locked in|Host owning the lock|Total time taken' | sed 's|Host owning the lock on file is||g'|sed 's|Total time|---|g' | awk '{print $1}' |uniq - 以下のESXi管理エージェントを再起動します。
hostdそしてvpxa前述の通り、またはVMファイルをロックしているESXiホストで以下のコマンドを実行してください:/etc/init.d/hostd restart/etc/init.d/vpxa restart
VMファイルのロックを解除する別の方法
別の方法として、以下の手順を試してみてください ディスクの統合中にエラーが発生しました:ファイルのロックに失敗しました。
- 仮想マシンをシャットダウンしてください。
- 新しいVMディスクのスナップショットを作成します。
- 既存のVMスナップショットをすべて削除します。vSphere ClientでVM名を右クリックし、[
SnapshotsをクリックしてDelete All Snapshots.
- VMをクローンするか、別のESXiホストへ移行するには、 vMotion エラーがまだ修正されていない場合は。
- 前述の手順に従って、もう一度スナップショットを統合してみてください。
これらの操作でも解決しない場合は、VMをシャットダウンし、 VM settings、を選択して VM options タブをクリックし、次に Advanced セクションをクリックして Edit Configuration. その 設定パラメータ ウィンドウで、クリック Add Configuration Params. を追加します asyncConsolidate.forceSync パラメータを設定し、このパラメータを TRUE.
時には 仮想マシンの統合が必要 この状態は、一貫性の欠如によって引き起こされる可能性があります -ctk.vmdk 〜のために作成されたファイル 変更されたブロック追跡 (おそらくVMバックアップソフトウェアによるものと思われます)。CTKファイルはスナップショットの統合には不要ですので、削除してみてください。CTKファイルを削除する前に、VMファイルのバックアップを忘れずに取ってください。その後、仮想マシンのディスクファイルの統合を再度試みてください。

"統合"オプションは使用不可です
VMwareが スナップショットの統合 オプションがグレー表示(無効)になっている場合、VM上でアクティブなタスクが実行されている可能性があります。もし 無効なスナップショット設定が検出されました エラーが発生した場合、一部のスナップショットが破損しているか、スナップショットのチェーンが分岐している可能性があります。その場合は、以下の手順を試してください:
- SSH経由でESXiサーバーに接続し、データストア上のVMファイルが格納されているディレクトリに移動します。
cd vmfs/volumes/DatastoreName/VMFolderNameVMware vSphere Client で VM ファイルの保存場所を確認し、VM の設定を表示することで、仮想ディスクの保存場所を確認できます。
- どのディスクスナップショットが参照されているかを確認します:
cat VM-name.vmx | grep scsi*出力内容を確認して、仮想ディスクファイル(仮想ディスクのスナップショットファイルを含む)を確認してください。たとえば、仮想ディスクファイルの名前は次の行に表示されます。これはスナップショットではありません:
scsi 0:0.fileName = “VM-Name.vmdk”
出力行には、仮想ディスクのスナップショットファイル名が表示され、そのスナップショットが指定されています:
scsi 0:0.fileName = “VM-Name-000002.vmdk”
この例のVM構成では、SCSI仮想ディスクコントローラが使用されています。
- 次のコマンドは、各スナップショットが何を指しているかを確認します。このコマンドを使用すると、スナップショットチェーン内のどのスナップショットが、以下のディスクファイル(スナップショットの vmdk ファイルまたはベースディスクの vmdk ファイル)を指しているかを特定できます。
cat VM-Name-000002.vmdk | grep parentFileNameHint他のVMDKファイル(例えば VM-Name-000001.vmdk (この例では)必要なベースディスクが見つかるまで操作を繰り返します。この方法により、不整合箇所を特定することができます。
- もし不整合を見つけた場合は、例えば、 VM-Name-000002.vmdk は~を指しています VM-Name-000001.vmdk, これはさらに VM-Name.vmdk を指しているため、次のコマンドを実行します
vmkfstoolsディスクスナップショットチェーンの最上位にあるポイント(VM-Name-000002.vmdk (この場合):vmkfstools -q -v10 VM-Name-000002.vmdkこのコマンドは、チェーン内のすべてのVMDKファイルを開いて閉じようとし、失敗した箇所を通知します。
PowerCLIの使用
VMware vSphere Client のグラフィカルユーザーインターフェースで VMware ディスクの統合を実行する代わりに、vSphere を使用することもできます PowerCLI コマンドラインインターフェースを使用して。
- ESXiホストを管理しているvCenter Serverに接続し、そのホスト上に 仮想マシンの統合が必要 ステータス。プロンプトが表示されたら、認証情報を入力してください。
Connect-VIServer vcenter01.test.com - 以下の条件に合致するVMのリストを取得する 仮想マシンの統合が必要 ステータス:
Get-VM | Where-Object {$ _. Extensiondata.Runtime.ConsolidationNeeded} - VMwareのディスク統合を実行します。
Get-VM | Where-Object {$ . Extensiondata.Runtime.ConsolidationNeeded} | foreach {$ . ExtensionData.ConsolidateVMDisks_Task ()}
その他の推奨事項
VMware vSphere 7.0 では、ホストを再起動した際に CBT サービスの起動に失敗する問題が発生する場合があります。その場合、毎回手動でサービスを開始する必要があるかもしれません。ただし、この問題は vSphere 7 U3 で修正されました。vSphere 7.0 をご利用の場合は、以下の回避策をお試しください:
- CBTモジュールが有効になっているか確認してください:
esxcli system module list --enabled=true | grep cbt - ESXiホストにCBTモジュールが読み込まれているか確認してください:
esxcli system module list --loaded=true | grep cbt - CBTモジュールを手動で読み込む:
vmkload_mod cbt
バックアップアプリケーションがVMファイルにロックをかけている場合は、 vpx ESXiホスト上のプロセスを終了させて、ロックを解除してください。また、VMバックアップアプリケーションから仮想ディスクを切り離すことも試してみてください。
VMの移行を行う代わりに、VMをシャットダウンしてESXiホストを再起動することもできます。その後、ホストをメンテナンスモードから解除してロックを解除し、問題を解決してください。
結論
その 仮想マシンの統合が必要 この状態は、VMware環境においてよく発生する問題ですが、適切に対処可能です。エラーの原因を把握し、適切なスナップショットおよびバックアップの手法を実践することで、健全かつ効率的な仮想インフラストラクチャを維持できます。再発を防ぐため、スナップショットの削除後は必ず確認を行い、利用可能なストレージ容量を監視してください。定期的なメンテナンスと事前の監視を行うことで、VMの安定したパフォーマンスと信頼性の高いデータ保護を確保できます。