nvmelogs が /tmp を圧迫し、ホストが応答不能になる
search cancel

nvmelogs が /tmp を圧迫し、ホストが応答不能になる

book

Article ID: 425603

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項:これは英文の記事「nvmelogs causing /tmp folder to be filled up and host goes into not responding state」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

症状:

  • ESXi ホストが vCenter Server で応答なしと表示されます
  • ESXi ホストは vCenter で 10 ~ 15 分間「応答なし」と表示されますが、その後正常に戻る場合があります
  • hostd.log には次のようなメッセージが表示されることがあります:

YYYY-MM-DDTHH:MM:SS.012Z info hostd[2104181] [Originator@6876 sub=Hostsvc.VmkVprobSource] VmkVprobSource::Post event: (vim.event.EventEx) {
-->    key = 95,
-->    chainId = -1,
-->    createdTime = "YYYY-MM-DDTHH:MM:SSZ",
-->    userName = "",
-->    host = (vim.event.HostEventArgument) {
-->       name = "<ESX FQDN>",
-->       host = 'vim.HostSystem:ha-host'
-->    },
-->    eventTypeId = "esx.problem.visorfs.ramdisk.full",
-->    arguments = (vmodl.KeyAnyValue) [
-->       (vmodl.KeyAnyValue) {
-->          key = "1",
-->          value = "tmp"
-->       },
-->       (vmodl.KeyAnyValue) {
-->          key = "2",
-->          value = "/tmp/nvmelogs/vmhba12_host_tele.bin"
--> }

  • vmkernel.log には以下のようなメッセージが表示されることがあります:

YYYY-MM-DDTHH:MM:SS.821Z cpu5:9078600)Admission failure in path: host/system/visorfs/ramdisks/tmp:tmp
YYYY-MM-DDTHH:MM:SS.821Z cpu5:9078600)tmp (1370) extraMin/extraFromParent: 1/1, tmp (1369) childEmin/eMinLimit: 65536/65536
YYYY-MM-DDTHH:MM:SS.821Z cpu5:9078600)Admission failure in path: host/system/visorfs/ramdisks/tmp:tmp
YYYY-MM-DDTHH:MM:SS.821Z cpu5:9078600)tmp (1370) extraMin/extraFromParent: 1/1, tmp (1369) childEmin/eMinLimit: 65536/65536
YYYY-MM-DDTHH:MM:SS.821Z cpu5:9078600)WARNING: VisorFSRam: 203: Cannot extend visorfs file /tmp/nvmelogs/vmhba12_host_tele.bin because its ramdisk (tmp) is full.

  • vmkwarning.log には以下のようなメッセージが表示されることがあります:

YYYY-MM-DDTHH:MM:SS.687Z cpu32:9078841)WARNING: VisorFSRam: 203: Cannot extend visorfs file /tmp/nvmelogs/vmhba23_host_tele.bin because its ramdisk (tmp) is full.
YYYY-MM-DDTHH:MM:SS.844Z cpu11:9078885)WARNING: VisorFSRam: 203: Cannot extend visorfs file /tmp/nvmelogs/vmhba23_controller_tele.bin because its ramdisk (tmp) is full.
YYYY-MM-DDTHH:MM:SS.152Z cpu26:9078897)WARNING: VisorFSRam: 203: Cannot extend visorfs file /tmp/nvmelogs/vmhba23_persistent_event.bin because its ramdisk (tmp) is full.
YYYY-MM-DDTHH:MM:SS.761Z cpu44:9078957)WARNING: VisorFSRam: 203: Cannot extend visorfs file /tmp/nvmelogs/vmhba22_controller_tele.bin because its ramdisk (tmp) is full.

Environment

VMware vSphere ESXi 6.5.x
VMware vSphere ESXi 6.7.x
VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x

Cause

vm-support コマンドは nvmelogs.sh を実行し、NVMe テレメトリと永続イベントログを収集します。NVMe ログはサイズが大きいため、vm-support による収集が完了すると、これらのログは削除されます。
このディレクトリ /tmp は、ファイルを一時的に保存するための一時フォルダです。これらのファイルは最終的に vm-support バンドルに保存されます。

Resolution

この問題は ESXi 7.0 Update 3q で修正されています。詳細については、VMware ESXi 7.0 Update 3q のリリースノートを参照してください。

VMware ESXi 7.0 Update 3q より前のバージョンでの回避策:

  • CLI から、ESXi ホストでサポートバンドルを収集するときに nvmelogs を無効にするには、「vm-support」ではなく「vm-support -e Storage:NVMe」コマンドを実行します。
    または
  • vCenter GUI からサポート バンドルを生成するときには、NVMe マニフェスト (ストレージの下) を選択解除します。