ESXi 7.x/6.x/5.x/4.x の永続的スクラッチの場所の作成
search cancel

ESXi 7.x/6.x/5.x/4.x の永続的スクラッチの場所の作成

book

Article ID: 327773

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

この記事では、ESXi に永続的スクラッチの場所を作成する手順について説明します。

VMware では、ESXi にログ、診断情報、システム スワップなどの一時データを格納できる永続的スクラッチの場所を設定することを推奨しています。(ただし、これは要件ではありません)永続的スクラッチの領域は、ESXi ホストによってアクセス可能な FAT 16、VMFS または NFS パーティションにプロビジョニングすることができます。

:SD カードまたは USB にスクラッチ領域を構成するのは推奨しません。これらのデバイスは読み書きのサイクルに制限があります。

:スクラッチ領域は、ESXi ホストのインストール時、または最初のブート時に自動的に構成されるため、手動で構成する必要はありません。ESXi Installable は、インストール時にデバイスに十分な容量があり、デバイスがローカルと見なされる場合、4 GB の Fat16 パーティションをターゲット デバイスに作成します。

VirtualCenter 2.5 Update 1 以降では、スワップが有効になっている ESXi システムのみを HA クラスタに追加できます。詳細については、「ESXi hosts without swap enabled cannot be added to a VMware High Availability Cluster (1004177)」を参照してください。

:ESXi 7.0 より前のバージョンでは、スクラッチ領域は ESXi ホストのインストール時、または最初のブート時に自動的に構成されるため、手動で構成する必要はありません。デバイスに十分な容量があり、デバイスがローカルと見なされる場合、ESXi インストーラはインストール時にターゲット デバイスに 4 GB の Fat16 パーティションを作成します。

ESXi 7.0 以降では、従来のスクラッチ パーティションが、VMFS-L ベースの ESX-OSData(ログ、コアダンプおよび構成を格納する場所)に置き換わっています。アップグレード時、構成されたスクラッチ パーティションは ESX-OSData に変換されます。この記事で説明する設定は、スクラッチ パスを別の場所にポイントする場合にも該当します。

Symptoms:
免責事項:これは英文の記事「Creating a persistent scratch location for ESXi 7.x/6.x/5.x/4.x (1033696) 」 の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新の内容については、英語版の記事を参照してください。
 
  • esxcli software vib list コマンドを実行すると、次のようなエラーが表示される。

    Traceback (most recent call last):
    File "/usr/lib/vmware/esxcli-software", line 432, in module
    setupLogging()
    File "/usr/lib/vmware/esxcli-software", line 78, in setupLogging
    handler = logging.handlers.SysLogHandler(address='/dev/log')
    File "/build/mts/release/bora-504890/bora/build/esx/release/python-
    2.6-lib-zip-stage/504890/visor/pylib/python2.6/logging/handlers.py",
    line 704, in __init__
    File "/build/mts/release/bora-504890/bora/build/esx/release/python-
    2.6-lib-zip-stage/504890/visor/pylib/python2.6/logging/handlers.py",
    line 719, in _connect_unixsocket
    File "string", line 1, in connect
    socket.error: [Errno 2] No such file or directory
     
  • esxcli software または esxupdate に関連するコマンドが機能しない。
  • Update Manager を使用してホストをスキャンすると、次のエラーが表示されて失敗する。

    General System Error
     
  • 最初にホストを再起動したときには問題は解決しますが、数日以内に再度発生する。
  • /var/log/ ファイルにログ ファイルが見つからないか、更新されていない。
  • 影響を受ける ESXi ホストには HA エージェントをインストールできない。
  • ESXi は SD カードまたは USB スティックにインストールされる。


Environment

VMware vSphere ESXi 7.0.0
VMware vSphere ESXi 6.0
VMware vSphere ESXi 5.0
VMware vSphere ESXi 6.5
VMware vSphere ESXi 6.7
VMware vSphere ESXi 5.1
VMware vSphere ESXi 5.5
VMware vSphere ESXi 8.0.x

Cause

永続的スクラッチ領域が利用可能でない場合、ESXi はこの一時データを領域に制限のある ramdisk に格納します。これはメモリの少ない状況では問題になる場合がありますが、ESXi の動作には重大ではありません。ramdisk に格納された情報は再起動後は残らないため、ログやコア ファイルなどのトラブルシューティング情報が失われる場合があります。ホスト上の永続的スクラッチの場所が適切に構成されていない場合、一時ファイル用の容量が不足し、ログ ファイルが更新されないことが原因で、断続的に問題が発生する可能性があります。

スクラッチ領域は ESXi 4.1 U2 以降のホストのインストール時または初回起動時に自動的に構成されるため、手動で構成する必要はありません。

Resolution

ESXi ホストのスクラッチ領域は、vSphere Client、PowerCLI、Tech Support モードを使用して、またはスクリプト化されたインストールの実行中に、手動で構成することができます。環境に適した方法を選択してください。選択した方法にかかわらず、構成は次回の起動時に使用するために /etc/vmware/locker.conf 構成ファイルに書き込まれます。

構成されたスクラッチの場所を変更するには、ESXi ホストを再起動して変更を有効にする必要があります。変更の前に、vMotion を使用して ESXi ホスト上のすべての仮想マシンを移行またはパワーオフします。詳細については、「Rebooting an ESX Server host (1003530)」を参照してください。

構成されたスクラッチの場所は、VMFS ボリュームなど、ESXi ホストからアクセス可能なファイル システム上のディレクトリを参照する必要があります。ESXi ホストにそれ自身の個別のディレクトリが割り当てられている限り、この場所は共有ディスクのディレクトリでもリモート ディスクのディレクトリでもかまいません。


永続的スクラッチの場所を構成する方法:
  • ESXi 6.x 以降での vSphere Client の使用
  • ESXi 6.5 での VMware Host Client の使用
  • PowerCLI 5.1 以降の使用
  • Tech Support モードの使用
  • キックスタートスクリプトを使用したスクリプトインストール

注意:複数の ESXi ホスト間でスクラッチ ロッカーのディレクトリを共有しないでください。
:VSAN データストアにスクラッチの場所を構成することはサポートされません。

これらの手順を完了する前に、ESXi ホストの再起動が必要になる場合があります。

ESXi 6.x 以降での vSphere Web Client を使用した永続的スクラッチの場所の構成。HTML5 Client を使用する場合も、同様の手順に従ってください。

  1. vSphere Web Client を使用して vCenter Server へログインします。
  2. [ホストおよびクラスタ] をクリックし、特定のホストを選択します。
  3. 管理 タブをクリックします。
  4. [設定] > [システム] > [システムの詳細設定] の順にクリックします。
  5. ScratchConfig.ConfiguredScratchLocation を特定します。
  6. [編集] をクリックして、スクラッチ ディレクトリへのパスを追加します。
  7. ホストを再起動します。

ESXi 6.5 での VMware Host Client を使用した永続的スクラッチの場所の構成。

  1. Host Client を使用して、ESXi ホストに接続します。
  2. [ストレージ] をクリックします。
  3. データストアを右クリックして、[参照] をクリックします。
  4. この ESXi ホスト用に一意の名前を持つディレクトリを作成します。

    例:

    .locker-ESXHostname
     
  5. データストア ブラウザを閉じます。
  6. [管理] タブをクリックします。
  7. [システム] の下の [システムの詳細設定] をクリックします。

    設定 ScratchConfig.CurrentScratchLocation にスクラッチ パーティションの現在の場所が表示されます。
     
  8. ScratchConfig.ConfiguredScratchLocation フィールドに、このホスト用の一意のディレクトリ パスを入力します。

    例:/vmfs/volumes/DatastoreUUID/.locker-ESXHostname
     
  9. ホストを再起動します。

vSphere Client を使用した永続的スクラッチの場所の構成

vSphere Client を使用して ESXi に永続的スクラッチ領域を構成するには、次の手順を実行します。
  1. vSphere Client を使用して、vCenter Server または ESXi ホストに接続します。
  2. インベントリで ESXi ホストをクリックします。
  3. [構成] タブ > [ストレージ] の順にクリックします。
  4. データストアを右クリックして、[参照] をクリックします。
  5. この ESXi ホスト用に一意の名前を持つディレクトリを作成します。

    例:

    locker-ESXHostname
     
  6. データストア ブラウザを閉じます。
  7. [ソフトウェア] > [詳細設定] の順にクリックします。
  8. [スクラッチ構成] セクションを選択します。
  9. ScratchConfig.ConfiguredScratchLocation 構成オプションを変更し、ディレクトリへのフル パスを指定します。

    例:

    /vmfs/volumes/DatastoreUUID/.locker-ESXHostname

    :データストア UUID を決定するには:
    1. [構成] > [ストレージ] に移動します。
    2. データストアを選択します。
    3. [データストアの詳細] の下にある [場所] を確認します。

      /vmfs/volumes/51dda02d-fade5016-8a08-005056171889 のようなデータストア UUID が表示されます。ここで 51dda02d-fade5016-8a08-005056171889 は UUID です。
       
  10. [OK] をクリックします。
  11. ESXi ホストをメンテナンス モードにして再起動し、構成の変更を有効にします。 

 

PowerCLI 5.1 以降を使用した永続的スクラッチの場所の構成

vSphere PowerCLI インターフェイスを使用して ESXi に永続的スクラッチ領域を構成するには、次の手順を実行します。

  • 先に進む前に、/tmp/scratch が存在することを確認します。存在しない場合は、コマンド mkdir /tmp/scratch を使用して作成します。
  • vSphere PowerCLI の使用方法の詳細については、『vSphere PowerCLI documentation』を参照してください。
  1. PowerCLI がインストールされている場所でコマンド プロンプトを開きます。
  2. 次のコマンドを使用して ESXi ホストに接続します。

    connect-viserver esx_hostname_or_IP
     
  3. 次のコマンドを使用して、この ESXi ホストからアクセス可能なデータストアのリストを取得します。

    Get-Datastore
     
  4. 次のコマンドを使用して、データストアの読み/書きを PSDrive としてマウントします。

    New-PSDrive -Name "mounteddatastore" -Root \ -PSProvider VimDatastore -Datastore (Get-Datastore "DatastoreName")
     
  5. 次のコマンドを使用して新しい PSDrive にアクセスします。

    Set-Location mounteddatastore:\
     
  6. 次のコマンドを使用して、この ESXi ホストのための一意の名前を持つディレクトリを作成します。

    New-Item "DirectoryName" -ItemType directory

    例:

    New-Item ".locker-ESXHostname" -ItemType directory
     
  7. 次のコマンドを使用して、ScratchConfig.ConfiguredScratchLocation 構成オプションの現在の値を確認します。

    Get-VMhost | Get-AdvancedSetting -Name "ScratchConfig.ConfiguredScratchLocation"
     
  8. 次のコマンドを使用して、ScratchConfig.ConfiguredScratchLocation 構成オプションを変更し、手順 6 で作成したディレクトリのフル パスを指定します。

    Get-VMhost | Get-AdvancedSetting -Name "ScratchConfig.ConfiguredScratchLocation" | Set-AdvancedSetting -Value "/vmfs/volumes/DatastoreName/DirectoryName"

    例:

    Get-VMhost | Get-AdvancedSetting -Name "ScratchConfig.ConfiguredScratchLocation" | Set-AdvancedSetting -Value "/vmfs/volumes/Datastore1/.locker-ESXHostname"
     
  9. プロンプトが表示されたら、[はい] を選択して詳細設定を変更します。
  10. ESXi ホストをメンテナンス モードにして再起動し、構成の変更を有効にします。

Tech Support モードを使用した永続的スクラッチの場所の構成

ESXi で Tech Support モードを使用して ESXi に永続的スクラッチ領域を構成するには、次の手順を実行します。

  • これはローカル コンソールまたは SSH を介して実行することができます。
  • .filename は隠しファイルです。隠しファイルを表示するには、ls -a コマンドを実行します。
  1. ESXi ホストのコンソールを開きます。詳細については、「Using Tech Support Mode in ESXi 4.1, ESXi 5.x, and ESXi 6.x」を参照してください。
  2. 次のコマンドを使用して、この ESXi ホストからアクセス可能なデータストアのリストを取得します。

    ls /vmfs/volumes
     
  3. 次のコマンドを使用して、この ESXi ホストのための一意の名前を持つディレクトリを作成します。

    mkdir /vmfs/volumes/DatastoreName/DirectoryName

    例:

    mkdir /vmfs/volumes/Datastore1/.locker-ESXHostname
     
  4. 次のコマンドを使用して、ScratchConfig.ConfiguredScratchLocation 構成オプションの現在の値を確認します。

    vim-cmd hostsvc/advopt/view ScratchConfig.ConfiguredScratchLocation

    例:

    (vim.option.OptionValue) [
    (vim.option.OptionValue) {
    dynamicType = unset,
    key = "ScratchConfig.ConfiguredScratchLocation",
    value = "/path/to/location",
    }
    }

     
  5. 次のコマンドを使用して、ScratchConfig.ConfiguredScratchLocation 構成オプションを変更し、手順 3 で作成したディレクトリのフル パスを指定します。

    vim-cmd hostsvc/advopt/update ScratchConfig.ConfiguredScratchLocation string /vmfs/volumes/DatastoreName/DirectoryName

    例:

    /bin/vim-cmd hostsvc/advopt/update ScratchConfig.ConfiguredScratchLocation string /vmfs/volumes/Datastore1/.locker-ESXHostname
     
  6. ESXi ホストをメンテナンス モードにして再起動し、構成の変更を有効にします。
 

キックスタートスクリプトを使用したスクリプトインストール時の永続的スクラッチの場所の構成

ディレクトリの作成と構成オプションの変更に使用するキックスタート スクリプトにコマンドを追加することで、キックスタート インストール時に ESXi に永続的スクラッチ領域を構成することができます。ESXi でのスクリプトによるデプロイの詳細については、「ESXi Installable and vCenter Server Setup Guide」を参照してください。

以下のコマンドをカスタムのキックスタート スクリプトに追加します。
# Generate a new scratch directory for this host on a Datastore
scratchdirectory=/vmfs/volumes/DatastoreName/.locker-$(hostname 2> /dev/null)-$(esxcfg-info -b 2> /dev/null)

# Create the scratch directory
mkdir -p $scratchdirectory

# Change the advanced configuration option
vim-cmd hostsvc/advopt/update ScratchConfig.ConfiguredScratchLocation string $scratchdirectory
 
:構成されたスクラッチの場所は ESXi ホストの起動中に有効になります。上記のコマンドを実行した後は再起動が必要です。

Additional Information

VMware Skyline Health Diagnostics for vSphere - FAQ

スクラッチ パーティションの詳細については、以下を参照してください。
  • vSphere 6.0 Installation and Setup guide』の「vSphere Web Client からのスクラッチ パーティションの設定」セクション
  • お使いのバージョンの ESXi に対応する『ESXi のインストールとセットアップ』の「ストレージ動作の構成」セクション
  • vSphere Installation and Setup guide』の「スクラッチ パーティションについて」セクション

ホストが 24 時間以上稼働していると、この設定は上記の手順を実行した後に永続的でなくなる場合があります。その場合は、以下の手順を実行してください:
  1. ホストをメンテナンス モードにして再起動します。
  2. [構成] タブをクリックします。
  3. [ソフトウェア] をクリックします。
  4. [詳細設定] をクリックします。
  5. [スクラッチ構成] セクションを選択します。
  6. ScratchConfig.ConfiguredScratchLocation の構成オプションを変更し、ディレクトリのフル パスに設定します。

    例:

    /vmfs/volumes/DatastoreName/.locker-ESXHostname
     
  7. [OK] をクリックします。
  8. ウィンドウを閉じます。
  9. [詳細設定] をクリックし、ウィンドウを再度開きます。
  10. [スクラッチ構成] セクションを選択します。
  11. ScratchConfig.ConfiguredScratchLocation フィールドに手順 6 で構成したスクラッチ設定が含まれていることを確認します。含まれていない場合はホストを再起動します。

    ホストは構成されたスクラッチ パーティションを使用するようになります。

ディスク デバイスの判断の詳細については、「Identifying disks when working with VMware ESX (1014953)」を参照してください。また、esxcfg-scsidevs -l コマンドの出力で Is Local フラグも確認します。
  • Local が true の場合、ストレージ デバイスは複数の ESXi ホスト間で共有することはできません。
  • Local が false の場合、ストレージ デバイスはリモートで、複数の ESXi ホスト間で共有することができます。リモート デバイスは、ESXi によって自動的にスクラッチに使用されません。

ESXi は、設定した順序に従って起動中にこれらのスクラッチの場所の1 つを選択します。
  1. この記事にある、ScratchConfig.ConfiguredScratchLocation 構成オプションによって設定される、/etc/vmware/locker.conf 構成ファイルで指定された場所。
  2. ローカルの起動デバイス上の少なくとも 4GB の Fat16 ファイル システム。
  3. ローカル デバイス上の少なくとも 4GB の Fat16 ファイル システム。
  4. .locker/ ディレクトリにあるローカル デバイス上の VMFS データストア。
  5. /tmp/scratch/. にある ramdisk。
これらはスクラッチ領域が永続的ストレージ上で自動的に定義されない可能性がある 2 つの例です。いずれの場合も、一時的なスクラッチ場所が ramdisk 上に構成されます。
  • USB キーを含むフラッシュまたは SD デバイスにデプロイされた ESXi。スクラッチ パーティションは(インストール時に接続されていても)フラッシュまたは SD ストレージ デバイスには作成されません。これは、利用できる読み/書きサイクルが制限される可能性があるためです。
  • SAN からの起動構成でデプロイされた、または SAS デバイスにデプロイされた ESXi。SAN または SAS LUN からの起動はリモートであると見なされ、複数の ESXi ホスト間で共有することができます。複数の ESXi ホスト間の競合を回避するため、リモート デバイスはスクラッチには使用されません。

ESXi 5.x の syslog の構成の詳細については、「Configuring syslog on ESXi 5.x (2003322)」を参照してください。

この記事の翻訳バージョンについては、次を参照してください。

関連リンク: