エンジニア女子ぶろぐ

知った事をちょいちょい、のんびり記載します

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の利用設定を行います。

仮想マシンの設定編集から、仮想フラッシュの有効化にチェックを入れ、「キャッシュ容量」と「ブロックサイズ」を指定します。