最近のファイルサーバーや NAS の性能 - (1) プロトコルと CPU の進化
(1) プロトコルと CPU の進化
(2) Windows Server 2012
従来、グループ間の共有やバックアップなど Tier2 以降、
つまり "倉庫" 的な使い方が多かったファイルサーバー(NAS)ですが、最近は VDI でプロファイル・リダイレクト先として利用されるなど、Tier1 クラスの性能が要求されるようになりました。
しかしながら、性能要件の増加とともに、テクノロジーも進化しています。
CIFS/SMB プロトコル
Windows XP/2003 の時は バージョン 1.0 だった CIFS プロトコルは、
Windows Vista/2008 に搭載されたバージョン 2.0 で「透過的再接続」などの使い勝手が中心に向上されました。
Windows 7 や Windows Server 2008 R2 で搭載された バージョン 2.1 では性能を中心に強化。SMB 1.0 と 2.1 とでは性能差は 3倍以上 といったデータも。
Microsoft TechNet - SMB の新機能
http://technet.microsoft.com/ja-jp/library/ff625695(v=ws.10).aspx
x86 サーバーの性能向上
もう1つの進化がハードウェアです。
ファイルサーバーはメニーコア CPU の恩恵をリニアには受け取りませんが、それでも昨今の CPU はコア性能が非常に向上しているため、前述の SMB/CIFS 2.1 環境であれば相当なユーザー数を捌くことができます。
図2 は Windows Storage Server 2008 R2 を搭載した NAS、つまり SMB 2.1 サーバーのベンチマーク結果です。負荷ツールには、Microsoft File Server Capacity Tool (FSCT) を利用しています。
Microsoft Download Center - File Server Capacity Tool (64 bit)
http://www.microsoft.com/en-us/download/details.aspx?id=8153
図2: SMB 2.1 サーバーの FSCT 結果(引用元PDF)
図2 の結果から分かるとおり、プロセッサ1個ながら CPU はほとんど消費しておらず、ディスクがボトルネックになっています。そこで、ディスクの本数を増やして、マルウェア対策まで考えてみたのが 図3 です。
17,000 ユーザーで CPU が限界、
2CPU 構成にすることで 22,000 ユーザーを1台で賄えることが分かります。
図3: HDD 112本 + McAfee VirusScan Enterprise, AntiSpyware Enterprise 導入後(引用元PDF)
サーバーはどんどんコンソリされていきますね...(泣
「予想以上に捌ける!?」と思った方もいるかもしれません。
EMC VNX や NetApp FAS、HP Lefthand などの IP ストレージも、蓋を開けてみれば Intel Xeon E5 あたりを載せた x86 サーバーなわけで、それを考えれば納得がいくと思います。
ファイルサーバーの性能を上げる Tips
最後に、ファイルサーバーの性能を上げるポイントを3つ残します。
- SMB/CIFS 2.1 以上に対応した OS を利用する
→ SMB 2.0 では不十分 - メモリをたくさん載せる
→ SMB 2.1 では空きメモリがキャッシュになる - RAID コントローラーのキャッシュもできるだけ載せる
→ HDD の性能限界を大幅にブースト
Linux (samba) やユニファイドストレージの場合は 1 にご注意ください。
調べた限り、CIFS は喋れても v2.1 を喋れるのはごく一部です。
また、投資対効果が非常に良いのが 2 の方法です。
最近はメモリの価格が大幅に下落しているので、安く性能強化できます。類似の手法として こちらの事例 のように、Fusion-IO をファイルサーバーのページファイルに利用し、大容量仮想メモリを作る手もあります。
2013.7.2 追記
ファイルサーバーの性能改善については こちらの記事 もあわせてご参照ください。
次回は、Windows Server 2012 のファイルサーバー性能 について書こうと思います。