VMFS データストア上に作成される vmware.log ファイルが多すぎて、仮想マシンのパワーオンが遅延または失敗する
search cancel

VMFS データストア上に作成される vmware.log ファイルが多すぎて、仮想マシンのパワーオンが遅延または失敗する

book

Article ID: 342640

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

免責事項: これは英文の記事 「Too many vmware.log files created on VMFS datastores results in delays or failure to power on virtual machines (1006434)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


  • VMFS ボリューム上のファイルが多すぎることが原因で、ディレクトリ コンテンツの列挙または読み取りの速度が低下したり、vmware-hostd などの ESX コンポーネントでサービスが失敗することがある。
  • VMFS データストア上のファイルが多すぎる場合、バックアップ製品が仮想マシンのバックアップを実行できない。
  • 膨大な数(数百から数千)の vmware.log ファイルが特定の仮想マシンのディレクトリにある。
  • ホストの再起動後、仮想マシンをパワーオンしようとすると次のエラーが発生する。

    Unable to power up vm guests.Error: cannot find swap file.

  • 既存のディスクに新しい仮想マシンを関連付けようとすると、新しい仮想マシンを作成できないため、失敗する。
  • 影響を受けている VMFS データストアでのファイルの作成が失敗する。一部のファイルを削除しようとすると失敗することがある。
  • パワーオンしていない仮想マシンに関する次のエラーが、頻繁に /var/log/vmkwarning ログに記録される。

    WARNING: Swap: vm 13001: 1480: Failed to create swap file '/volumes/DatastoreName/VMfolder/VMname-6bc43c2b.vswp': Out of resources

  • VMware vCenter または VirtualCenter で、仮想マシンの タスクおよびイベント タブの イベント を選択後、多数の現在の Failover failed for this virtual machine メッセージが表示される。
  • 仮想マシンはパワーオフされていると表示されるが、仮想マシン ネットワーク上では実行されており、アクセス可能である。


Environment

VMware ESXi 3.5.x Installable
VMware ESXi 3.5.x Embedded
VMware ESX Server 3.0.x
VMware ESX Server 3.5.x

Resolution

VMware High Availability に関する問題により、1 つ以上の仮想マシンで繰り返しパワーオンが試行され、長期間にわたって新しい vmware.log ファイルが生成されています。この問題を解決するには、無関係な vmware.log ファイルを削除します。

注意:この記事には、データストアからファイルを完全に削除するために必要な手順が記載されています。この手順は特に慎重に行ってください。
  1. クラスタで VMware HA を無効化して再度有効化し、VMware HA の問題が今後発生しないようにします。 これは、VirtualCenter の影響を受けている仮想マシンの イベント タブにフェイルオーバー エラーが表示されないようになることで確認できます。

  2. サービス コンソールで、余分な vmware-x.logs を含む仮想マシンのフォルダにディレクトリを変更します。

    :ファイル アクセスが遅れるため、すべてのデータストアでログ ファイルを検索するコマンドを実行すると、too many files (ファイルが多すぎる)か、fails (失敗)が返されます。影響を受けている仮想マシンを 1 つずつ処理してください。

    フォルダ内の vmware-x.log ファイルの数を取得するには、次のコマンドを実行します。

    # ls *.log | wc -l

    ログを削除するには、次のコマンドを実行します。

    # rm -f vmware-*.log

    引数がそれほど多くない場合には、このコマンドですべてのログ ファイルが削除されます。引数が多い場合とは、rm コマンドで処理する数を超えている場合です。この場合は、先頭が vmware-1 のすべてのファイルを削除してみてください。

    # rm -f vmware-1*.log

    ファイルが数万個ある場合には、1 から始まっている 1000 を超える数の可能性があるため、この場合も引数が非常に多くなります。より具体的に指定する必要があります。

    # rm -f vmware-10*.log
    # rm -f vmware-11*.log
    # rm -f vmware-12*.log

    必要に応じて、受け入れ可能なファイル数になるまで、コマンドの削除対象を絞り続けます。

  3. vmware.log のみになるまでログ ファイルの削除を続けます。影響を受けているその他すべての仮想マシンで、この手順を繰り返します。


Additional Information

これらのファイルを削除するうえで役立つ可能性のあるその他のコマンドは、次のとおりです。
次のコマンドは、1 日以上経過しているすべての vmware.log ファイルを一覧表示します。

cd /; find /vmfs/volumes/ -name vmware-*.log -mtime +1 -exec ls {} \;

次のコマンドを使用すると、1 日以上経過している vmware.log ファイルを削除できます。

cd /; find /vmfs/volumes/ -name vmware-*.log -mtime +1 -exec ls {} \; | xargs rm

このコマンドでは、次の出力が生成されます。Files (max/free) で始まる行に注目してください。データストア上のファイルが多すぎるため、使用可能なすべての inode が消費されています。こうすることで、それ以上ファイルが作成されないようにしています。
vmkfstools -Ph -v 10 /vmfs/volumes/<volume name>
VMFS-3.31 file system spanning 9 partitions.
File system label (if any):
Mode: public
Capacity 9.4T, 1.1T available, file block size 8.0M
Volume Creation Time: Thu Oct 16 17:10:08 2008
Files (max/free): 30720/0
Ptr Blocks (max/free): 61440/60208
Sub Blocks (max/free): 3968/1216
UUID: 48f7d7e0-295b9248-7710-0015174a4432
Partitions spanned (on "lvm"):
vmhba1:0:36:1
vmhba1:0:37:1
vmhba1:0:35:1
vmhba1:0:34:1
vmhba1:0:33:1
vmhba1:0:20:1
vmhba1:0:21:1
vmhba1:0:22:1
vmhba1:0:23:1
Too many vmware.log files created on VMFS datastores results in delays or failure to power on virtual machines