vSphere には、デフォルトで、すべての仮想マシン ファイルのキューのスケジュールを作成するメカニズムが用意されています。たとえば、.vmdk などの各ファイルには、それ独自のバンド幅制御が適用されます。vSphere Client または esxcli コマンドを使用して、このメカニズムを無効にすることができます。

このメカニズムにより、特定の仮想マシン ファイルの I/O が専用の別個のキューに送られ、他のファイルの I/O からの干渉が防止されます。

vSphere Client でのファイルごとの I/O スケジュールの編集

高度な VMkernel.Boot.isPerFileSchedModelActive パラメータは、VMFS および NFS 3 データストアのファイルごとの I/O スケジューリング メカニズムを制御します。ESXi ホストでは、このメカニズムがデフォルトで有効になっています。[システムの詳細設定] ダイアログ ボックスを使用して、このメカニズムを無効にできます。

ファイルごとの I/O スケジュール モデルを無効にすると、ホストはレガシーのスケジュール メカニズムに戻ります。レガシーのスケジュールでは、仮想マシンとストレージ デバイスの各ペアに 1 つの I/O キューのみが保持されます。仮想マシンと仮想ディスクとの間のすべての I/O が、このキューに移動されます。その結果、バンド幅の共有時にさまざまな仮想ディスクからの I/O が互いに干渉し、互いのパフォーマンスに影響を及ぼす可能性があります。

注: HPP プラグインがあり、高速のローカル デバイスに遅延の影響を受けるしきい値パラメータが構成されている場合、ファイルごとのスケジュールを無効にしないでください。ファイルごとのスケジュールを無効にすると、予期しない動作が発生する可能性があります。

手順

  1. vSphere Client で、ESXi ホストに移動します。
  2. [設定] タブをクリックします。
  3. [システム] メニューの [システムの詳細設定] をクリックします。
  4. [VMkernel.Boot.isPerFileSchedModelActive] パラメータの値を編集します。
    オプション 説明
    True ファイルごとのスケジュール メカニズムを有効にします。デフォルトでは、このパラメータは有効になっています。
    False ファイルごとのスケジュール メカニズムを無効にします。
  5. ホストを再起動して、変更内容を有効にします。

esxcli コマンドを使用したファイルごとの I/O スケジュールの編集

esxcli コマンドを使用して、ESXi ホスト上の VMFS、NFS 3、および NFS 4.1 データストアの I/O のスケジュール機能を変更できます。この機能はデフォルトで有効です。

前提条件

ESXCLI をインストールします。ESXCLI スタート ガイドを参照してください。トラブルシューティングするには、ESXi Shellesxcli コマンドを実行します。

手順

  • ファイルごとの I/O スケジュールを設定または編集するには、次のコマンドを実行します。
    オプション 説明
    esxcli system settings kernel set -s isPerFileSchedModelActive -v FALSE VMFS と NFS 3 のファイルごとの I/O スケジュールを無効にします。
    esxcli system settings kernel set -s isPerFileSchedModelActive -v TRUE VMFS と NFS 3 のファイルごとの I/O スケジュールを有効にします。
    esxcli system module parameters list -m nfs41client NFS 4.1 ファイル ベース スケジューラの現在のステータスを表示します。
    esxcli system module parameters set -m nfs41client -p fileBasedScheduler=0 NFS 4.1 ファイル ベース スケジューラを無効にします。
    esxcli system module parameters set -m nfs41client -p fileBasedScheduler=1 NFS 4.1 ファイル ベース スケジューラを有効にします。