All Flash クラスタでのOplogの意味は? | Nutanix Community
Skip to main content

有識者の皆様

 

Oplogに関しての質問です。
OplogはWrite Bufferとしての役割と理解しております。
しかしながら、All Flash(すべてのSSDが同サイズ、同耐久、同速度、同インターフェース)の場合、OplogにWriteをしたとしても、性能面・耐久面ではメリットがなく、直接Extent StoreにWriteした方が良いように思います。
すべて同一のSSDで構成されるクラスタの場合、Oplogはどのような役割になりますか?
もしくは、同一SSDのみのクラスタでOplogは意味がない、ということであればキャッシュSSDとキャパシティSSDの2層にした方が効率が良いでしょうか?

As you can see in the screenshot below oplog is used to store bursty random writes. Oplog will create 1MB extends from them which are drained to the extend store. 

 

 


@JeroenTielen 
Thank you for your reply.

Yes, I’ve checked the picture in Nutanix Bible.
My point of question is, why does the Bursty random wirtes go through OpLog, not go directly to Extent Store?

>Oplog will create 1MB extends from them which are drained to the extend store. 
 

Do you mean that Oplog can recieve and handle IO by sub-MB blocks then build 1MB block for Extore Store?


OplogにランダムWriteをバッファする理由は主に耐久性の面からです。

SSDはHDDと違い、ランダムアクセスに秀でていますが、Write特に、上書きを伴うランダムWriteに関してはWrite amplificationを発生させてしまい、ファイルシステム上のIO操作の何倍ものIO操作がデバイス素子に対して発生します。これを防ぐためにOplogを利用しています。

これが発生しないシーケンシャルなWriteについてはOplogを迂回して直接Extent Storeへと書き込みを実施します。


@TetsuoMiyoshi 

ご回答ありがとうございます。

同一のSSDへの書き込みであっても、Extent StoreとOplogではデータの書き込みの仕組みが異なっており、結果としてストレージとしての効率化が図られていると理解しました。