Windows ファイル サーバーのパフォーマンス チューニング

Windows ファイル サーバーのパフォーマンス チューニング

構築中の新しい Windows ファイル サーバーのパフォーマンスを最適化するためのご意見やヒント/提案をお願いします。私は Dell NF500 ストレージ サーバー (基本的には Windows 2k3 Storage Server OS を搭載した Dell 2950) を継承しました。このサーバーには PERC 6i、256 MB BBU キャッシュ、6 台の 750 GB SATA ドライブ、4 GB システム メモリが搭載されています。RAID6 ボリュームが故障した場合に、長時間の再構築中に 2 台目のドライブが失われる恐れがあるため、RAID6 を使用するつもりです。RAID6 ボリュームは 5 台のドライブを使用し、1 台のドライブをホット スペアとして使用します。はい、私たちは非常に心配性ですが、すべてのサーバーにホット スペアがあるという標準にも従っています。

そうは言っても、パフォーマンスを最適化するための他のヒントや提案について、皆さんの意見を伺いたいです。これは、SMB/CIFS/NFS 経由で Wi​​ndows、Mac、Linux クライアントの両方に対してファイル サーバー (ランダム R/W とファイル サイズは通常小さいですが、大きなものもあります) として機能します。

  • RAID コントローラー側で何か特別な設定がありますか? 現在、ストライプ要素は 256kb (最大 512k、おそらく 1mb まで可能)、適応型先読みポリシー、および BBU によるキャッシュ書き戻しに設定されています。ストライプ要素のサイズを大きくする必要がありますか?

  • パーティション/ファイル システム レベルの調整はありますか? ディスク パーティションの開始位置、ドライブ数、適切なブロック サイズでのファイル システムの構築などについて読んだことを漠然と覚えています。リンクを含む情報を送信していただければ、確認させていただきます。

  • OS レベルの調整は必要ですか? 単一の RAID ボリュームなので、OS とデータ ストアを 1 つのパーティションに配置するか、パーティションを分けたほうがよいでしょうか? VSS も使用する予定ですが、別のパーティションにする必要がありますか? 同じパーティションに配置することもできますか?

  • その他のベストプラクティスはありますか?

よろしくお願いします。私はルーター/スイッチ/FW の担当者なので、これは私にとってはちょっと新しいことです。C.

答え1

ディスクサブシステム: SQL Server 2008 でのパーティション アライメントに関する Microsoft の記事を次に示します。http://msdn.microsoft.com/en-us/library/dd758814.aspx

この記事で説明されている理論が、私がリンクを提供している理由であり、SQL Server を実行する予定だからというわけではありません。ファイル サーバーのワークロードは、SQL Server ほどパーティションの配置に敏感ではありませんが、少しでも役立つことは確かです。

NTFS:

NTFS で最終アクセスタイムスタンプを無効にするには、次の操作を行います。

fsutil behavior set disablelastaccess 1

短いファイル名の作成を無効にするには(それを必要とするアプリがない場合)次のようにします。

fsutil behavior set disable8dot3 1

ボックスに保存するファイルの種類に最適な NTFS クラスター サイズを検討してください。一般的に、クラスター サイズは、サブ クラスター サイズのファイル用に無駄になるスペースとのバランスを取りながら、可能な限り大きくする必要があります。また、クラスター サイズを RAID ストライプ サイズに合わせることも必要です (そして、前述のように、ストライプをクラスターに合わせる必要があります)。

ほとんどの読み取りは連続的であるという理論があるため、ストライプ サイズ (通常は RAID コントローラの最小読み取り) はクラスター サイズの倍数である必要があります。これはサーバーの特定のワークロードによって異なり、確実に知るには測定する必要があります。私は同じ値にしておきます。

多数の小さなファイルがある場合は、将来の MFT の断片化を防ぐために、まず NTFS マスター ファイル テーブル (MFT) の予約領域を大きくしておくことをお勧めします。上記の fsutil コマンドの説明に加えて、このドキュメントでは「MFT ゾーン」の設定についても説明しています。http://technet.microsoft.com/en-us/library/cc785435(WS.10).aspx 基本的には、ボリューム上に存在するファイルの予測数に基づいて、必要と思われる量のディスク領域を MFT 用に予約し、MFT の断片化を防ぐようにします。

NTFS パフォーマンスの最適化に関する Microsoft の一般的なガイドは、こちらから入手できます。http://technet.microsoft.com/en-us/library/cc767961.aspx それは古いドキュメントには、それなりの背景情報が記載されていますが、それでも、それなりの背景情報は得られます。必ずしも、ドキュメントに書かれている「技術的なこと」を試してみる必要はありませんが、そこから概念をつかんでください。

レイアウト:

OS とデータを分離することに関して、人々と激しい議論が交わされるでしょう。この特定のアプリケーションでは、すべてを 1 つのパーティションにまとめるでしょう。誰かがやって来て、私が間違っていると言うでしょう。自分で決めてください。将来 OS パーティションがいっぱいになったときに「作業を行う」論理的な理由は見当たりません。これらは別々の RAID ボリュームではないため、OS とデータをパーティションに分離してもパフォーマンス上の利点はありません。(これらが別のスピンドルであれば話は別ですが...)

シャドウコピー:

シャドウ コピー スナップショットは、同じボリュームまたは別のボリュームに保存できます。シャドウ コピーに関連するパフォーマンスの問題については、あまり詳しくないので、おかしなことを言う前にここで止めておきます。

答え2

WSSはすでにデフォルトで提案された多くの機能を実行しています。Windows ストレージ サーバー ブログ

「ファイル サーバーのパフォーマンスの最適化 Windows Server 2003 には、ファイル システムのエイリアスを削除したり、8.3 形式の名前の作成をオフにしたり、TCP ACK の頻度を設定してネットワーク フレームのサイズと速度をより有効に活用するなど、ネットワーク トラフィックと NAS 操作を高速化する設定がいくつかあります。詳細については、パフォーマンス チューニングのホワイト ペーパーを参照してください。OEM は、NIC カードの割り込み アフィニティを設定し、RAID アレイの設定時に適切なディスク アライメントが考慮されるようにすることで、パフォーマンスを向上させることもできます。これら 2 つのトピックの詳細については、以下を参照してください。」

ディスク アライメントは工場で実行されている必要があることに注意してください。

答え3

RAID 6 は、このセットアップの他の RAID オプションと比較して読み取り IO をかなり低下させ、書き込み IO に関しては非常に厳しいものになります。すべてのスペースが絶対に必要でない限り、RAID 10 を検討することをお勧めします。システム上の RAID 6 と比較して 750 GB が失われますが、パフォーマンスの違いにより、他のすべてのパフォーマンス調整は無意味になります。パーティションの配置、ファイル システムのブロック サイズへのストライプ サイズの一致、Evan が提案する最終アクセス時間などの変更は、スループットを合計で 30% 以上向上させる優れた提案です。RAID 10 は、読み取りと書き込みの面で全体的に少なくとも 100% 高速になり、再構築時間は RAID 5 または 6 の数分の 1 になります。

RAID 10 - 4 台のドライブと 2 台のホット スペア。有効容量 1500 GB。これに対する持続ランダム読み取りは、基本ドライブの IOPS の約 4 倍になります。持続ランダム書き込みは、基本ドライブ ユニットの書き込み IOPS の (最大) 2 倍になります。再構築時間 - アイドル状態のシステムでは 4 ~ 6 時間、平均負荷状態ではその 2 倍になる場合があります。

RAID 5 - 5 台のドライブと 1 台のホット スペア。有効容量 3000 GB。持続ランダム読み取りは、基本ドライブの IOPS の約 4 倍になります。持続ランダム書き込みは、1 台の基本ドライブの書き込み IOPS の約 1 倍になります (書き込み IO ごとに 2 回の読み取りと 2 回の書き込みが必要であると想定)。再構築時間 - アイドル時は 1 日以上、通常の負荷時は数日。

RAID 6 - 5 台のドライブと 1 台のホット スペア。有効容量 2250 GB。持続ランダム読み取りは基本ドライブの約 3 倍になります。持続ランダム書き込みは、1 台の基本ドライブの書き込み IOPS の約 66% になります (書き込み IO ごとに 3 回の読み取りと 3 回の書き込みが必要です)。再構築時間 - システムが比較的アイドル状態のときは数日、通常の負荷では 1 週間かかります。

もちろん、結果は状況によって異なります。持続的なランダム IO がそれほど多くない場合、そのほとんどはキャッシュによって隠されますが、RAID 6 による持続的なパフォーマンスの低下は、アレイ内のドライブ数が比較的少ない場合に特に顕著になります。

答え4

エヴァンとヘルヴィックの意見は正しいので、私は追加のリソースを追加します。Windows Server 2003 のパフォーマンス チューニング ガイドラインこのドキュメントでは、多くの考慮事項と内部の調整について説明していますが、Jim が述べているように、Storage Server はファイル共有のワークロードを最適化するために事前に調整されています。

関連情報