仮想化でプリセールスしてるSEの一日

VMware から Azure まで、インフラや仮想化の最新情報をベンダー色をできるだけ抑えて綴っていきます

最近のファイルサーバーや NAS の性能 - (1) プロトコルと CPU の進化

f:id:ogawad:20190203195637p:plain:right

(1) プロトコルと CPU の進化
(2) Windows Server 2012


従来、グループ間の共有やバックアップなど Tier2 以降、
つまり "倉庫" 的な使い方が多かったファイルサーバー(NAS)ですが、最近は VDI でプロファイル・リダイレクト先として利用されるなど、Tier1 クラスの性能が要求されるようになりました。

しかしながら、性能要件の増加とともに、テクノロジーも進化しています。


CIFS/SMB プロトコル

進化の1つが、CIFS*1 プロトコル



Windows XP/2003 の時は バージョン 1.0 だった CIFS プロトコルは、
Windows Vista/2008 に搭載されたバージョン 2.0 で「透過的再接続」などの使い勝手が中心に向上されました。

Windows 7Windows 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


図1: @IT より転載


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

  • CPU: Intel Xeon E5620 2.40GHz 1P/4C
  • RAM: 24 GB
  • HDD:
    • 図2 - 左: 7,200rpm SATA × 8 本
    • 図2 - 中: 7,200rpm SATA × 16本
    • 図2 - 右: 15,000rpm SAS × 16本



図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つ残します。

  1. SMB/CIFS 2.1 以上に対応した OS を利用する
    → SMB 2.0 では不十分
  2. メモリをたくさん載せる
    → SMB 2.1 では空きメモリがキャッシュになる
  3. RAID コントローラーのキャッシュもできるだけ載せる
    → HDD の性能限界を大幅にブースト


Linux (samba) やユニファイドストレージの場合は 1 にご注意ください。
調べた限り、CIFS は喋れても v2.1 を喋れるのはごく一部です。
また、投資対効果が非常に良いのが 2 の方法です。
最近はメモリの価格が大幅に下落しているので、安く性能強化できます。類似の手法として こちらの事例 のように、Fusion-IO をファイルサーバーのページファイルに利用し、大容量仮想メモリを作る手もあります。


2013.7.2 追記
ファイルサーバーの性能改善については こちらの記事 もあわせてご参照ください。


次回は、Windows Server 2012 のファイルサーバー性能 について書こうと思います。

*1:Windows では SMB(Server Message Block)と呼ばれる