&edit(,nolabel); -''(1-04).I/O Path Overview.'' >Nutanix I/Oパスは、以下の構成要素より成る。 ><<Fig.01-04-01>> LEFT:&ref("Nutanixバイブル/NutanixBible_1-04J/ExtentCache.png","ExtentCace",100%); --&color(red){(1-04-01).OpLog.}; --&color(red){(1-04-01).[[OpLog>Terms/OpLog]].}; ---主な役割:永続的な書込みバッファ ---記述: [[OpLog>Terms/OpLog]]は、ファイルシステムのジャーナルに似ており、バースト的な書込みを扱い、それらを纏めて、データを順番に[[Extent Store>Term/ExtentStore]]に流し出す。 書込み時、[[OpLog>Terms/OpLog]]は、データの利用可能性のため, writeに対し書込確認(acknowledge)が返される前に他のn個の[[CVM>Terms/CVM]]の[[OpLog>Terms/OpLog]]に同期的に複製が作られる。 全ての[[CVM>Terms/CVM]]の[[OpLog>Terms/OpLog]]は、複製作成に参加し、負荷に基づいて動的に選択される。 [[OpLog>Terms/OpLog]]は、極端に高速のI/O性能を、特にランダムI/O[[workload>Terms/workload]]のために提供するために、[[CVM>Terms/CVM]]上のSSDティア(層:tier)に保存される。 シーケンシャルな[[workload>Terms/workload]]に対し、[[OpLog>Terms/OpLog]]はバイパスされ、writeは直接[[Extent Store>Terms/ExtentStore]]へ直接実行される。 もし、データが現在[[OpLog>/Terms/OpLog]]内に存在しており、まだ[[Extent Store>ExtentStore]]へ書出されていない場合、全てのreadは、[[OpLog>Terms/OpLog]]からそれらの処理が[[Extent Store>Terms/ExtentStore]]/[[Content Cache>Terms/ContentCache]]によって処理され得る場所に書出されるまで直接実行される。[[fingerprint>Terms/fingerprint]](指紋採取処理)(即ち、重複排除処理([[dedupe>Terms/dedupe]])のため)が有効にされているコンテナ([[container>Terms/container]])に対して、全てのwrite I/Oは、コンテント キャッシュ内の[[fingerprint>Terms/fingerprint]]に基づき重複排除処理を施されることを許しているハッシュを用いて[[fingerprint>Terms/fingerprint]]処理が行われる。 --&color(black){(1-04-01).[[Extent Store>Terms/ExtentStore]].}; ---主な役割:永続的なデータストレージ ---記述: [[Extent Store>Terms/ExtentStore]]は,[[NDFS>Terms/NDFS]]の永続的な大容量ストレージであり、SSDとHDDに跨っており、またデバイス(device)/ティア(tier)追加を容易にする拡張性がある。 [[Extent Store>Terms/ExtentStore]]に入力されたデータは、A) OpLogから書込まれてきたモノであるか、或いは B) シーケンシャルな性質であるため[[OpLog>Terms/OpLog]]をバイパスして直接書込まれてきたモノであるかのどちらかである。Nutanix [[ILM>Terms/ILM]]は、I/Oパターンに基づいて動的にティア(tier)の配置を決定し、ティア(tier)間のデータの移動を決定する。 --&color(black){(1-04-01).[[Content Cache>Terms/ContentCache]].}; ---主な役割:ダイナミックなリード キャッシュ ---記述:&color(orange){[[Content Cache>Terms/ContentCache]](即ち、弾性重複排除エンジン(Elastic Dedupe Engine))は、[[CVM>Terms/CVM]]のメモリとSSDに跨って存在する重複排除が可能なリード キャッシュである。キャッシュ内に存在してないデータに対するread requestが発生すると(或いは、特定の[[fingerprint]]に基づいて)、データは[[Content Cache>Terms/ContentCache]]のシングル・タッチ プール内に配置される。この[[Content Cache>Terms/ContentCache]]は、キャッシュから排除されるまで[[LRU>Terms/LRU]]を使用するメモリー内に完全に存在している。 それに続くread requestは(実施のデータは全く動かないか、単にmetadataをキャッシュしているだけ)、データをメモリーとSSDにより構成されているマルチ・タッチ プールのメモリ部分に移動する。この時点より2組の[[LRU>Terms/LRU]]サイクルが存在し、一つは新しいLRUカウンターに立退き処理が割付けられておりマルチ・タッチ プール(multitouch pool)のSSDセクションへデータを移動するメモリー内の部分(in-memory piece)である。マルチ・タッチ プール内のデータへのread requestは全て、データがそれが新しいLRUカウンターを与えられるマルチ・タッチ プールの頂上への移動を発生させるであろう。 コンテナー レベルでの[[fingerprint>Terms/fingerprint]]処理(指紋処理)は、UIを経由して構成される。 defaultでは,[[fingerprinting>Terms/fingerprint]]は利用を停止されている。 }; >以下に、[[Content Cache>Terms/ContentCache]]の概要を示す。 ><<Fig-01-04-02>> LEFT:&ref("Nutanixバイブル/NutanixBible_1-04J/CC_Pools.png","ContentCache",100%); --&color(black){(1-04-01).[[Extent Cache>Terms/ExtentCache]].}; ---主な役割:メモリ内のリードキャッシュ(in-memory read cache) ---記述:[[Extent Cache>Terms/ExtentCache]]は、完全に[[CVM>Terms/CVM]]のメモリ内に置かれた in-memory read cacheである。 これは、[[fingerprint>Terms/fingerprint]]処理と重複排除処理機能の利用が停止されているコンテナのために[[fingerprint>Terms/fingerprint]]の付いていない[[Extent>Terms/Extents]]の保存を行う。 V3.5の時点で、これは[[Content Cache>Terms/ContentCache]]から分離されたが、以後のバージョンで統一されるであろう。 &edit(,nolabel);[[Nutanixバイブル]] ----