[Nutanix]Unified Cacheについて整理

Nutanix
Nutanix logo
スポンサーリンク
スポンサーリンク

はじめに

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インフラの仕掛けを、裏側...

コメント