vSANのストレージポリシー:Flash Read Cache Reservationを考える
以前にvSAN 6.2のトレーニング受講をした際に、Flash Read Cache Policyについて取扱を考えるようにと学んだが、具体的に操作をしてその重要性を体感することがなかったので、VMware HOLにて次の検証を試してみました。
お題:ハイブリッド構成のvSANクラスタにて、Flash Read Cache Reservationを構成した場合、内的にどのようにCache Tierの容量が取られるのか?
まずそもそも、Flash Read Cache Reservationとは何か、を説明すると次の通りです。
・ハイブリッドvSAN構成でのみ利用出来るポリシー(オールフラッシュでは不要)
・vSANクラスタ環境に置いて、特定のVMに対するキャッシュヒット率を向上させることが目的の設定であり、Read Tendency VMに対して有効な設定である。
・基本的には、vSAN内でのCacheは動的にvSANによって管理をされるため、パフォーマンス・チューニング的な要素で利用するのが趣旨であり、基本は利用をする必要はない。
・パーセンテージで指定する設定項目であり、パーセントを掛け合わせる値は、vmdkのサイズである。例として50GBのvmdkに対し10%と設定した場合、5GBが消費される見込みである。
さて、これを前提とし、次にVMware HOL上でこれを実行してみました。
・ハイブリッド構成のvSANを用意する(HOLはオールフラッシュ構成ですので、一度データストアからディスクグループ内のディスクを磁気ディスクに変換し、ハイブリッドに変更しました)
・仮想マシンを作成し、vmdkサイズを50GBに設定
・ストレージポリシーを作成し、Flash Read Cache Reservationを10%に指定
はい、ということでこちらがその結果です。
RVCよりクラスタ内のディスクグループの利用率を仮想マシン作成前後で取得しました。
やはり想定通り5GBが利用されましたが、次の点はポイントと言えます。
1. VMはパワーオフ状態であるにも関わらず、Cache Tierの容量が押さえられている
2. 5GBはノード間で分散されている
特にハイブリッド構成ではCache TierはRead(70%)とWrite(30%)であり、上述のようにキャッシュを専有すると他のVMへのパフォーマンス影響もでると言えます。
利用時には上記の動作を把握して、うまくこのポリシーを使っていきましょう。
<追記>
Flash Ready Cache Reservation 20% (vmdk 50GB)時の様子
正常に変更可能、結果は次の通り
Flash Ready Cache Reservation 30% (vmdk 50GB)時の様子
適用しようとした所、リソース不足を通告されました
キャッシュサイズの総容量が24GBに対し、既存で10GB、今回の30%では15GBなので
キャッシュサイズの増加時には空き容量が変換後のキャッシュサイズを保存出来ないと行けないのか?というように見えます。
一度既存のVMを削除し、Flash領域を開放して、新規のVMで50GBのvmdkに30%のキャッシュを割り当てた所正常にデプロイ完了
ちなみにここから、このVMをクローンで増やせるか試しました。
やはりキャッシュ領域不足のせいで、デプロイは失敗しました。
基本的にはvSphereが持つ、”予約”機能のように、リソースの確保なくしてはVMのデプロイが出来ませんね。