はじめに
Nutanixにおける読み取り専用キャッシュであるUnified Cacheについて整理します。
どんな役割
前提知識となりますが、データを読み取る際、メモリ上から読み取るのと、ディスクから読み取るのでは、速度が劇的に変化します。数十倍変わります。気になる方は調べてみてください。Unidied Cacheにより、高速にデータの読み取りを実現しています。
- CVMのメモリに保存される読み取りキャッシュのことです。
- データは4kのブロックサイズでキャッシュに取り込まれ、全てのキャッシュはリアルタイムで行われます。データをキャッシュに取り込むための遅延やデータのバッチ処理はありません。
- キャッシュにないデータの読み取り要求があると、エクステントストアと呼ばれる永続データを保存する領域からデータを読み込みます。
次にキャッシュされたデータがどのように処理されるのか詳しく見ていきます。
シングルタッチプール
- エクステントストアから読み取られたデータが初めに格納されます。このデータの読み取り要求が後続になければキャッシュから削除されます。
マルチタッチプール
- シングルタッチプールにキャッシュされていたデータに対する読み取り要求がある場合、こちらに移動されます (実際にはデータは移動されず、メタデータがキャッシュされるだけ)。
- データの読み取り要求がある度に、マルチタッチプールの最上位に移動します。そこで、新しいLRU(Latest Recentry Used)カウンタが与えられます。
- このデータの読み取り要求が後続になければキャッシュから削除されます。
Unified Cacheの計算方法
次の公式で算出可能です。
((CVM メモリ - 12 GB) * 0.45)
つまり、メモリが32GBのCVMの場合は、(32 – 12 ) * 0.45 = 9GBとなります。
その他
- 各 CVM には、ホストしている vDisk (同じノード上で実行されている VM など) を管理する独自のローカル キャッシュがあります。 vDisk がクローン化されると (新しいクローン、スナップショットなど)、新しい各 vDisk には独自のブロック マップがあり、元の vDisk は不変としてマークされます。 これにより、各 CVM がキャッシュ一貫性を備えたベース vDisk の独自のキャッシュされたコピーを確実に保持できるようになります。
- 上書きが発生した場合は、VM のブロック マップ内の新しいエクステントにリダイレクトされます。 これにより、キャッシュの破損が起こらなくなります。
参考
Nutanix Cloud バイブル(日本語版) - NutanixBible.jp
The Nutanix Cloud Bible - Nutanix Cloud バイブル(日本語版) - HCIを中心としたNutanixプロダクトのアーキテクチャー詳細解説。高性能・高信頼かつシンプルに管理できるITインフラの仕掛けを、裏...
コメント