こんにちは、ネットワールドのストレージ担当SEの片山です!
SAN環境でのQoS設定は以前からUnityでも対応していましたが、今回は昨年リリースされたUnity OE5.5(Operating Environment)で追加されたNASのQoS(I/O Limit)機能を実際に試してみました。一般的に頻繁に利用する機能かというとやや地味ではありますが、求められる機能でもあります。今回、検証環境には定番の vSphere だけではなく、人気急上昇中の ProxmoxVE でも試してみました!
他にもProxmoxVEについては、Dellストレージと組み合わせでブログ記事がいくつかありますので気になる方はぜひ以下内容もチェックしてください!
【Dell Blog】噂のProxmox VEをPowerStoreに接続してみよう! - ネットワールド らぼ
【Dell Blog】Proxmox VEをUnity NFSで動かしてみた - ネットワールド らぼ
QoSって何?簡単におさらい
QoS(Quality of Service) は、複数のワークロードやユーザーが同時に利用する際に、性能を制御・保証する仕組みで、主にストレージが提供するQoS機能としては、I/Oのアクセス上限を制限することが多く、NASの場合は共有ストレージであればアクセスが集中すると特定のアプリやユーザーが過剰にリソースを消費し、他の処理に影響を与えることがあります。QoSはこうした問題を防ぎ、安定したサービス品質を提供するために重要な機能です。ストレージでいえばQoS機能はI/O制限(I/O Limit)と帯域幅制限とほぼ同じ意味だと考えてください。
検証環境の構築
NAS QoS検証をするにあたり、検証環境を構築するところから始めたいと思います。検証環境は以下のイメージで準備をしていきたいと思います!

まずはUnity側のファイル設定から始めていきます。NASサーバーを1つ作成して、vSphere用のデータストアとして" nfs01 "、ProxmoxVE用のデータストアとして" nfs02 "とファイルシステム・NFS Exportを2つ作成してそれぞれハイパーバイザーにてNFSマウントしNASのQoSが動作するかをUnity、各ハイパーバイザーの管理GUIからパフォーマンスモニターで確認していきたいと思います。
QoS設定自体は“NASサーバー単位”、”ファイルシステム単位” どちらにも適用が可能です。QoSの単位指定はシンプルに“KiBPS”または“MiBPS”の2種類。今回は帯域幅制限を“5MiBPS”に設定していきます。
今回のUnity NAS(NFS)構成:
NASサーバー:[test-nfs]
vSphere用NFS :FS名:”nfs01”、I/O Limit ”5MiBPS”
ProxmoxVE用NFS:FS名:”nfs02”、I/O Limit ”5MiBPS”
NASサーバー作成でQoSを適用する場合は、付随するファイルシステムすべてに適用されます。NASサーバーのQoS設定は制限値を入力するだけで非常にシンプルです!

次にファイルシステムの設定画面はこちらです。NASサーバーで作成したQoS設定もファイルシステム設定時に参照、適用することができ、ここではファイルシステム毎で個別にQoS設定をすることもできます。

これで、Unity側のQoSの設定と確認は終わりましたので、次からvSphere、ProxmoxVEと其々のハイパーバイザーで動作を確認していきます。
vSphereでの検証結果
vSphere側の検証では仮想マシンを停止して、停止した仮想マシンをNFSへデータストアブラウザを使ってUnityのNFS Exportへコピーします。
結果QoS設定の通り、NFS Exportへのスループットは大体"5MiBPS" を維持しており、多少のオーバーヘッドによる変動はありますが、概ね安定しています。

さらに、データコピー中にQoS設定を解除してみると、即座にI/O Limitが解除され、スループットが通常状態に戻ることも確認できました。もし設定ミスがあったとしてもリアルタイムで変更や制御が効くのは非常に便利ですね!

上記の通り、vSphere環境で想定通りにQoSが動作することが確認できました!次はProxmoxVEの環境でも、きちんと動作するのかを確認していきたいと思います!
ProxmoxVEでの検証結果
最初にProxmoxVE環境でUnityのNFS Exportをデータストアとして設定します。ProxmoxVEもNFSのデータストア指定は非常に簡単で、仮想環境に慣れている方ならすぐに操作ができるかと思います。

ProxmoxVE側の検証には約3GBのISOファイルを検証PCよりアップロードして、Unity上のNFS Exportにコピーされる際のパフォーマンスを測定します。ProxmoxVEでは以下の画像内メッセージにも記載の通り、ProxmoxVE内の“/var/tmp”に一度バイナリファイルが展開され、その後NFSへコピーが開始されます。

さて、それではNFS Exportへのデータコピー中のパフォーマンス情報を確認していきます。Unityのパフォーマンス情報からは大体”5MiBPS”付近で安定してコピーが行われています。
次に、ProxmoxVEの管理GUIからもパフォーマンス情報を確認することができます。検証PCからProxmoxVEの”/var/tmp”へのデータコピーがチャートの緑線が受信(Inbound)、チャートの青線が送信(Outbound)でProxmoxVEからNFS Exportへのデータコピーとしてパフォーマンスが確認でき、ProxmoxVE側も”5MiBPS”になっていることを確認できるかと思います!

<まとめ>
さて、いかがでしたでしょうか?
Unity OE 5.5で追加されたNAS QoS機能は非常にシンプルで使いやすい印象です。ファイルサーバーでの利用シーンは限られますが、クラウド基盤やマルチテナント環境では、ファイルシステムごとに制限をかけるなど、用途は広がりそうですね。
今回の検証では、vSphere・ProxmoxVEともに安定動作を確認できました。設定も簡単なため、今後は積極的に活用していこうと思います!
この記事が皆様の参考になれば幸いです。
Networld Techのブログ一覧はこちら!