NutaNice Xperience

主にNutanix製品を検証したり触ったりした結果をつづっています。※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。実際に製品を使用される場合は、メーカードキュメントの手順に従い実施してください。

Nutanix Filesのサイジング -SSD要件について-

Nutanix Filesは、主に部門の共有フォルダやVDIの移動ユーザープロファイル、またはハイパフォーマンスのアプリケーション共有といった用途が想定されています。

ワークロードによって、例えばユーザーの同時接続数や一定期間内に必要なIOPSなどに違いが出るため、CVMやFSVMのリソース、また物理ディスクをどのように割り当てるかを考える必要があります。

今回は、Nutanix Filesにおける、SSDのサイズについて考えてみます。

Nutanix FilesにおけるSSDの考え方

NutanixのAOSでは、ホットデータ(ワーキングセットやアクティブなデータとも呼ばれる)はパフォーマンスの高いメモリやSSD層で処理されるように機能します。

そのため、Nutanix Filesにおいては、ファイルサーバーとして作成するストレージ容量の何%をホットデータとしてSSD層へ割り当てるかを考える必要があります。

Nutanix Filesでは、このホットデータは以下の3つのワークロードタイプに分けてサイジングすることができます。こちらは、Nutanixのサイジングツールである「Nutanix Sizer」のアルゴリズムでも採用されているものです。

  • 汎用的なファイル共有
  • ハイパフォーマンスなアプリケーション共有(シーケンシャル)
  • ハイパフォーマンスなアプリケーション共有(ランダム)

それぞれのワークロードを実際のサイジング画面を見ながら確認してみます。 

汎用的なファイル共有

こちらはいわゆる部門の共有フォルダやVDIのユーザープロファイルの保管先といったワークロードを想定しているものです。Nutanixでは「汎用的なファイル共有」の場合は、ファイルサーバーのストレージ容量の2~5%をホットデータとしてSSDへ割り当てる事を推奨しています。そのため、ディスクの物理構成もSSD+HDDのハイブリッド構成で基本的には対応できます。

実際にNutanix Sizerでサイジングしてみると、デフォルトでストレージ容量の5%がホットデータとしてSSDへ割り当てられていることが分かります。

f:id:tomomartin:20210823001149p:plain

 これは、Nutanix Files専用のクラスター(Dedicated)でサイジングシナリオを作成した場合でも同様に計算されます。アクティブなデータ量をどの程度見積もるかは要件によって変わってくるかもしれませんが、目安として5%程度を見積もっておけば大抵の汎用的なファイル共有には対応できるようです。

ハイパフォーマンスなアプリケーション共有(シーケンシャル)

こちらは、大量の映像データを蓄積し配信するビデオサーバーや、大きなバックアップ、ログファイルなどを保存するためにシーケンシャルアクセスを基本とするワークロードを想定しているものです。

シーケンシャルアクセスを基本とするワークロードの場合は、Nutanixではホットデータは読み書きスループットや1日あたりのデータチャーンで計算されます。

例えば、スループットで計算する場合は以下のようになります。

ホットデータの割合=(読み書きされたデータをSSDへホットデータとして保持する時間/Sec) × (読み書きスループットの合計/MBps) × 9.09495e-7 ÷ 合計のストレージ容量(TiB)

 9.09495e-7は、合計ストレージ容量をTiBで計算するため、MB→TiBへ変換するために使用されます。

例えば例として以下のような要件で計算してみます。

この場合の計算式は以下のようになります。

ホットデータの割合 = (6時間 × 3,600秒) × (2,000+500) × 0.000000909495 ÷ 300 = 49.11 ÷ 300 =約16.4(%)

 つまり、合計ストレージ容量である300TiBのうち、16.4%はホットデータとして処理されているものと考えることができます。

実際にNutanix Sizerで同様の要件でサイジングしてみると、デフォルトでストレージ容量の17%がホットデータとしてSSDへ割り当てられていることが分かります。

f:id:tomomartin:20210823022801p:plain



ハイパフォーマンスなアプリケーション共有(ランダム)

こちらは、EDA(電子設計自動化)やソフトウェアコンパイル、FSLosixといったランダムアクセスを基本とするワークロードを想定しているものです。

ランダムアクセスを基本とするワークロードの場合は、Nutaniではホットデータは読み書きIOPSや1日あたりのデータチャーンで計算されます。

例えば、IOPSで計算する場合は以下のようになります。

 ホットデータの割合=(読み書きされたデータをSSDへホットデータとして保持する時間/Sec) × (読み書きIOPSの合計) × I/Oサイズ(0.032MB) × 9.09495e-7 ÷ 合計のストレージ容量(TiB)

 I/Oのサイズは目安として32KBで計算されています。

例えば例として以下のような要件で計算してみます。

  • SSDがホットデータとして保持する時間=6時間
  • 書き込みIOPS=30,000
  • 読み込みIOPS=70,000
  • 合計のストレージサイズ=300TiB

この場合の計算式は以下のようになります。

 ホットデータの割合 = (6時間 × 3,600秒) × (30,000+70,000) × 0.032 × 0.000000909495 ÷ 300 = 約21(%)

 つまり、合計ストレージ容量である300TiBのうち、21%はホットデータとして処理されているものと考えることができます。

実際にNutanix Sizerで同様の要件でサイジングしてみると、デフォルトでストレージ容量の21%がホットデータとしてSSDへ割り当てられていることが分かります。

f:id:tomomartin:20210823022606p:plain

 今回は、Nutaix FilesにおけるSSDの要件について、Nutanixのドキュメントをもとに確認してみました。Nutanix Filesの導入を検討されている人は参考にしてみてください。

実際にサイジングする場合は、Nutanixのドキュメントを確認されることをおすすめします。

[Nutanix Files Sizing Guide]
https://portal.nutanix.com/page/documents/solutions/details?targetId=TN-2066-Nutanix-Files-Sizing-Guide:TN-2066-Nutanix-Files-Sizing-Guide