ファイルサーバー専用ベンチマークツール「FSCT」に挑む!!

マイクロソフト製 ファイルサーバー専用 ベンチマークツール 「File Server Capacity Tool」を試してみたいと思います。色々なベンチマークツールがありますが、あえてファイルサーバー専用とうたっているのには、訳があります。

ファイルサーバーなので、ついついディスクアクセスを測定したくなりますが、ディスク系ベンチツールだと、大きなファイルを一気に書き込んだり、読み出したりを行いますので、ファイルサーバー利用時の動きと大きくかけ離れたものになります。

FSCT では、同時アクセス数分のユーザーアカウントとホームディレクトリを作成し、実際のファイルサーバー利用時と同じような環境にてパフォーマンス測定を実施する事ができます。


それでは、FSCTを見て行きましょう~

【必要なコンポーネント】

サーバー:ファイルサーバー。クラスター構成可。Windows OS以外でも可。同時アクセスするユーザー数分のホームディスクとダミーデータ(81MB/user)を保持する。

クライアント:ファイルサーバーに対して負荷をかけるサーバー。サーバーの4倍のスペックを推奨。複数台設置可能。

コントローラー:同時アクセス数の設定、結果ログの保持。Windows OS必須。

Active Directory:同時アクセス数分のユーザーアカウントが必要となるので、ADがあると大変便利。無くても可能。


全体の流れ

Step1:Azure上での環境構築 ※省略
Step2:FSCTをダウンロード
Step3:Active Directoryの初期設定
Step4:サーバーの初期設定
Step5:コントローラーの初期設定
Step6:クライアントの初期設定
Step7:クライアントの実行
Step8:コントローラーの実行


Step1:Azure上での環境構築

事前に下記環境を作成しておきます。
[サーバー]
ホスト名:FS01
IP:10.0.0.11
共有名:share

[クライアント]
ホスト名:Client01
IP:10.0.0.6

[コントローラー]
ホスト名:Controller01
IP:10.0.0.10

[Active Directory]
ホスト名:AD01
IP:10.0.0.4

Step2:FSCTをダウンロード

先ずは、「FSCT」をダウンロードし、各サーバーに丸ごとコピーして下さい。

Step3:Active Directoryの初期設定

Active Directoryにて下記コマンドを実施 ※PowerShell管理者権限

fsct.exe prepare dc /users 1000 /clients client01 /password Password1
※1000名分のユーザーアカウントが作成される。

Step4:サーバーの初期設定

ファイルサーバーにて下記コマンドを実施 ※PowerShell管理者権限

fsct.exe prepare server /clients client01 /password Password1 /users 1000 /domain tushigami.local /volumes \\fs01\share /workload HomeFolders /disable_format /create_only_fileset
※各ユーザーのホームディレクトリとダミーデータが作成される。1000Userで約10時間

Step5:コントローラーの初期設定

コントローラー用サーバーにて下記コマンドを実施 ※PowerShell管理者権限

fsct.exe prepare controller
※[results]フォルダが作成される。ここに結果ログが作成される。

Step6:クライアントの初期設定

クライアント用サーバーにて下記コマンドを実施 ※PowerShell管理者権限

fsct.exe prepare client /server FS01 /password Password1 /users 1000 /domain tushigami.local /server_ip 10.0.0.11 /workload HomeFolders
※hostsに追記される。
※S2Dの場合、\\サーバー名\共有名 で接続できないので</server>をクラスタ名にする事


※FSCTフォルダ内に[work]フォルダが作成される。

Step7:クライアントの実行

クライアント用サーバーにて下記コマンドを実施 ※PowerShell管理者権限

fsct.exe run client /controller controller01 /server FS01 /password Password1 /custom_shares share /domain tushigami.local /verbose debug
※/server と /custom_sharesを組み合わせたファイルパスでクライアントサーバーからファイルサーバー内の各ユーザーホームディレクトリにアクセスできないと失敗します。

\\</server>u[n]\</custom_shares>\client01u[n] ※[n]=ユーザー通し番号
例:\\FS01u1\share\client01u1

Step8:コントローラーの実行

コントローラー用サーバーにて下記コマンドを実施 ※PowerShell管理者権限

fsct.exe run controller /server FS01 /password Password1 /volumes \\fs01\share /clients client01 /min_users 100 /max_users 1000 /step 100 /duration 600 /workload HomeFolders /verbose debug
※100ユーザーから開始し、100ユーザーずつ増加、最大1000ユーザーまでのテストを行う。


それでは、検証開始~

ファイルサーバー(D1_v2)に1000名でアクセスをしてみました。

検証結果は、コントローラー用サーバーの[results]内に作成されます。

ファイルサーバー(D1_v2)だと、900名~1000名あたりが限界のようです。


世界人口 約74億人が挫折した、「FSCT」について書いてみました。とにかく、情報が少なく、多くの時間を費やしてしまいました。途中、何度もFSCTに、手を出した事を後悔しました。 ※いきなり、S2Dで試そうとしたのが原因でした。。

ダウンロードしたFSCT内に、唯一のマニュアル「FSCTStepbyStepGuide.doc」があるので熟読しましょう。大変参考になりますよ!!

おそらく、今回の記事は【世界一わかりやすい「FSCT」解説】となったに違いないと勝手に思う次第であります。