マイクロソフト製 ファイルサーバー専用 ベンチマークツール 「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」解説】となったに違いないと勝手に思う次第であります。