vFRC(vSphere flash read cache)
◆vFRC ( vSphere Flash Read Cache )
vFRC とは、ESXi サーバ内の SSD を仮想マシンの読み取りキャッシュとして利用する機能です。
vFRCは、仮想ディスク(VMDKファイル)のリードキャッシュとして、Localサーバに搭載したSSDを利用する仕組みを提供する。
この機能を利用することにより、下記2つの効果が期待できる。
・仮想ディスクの読み込み速度の向上
・vmdkファイルが配置されたストレージ負荷の軽減
仮想マシンのパフォーマンス向上のために、vmdk単位でキャッシュ領域を割り当てることで、仮想マシン用にSSDが使えるようになります。
これは、vSphere 5.5 の新機能です。
EnterprisePlusのライセンスで使用できます。
ESXiホストは、自身に搭載されたSSD上にvFlash File System (VFFS)を作成します。このVFFSは仮想マシンへのキャッシュアクセスを提供する専用のDiskリソースで、通常のVMFS領域と異なりデータストアとしては見えません。VFFSが構成されたESXiホスト上の仮想マシンはvFRCの利用が可能となります。
ここでのポイント
・ホスト毎に1個のVFFS用SSD領域
・DRSでは積極的に移動しない設定
(soft affinity)
◆仮想マシン設定
・仮想フラッシュのチェックボックスを有効にする
・ブロック サイズとキャッシュ サイズを指定して予約ができます
◆仕組み
キャッシュファイルと、キャッシュエビクションは、キャッシュのブロックサイズの粒度で発生します。
キャッシュエビクション・・キャッシュが満杯の状態で、メイン・メモリからキャッシュにデータを読み込む場合,キャッシュ・サイズの上限を考えて,キャッシュ内に必要なデータを保存し,不要なデータを追い出すことを,キャッシュ・エビクションと呼びます。
エビクション(eviction)は立ち退き,追い立てるという意味です。
キャッシュは通常1バイト毎ではなく、 何バイトかをまとめた「ブロック」単位でデータを管理します。
( 一般的なブロックのサイズは 32B〜256B)
vFRCのキャッシュデータは、読み取りと書き込みIOだが、書き込みIOは常に基盤となるストレージによってサービスされます。
◆vFRCの設定方法
vFRCの設定は極めて簡単です。ホスト側にVFFSを定義し、仮想マシン側でvFRCの利用設定を行います。
仮想マシンの設定編集から、仮想フラッシュの有効化にチェックを入れ、「キャッシュ容量」と「ブロックサイズ」を指定します。