RAM不足時の仮想マシン救済策:VMware ESXiでSSD Host Cacheを構成する方法

VMware tutorial - IT technology blog
VMware tutorial - IT technology blog

クイックスタート:5分で完了するHost Cache構成

仮想マシンのラグを今すぐ解消したいですか?ここでは、迅速な構成手順をまとめました。すでにESXiサーバーに予備のSSDが取り付けられていることを前提としています。

  1. データストアの作成:Storage > New Datastoreにアクセスします。SSDを選択し、分かりやすい名前(例:SSD_Cache_01)を付けます。
  2. スワップ設定へのアクセス:Manage > System > Swapに移動します。
  3. ディスクの指定:Edit settingsをクリックし、先ほど作成したデータストアSSD_Cache_01を選択します。
  4. 容量의 割り当て:キャッシュ専用に割り当てるGB数を入力します。小規模なラボ環境なら、20〜40GBが適当です。
  5. 有効化:Saveをクリックします。これでESXiは、低速なHDDではなくSSDへのスワップ処理を開始します。

なぜHost Cacheがラボ環境の救世主なのか?

Dell R610やHP DL360 G7といった古いサーバーでラボを構築し始めた頃、私は頻繁に「RAM不足」に悩まされました。Windows Serverを5台起動するだけで、32GBのRAM使用率が95%に達してしまいます。この時、ESXiはスワップ(Swap)機能を有効にし、ハードディスクを一時メモリとして使用します。

ここからが悪夢の始まりです。スワップファイルがHDD(7.2kまたは10k RPM)にある場合、レイテンシ(遅延)は数百ミリ秒に跳ね上がります。仮想マシンはスタートメニューすら開けないほど重くなります。一方、一般的なSSDは数万IOPSを処理でき、従来のHDDより50〜100倍高速です。

Host Cache(別名:Swap to Host Cache)は、中間バッファ層を作成します。余剰データを直接HDDに書き込む代わりに、ESXiは優先的にSSDへ送ります。その結果、物理RAMが枯渇しても、仮想マシンは軽快なレスポンスを維持できます。

詳細な設定手順

ステップ1:SSDドライブの準備

まず、ESXiがデバイスを認識しているか確認します。Storage > Devicesに移動します。SSDのステータスがNot consumedと表示されている場合は、新しいデータストアを作成してください。

重要な注意点:ESXi OSがインストールされているSSDをHost Cacheとして共有することは避けてください。これはI/Oボトルネックを引き起こし、ホスト全体のパフォーマンスを低下させる可能性があります。

ステップ2:Web Clientでの設定

バージョン6.7以降、この操作は非常に簡単になりました。以下の手順で行います:

  • 画面左側のカラムでホストを選択します。
  • Manageタブに入り、Systemを選択します。
  • Swap項目を探します。ここにはDatastoreHost Cacheの2つのパーティションが表示されます。
  • Edit settingsをクリックします。Host cache datastoreの行で、準備したSSDを選択します。

ステップ3:コマンドラインでの対処(SSDが自動認識されない場合)

民生用(SATA)SSDの中には、ESXiで正しくSSDとして認識されないものがあります。その場合はサーバーにSSHで接続し、コマンドを使用してシステムに高速ドライブであることを「強制的に」認識させる必要があります。

# ストレージデバイスのリストを確認
esxcli storage nmp device list

# SSD属性が表示されない場合、以下のコマンドでマークを付ける([DEVICE_ID]を実際のIDに置き換える)
esxcli storage nmp satp rule add -s VMW_SATP_LOCAL --device [DEVICE_ID] --option "enable_ssd"

コマンド実行後、ホストを再起動するかストレージを再スキャンして変更を反映させます。

応用:ドライブ故障を防ぐための重要な注意点

VM SwapとHost Cacheの違い

.vswpファイルとHost Cacheを混同しないでください。.vswpファイルは各仮想マシンのディレクトリ内にあり、通常はデフォルトでそのVMと同じドライブに配置されます。Host Cacheはホスト全体で共有されるバッファ領域です。ESXiは、HDD上のスワップファイルにアクセスする前に、SSD上のHost Cacheを優先的に使用します。

SSDの選択:本番環境で安価なモデルを選ばないこと

キャッシュとして使用すると、継続的なデータ書き込みによりSSDの寿命が急速に削られます。
ラボ環境向け:Samsung EVOやCrucial MXシリーズで十分です。
本番環境(プロダクション)向け:Intel DC PシリーズやSamsung PMシリーズなどのエンタープライズ向けSSDが必須です。これらはTBW(Total Bytes Written)が非常に高く、数年間にわたる連続的な書き換え負荷に耐えられるよう設計されています。

RAM不足時のシステム最適化のコツ

Host Cacheは優れた回避策ですが、万能薬ではありません。システムをより安定させるために、以下の3つのヒントも活用してください。

  1. Memory Reservation:データベースなどの重要な仮想マシンでは、Reserve all guest memoryを選択してください。これにより、仮想マシンは常に物理RAM上に保持され、SSDにスワップアウトされることがなくなります。
  2. VMware Toolsのインストール:これは必須です。ツールセットに含まれるballooning(バルーニング)ドライバーは、待機中の仮想マシンからRAMを回収し、実際に稼働しているマシンに割り当てるのに役立ちます。
  3. パフォーマンスの監視:Swap-in/Swap-outのグラフを確認してください。この数値が継続的に100kbpsを超えている場合は、物理メモリの増設を検討すべき最終的なサインです。

わずか数千円のSSD一つで、古いサーバーを驚くほどスムーズに動作させることができます。自宅でラボを運用している方は、ぜひこのテクニックを試してみてください。レスポンス速度の違いに驚くはずです。

Share: