VMware ESXiで利用できるホストのSSD/RAMキャッシュまとめ


VMwareには2種類のSSDキャッシュがあり、一つはホストのメモリがいっぱいのなった際にSSDへスワップアウトするものと、ストレージのリクエストをホストのフラッシュ/RAMにキャッシュするものです。

前者のカテゴリには、以下のVMware機能が有ります。

後者のカテゴリには、以下のVMware機能やサードパーティ製品機能があります

メモリスワッピング

まずは一般的なメモリスワップから解説していきます。 ESXiホストメモリは、VMとESXiホストプロセスの2種類から消費されます。ホストメモリが不足し始めると、VMwareはメモリの内容の一部をホスト内SSDまたはSSDベースのデータストアに書き込むことでメモリを解放します。このプロセスはスワッピングと呼ばれ、すべてのオペレーティングシステムの標準機能です。ESXiでは、ESXiのメモリパラメータ(「ホストキャッシュへのスワップイン」および「ホストキャッシュからのスワップアウト」)を確認することで、スワップの使用状況を監視できます。

VMwareの 「ホストキャッシュ構成」機能

「ホストキャッシュへのスワップ」または「ホストスワップキャッシュ」とも呼ばれます。この機能は実際にはホストキャッシュではなく、スワップの配置先として構成されたSSDベースのデータストアです。

vCenter GUIのメニューの場所:[ホスト]> [構成]> [ストレージ]> [ホストキャッシュの構成]
すべてのESXiエディションで利用できます。

VMware の「仮想フラッシュホストスワップキャッシュ」機能

これは、上記のVMwareの「ホストキャッシュ構成」とまったく同じ機能ですが、唯一の違いは、スワップの場所がホスト内SSDであるということです。

vCenter GUIのメニューの場所:[ホスト]> [構成]> [仮想フラッシュ]> [仮想フラッシュ ホスト スワップ キャッシュ構成] 
ESXi EnterprisePlusエディションでのみ使用できます。

「ホストキャッシュ構成」または「仮想フラッシュホストスワップキャッシュ」が構成されている場合、次に解説している2つのVMwareスワッピング関連構成オプション(「仮想マシンスワップファイルの場所」および「システムスワップ」)が上書きされます。

VMware の「仮想マシンスワップファイルの場所」機能

これは、すべてのVMがスワップする場所を定義するクラスタレベルの機能です。デフォルトでは、VMはVMが配置されているのと同じデータストアにスワップします。スムーズなvmotionが可能になるため、これは理にかなった設定です。このデフォルト構成を一般的に変更する必要はありません。

vCenter GUIのメニューの場所:デフォルト設定はクラスタレベルです。クラスタ>構成>一般
ホストレベルで上書きできます。[ホスト]> [構成]> [仮想マシン]> [ スワップ ファイルの場所 ]
すべてのESXiエディションで利用できます。

VMware の「システムスワップ」機能

これは、ESXiがアイドル状態のESXiホストプロセス(VMではない)によって使用されるメモリの内容をスワップアウトし、新しく解放されたメモリをVMに割り当てることができる構成オプションです。「システムスワップ」の場所は、SSDデータストア、VMwareの「ホストキャッシュ」の場所、または「VMスワップファイルの場所」で指定されたデータストアのいずれかです。システムスワップは1GBのみに制限されています。この制約と、システムプロセスの交換がESXiのパフォーマンスに悪影響を与えるという事実のため、デフォルトのオプションを変更しないことをお勧めします。

vCenter GUIのメニューの場所:[ホスト]> [構成]> [システム]> [システムスワップ]
すべてのエディションで利用できます。

キャッシング

これはスワッピングとは異なります。キャッシュソフトウェアが持つ機能にもよりますが、すべてのVMおよびVMwareカーネルからの すべてのストレージIO(読み取りおよび書き込み) をホスト内のSSDまたはRAMにキャッシュし、高速化します。したがって、キャッシュは、メモリに使用量にかかわらず、キャッシュしているデータをスワップし、最適化する必要が有ります。これは理想的な目標であり、ここではVMwareのVFRCおよびCBRC機能のキャッシュに関するデメリットも解説していきます。

VMware の「仮想フラッシュ読み取りキャッシュ」/「VFLASH読み取りキャッシュ」機能

VFRCは、VMからの読み取りリクエストをホスト内SSDへキャッシュします。この機能を使用するには、最初にホスト内SSDで「仮想フラッシュリソース管理」を構成する必要があります。その後、このSSDを分割し、そのホスト上の各VMにVMDKレベルでSSD容量を割り当てます。VFRCは、頻繁に使用される読み取りをそのSSDにキャッシュすることにより、VMの読み取りパフォーマンスを向上させます。

vCenter GUIでのメニューの場所:6.7以前で使用可能(7.xでのサポート終了)。6.7では、[vCenter]>[ホスト]>[構成]>[仮想フラッシュリソース管理]で構成後に、[VM]> [設定の編集]> [仮想フラッシュ読み取りキャッシュ]> [VMDKごとのSSD容量の追加]に移動して、各VMにSSD容量を追加します。

6.7以前のESXiバージョンでは、EnterprisePlusエディションでのみ使用できます。

VMware の「コンテンツベースの読み取りキャッシュ」(CBRC)/「HORIZO​​N VIEW STORAGE ACCELERATOR」機能

CBRCは、Horizo​​nVDIのView Storage Accelerator(VSA)機能によってのみ使用されるホストレベルの構成オプションです。したがって、CBRC自体は何もしません。VSAは、CBRCを管理者に公開する機能です。VSAキャッシュは、Horizo​​nのレプリカ/親VMからの読み取りのみをキャッシュします。エンドユーザーのVDI VMからの読み取り/書き込みはキャッシュされません。VSA / CBRCはサーバーVMでは機能しません。デフォルトでは、VSAは1GBのホストRAMにキャッシュしますが、キャッシュサイズをホストあたり32GBのRAMに増やすことができます。CBRC / VSAは親/レプリカVMのみをキャッシュするため、レプリカVMのサイズよりも大きいキャッシュサイズは役に立ちません。

サードパーティ製品( VirtuCache

サードパーティ製品のホストキャッシングソフトウェアとして今回は、クライムでも取り扱っているVirtuCacheを解説します。 VMwareが提供する上記のすべての機能に加えてさらに多くの機能が含まれます。簡単に言うと、すべてのVMとVMwareカーネルからのすべての読み取りと書き込みをホスト内のSSDまたはRAMへキャッシュすることができます。を のします。非常に使いやすく、VMwareにも認定されています。

VirtuCacheがホストにインストールされている場合:

  1. VMwareがメモリの内容をスワップアウトし始めると、VirtuCacheはそれを自動的にインターセプトし、VirtuCacheに割り当てられたホスト内SSDに書き込みます。これはVirtuCacheの特別な機能ではなく、VirtuCacheがVMwareからのすべてのストレージIO(読み取りと書き込み)をインターセプトし、割り当てられたホスト内キャッシュメディア(SSDまたはRAM)にキャッシュするという事実にすぎません。したがって、上記のすべてのVMwareスワッピング機能をデフォルト値のまま利用できます。
  2. VFRCを構成しないでください(ESXi 7.xではサポート終了)。VirtuCacheはこの機能と競合します。いくつかの大きな違いは、VirtuCacheは読み取りと書き込みをキャッシュし、VFRCは読み取りのみをキャッシュすることです。また、VirtuCacheはVDIはサポートしていますが、VFRCはサポートしていません。
  3. VirtuCacheはCBRC / VSAと相互運用できますが、VirtuCacheはCBRC / VSAよりも多くの機能を提供しているため構成しないことが推奨されます。たとえば、VirtuCacheはVMwareからのすべてのストレージIOをキャッシュしますが、VSAキャッシュはHorizo​​nのレプリカVMからの読み取りのみをキャッシュします。CBRCはRAMのみをサポートし、VirtuCacheはSSDとRAMをサポートします。
関連トピックス:
カテゴリー: VMware, vSphere, その他製品・ツール パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

この記事のトラックバック用URL