Tips-10

重複排除データベースを配置したディスクのIOPSのテスト方法 (Windows版)

今回はCommvaultのMediaAgentが使用する重要なコンポーネントである重複排除データベース (以降、DDBと記述します) を配置するディスクのIOPSをテストする方法をご紹介します。

重複排除データベースはCommvaultで重複排除を有効にしたバックアップを実施する際に使用されるデータベースで、バックアップ対象のデータが既に一度バックアップされたかどうかを判別するためのシグネチャを保持しています。
この重複排除データベースを配置するディスクには満たすべきハードウェア要件が存在し、この要件はMediaAgentがバックアップ対象とするデータ量等の条件に応じて決まります。
(このハードウェア要件の詳細については、 こちらを参照してください)

この要件を満たしていない場合はバックアップやDASH Copyのパフォーマンスに問題が出る可能性があります。
今回はCommvault v11 Service Pack 12のオンライン マニュアル ”Testing IOPS of Deduplication Database Disk on Windows”に沿ってDDBを配置したディスクのIOPSを確認する手順をご紹介します。

はじめに 【注意事項】

このテストは特にバックアップやDASH Copyのパフォーマンスに問題のない環境であえて実施する必要はありません。
また今後Commvaultの環境を準備する方は事前に こちらを参照の上、要件に合ったハードウェアを準備するようにお願いいたします。

このテストでは Iometer と呼ばれるツールを使用してディスクのIOPSを測定します。
Iometerを使用してRAWディスクに対してテストを実行しますので既に存在するDDBを配置しているボリューム上のデータは別の場所にコピーした上でボリュームを削除してテストを行うことになります。
そのため事前にMediaAgentのサービスを停止してIometerを実行しますが、その前にMediaAgent上で実施されているすべてのバックアップを停止する、もしくはジョブが完了するまでお待ちいただく必要があります。

その上でこのページの内容に加えオンライン マニュアル ”Testing IOPS of Deduplication Database Disk on Windows”を確認しながら行う必要がありますことをご理解ください。

またGPTディスクを使用している場合はこのテストを行う前にGPTディスクをMBRディスクに変換してください。

Iometerを使用したIOPSのテスト実行手順

それではここから実際にIOPSをテストする方法をご紹介します。
ここではWindows Server 2016上に導入したMediaAgentを使用した例でご紹介します。

まず対象のMediaAgentサーバーへログインしMediaAgentのサービスを停止します。
MediaAgentで「Commvault Process Manager」を起動し「サービス」タブを選択します。

「All Services」上で右クリックし [終了] を選択します。

そうすると全てのサービスの停止処理が開始されます。
サービス名の左に表示されているアイコンの全てが赤い四角になればすべてのサービスが停止された状態であることがわかります。

次にMediaAgent上でSIDBという文字を含むプロセスが存在しないことをタスクマネージャーで確認します。
Windowsでタスクマネージャーを起動し「プロセス」タブを選択してSIDBという文字を含むプロセスが存在しないことを確認します。

次にDDBフォルダの全ての内容をファイルやフォルダのパーミッションも含めて別の場所にコピーしておきます。
筆者の環境では、”F:DDB_DASH”にDDBがありますが、これを別の場所にコピーします。
具体的な手順は省略しますがパーミッションを含めてコピーする方法には xcopyコマンドやそのオプションを活用する方法等があります。

次にDDBが配置されていたボリュームを削除します。
筆者の環境では”F:DDB_DASH”にDDBがありましたので、ドライブレターがFのボリュームを削除します。
Windowsの「ディスクの管理」で対象のボリュームを右クリックし [ボリュームの削除] を選択します。

ボリュームを削除するとボリューム上のデータがすべて削除される旨のメッセージが表示されます。
ここから先に進めるとデータが消去されますので DDBフォルダの全ての内容をコピーしたことを確認の上 [はい] をクリックします。

これでディスク上のボリュームが削除されましたので IometerでディスクのIOPSを測定する準備が整いました。

次にMediaAgentのインストール ディレクトリ内にあるBaseフォルダ (デフォルトのインストールパスであば、
”C:Program FilesCommvaultContentStoreBase“) 内の Iometerを右クリックし [管理者として実行] を選択します。

表示される内容を確認し [I Agree] をクリックします。

そうすると Iometerのウィンドウが表示されます。

ウィンドウ左側の「Topology」ペインで、[All Managers] > [MediaAgentのコンピュータ名]と展開します。
そうするとワーカースレッド (下図のWorker 1~Worker 6) が表示されます。
表示されたワーカースレッドですが、1つを除き全て削除します。
削除するには、削除したいワーカースレッドを選択し [Disconnect Selected Worker or Manager] アイコン (赤丸) をクリックします。この操作を繰り返しワーカースレッドを1つにします。

ワーカースレッドを1つにした後、右側の [Disk Targets] タブ内からIOPSをテストしたいディスクを選択します。
筆者の環境では「ディスク 2」がテスト対象なのですが、Iometer上の「PHYSICALDRIVE:2」がこれに該当しますので、これを選択します。そして「Maximum Disk Size」と「Starting Disk Sector」がともに0であることを確認します。

次に [Access Specifications] タブを選択し [Global Access Specifications] の枠の中にある [Default] をダブルクリックします。

ダブルクリックすると以下のように「Edit Access Specification」のウィンドウが表示されます。

この「Edit Access Specification」のウィンドウを以下のように設定変更します。
・「Transfer Request Size」を 4 Kilobytesにします。
・「Percent Read/Write Distribution」を 50% Write、50% Readにします。
・「Percent Random/Sequential Distribution」を 100% Randomにします。
これらの設定が終了後、右下の[OK]をクリックします。

[OK]のクリック後は [Access Specifications] タブに戻ります。

ここで [Default] を選択している状態で中央の [<< Add] をクリックし [Default] が [Assigned Access Specifications] の枠内に入ったことを確認します。

次にウィンドウ左側の「Topology」の枠内で1つにしたワーカースレッド (Worker 1) を選択して [Start a Duplicate of This Worker on This Manager] アイコン (赤丸) をクリックします。

アイコンをクリックすることでワーカースレッドが同じ設定で複製され数が増えます。
繰り返しクリックし下図のようにワーカースレッドを8つにします。

その後 [Results Display] タブで [Update Frequency] のスライダを動かして5に設定します。

次に [Test Setup] のタブをクリックし「Run Time」の枠内の「Minutes」の値を30にします。

これで準備ができましたので、いよいよIOPSのテストを行います。
Iometerウィンドウの上部のツールバーの [Start Tests] アイコン (赤丸) をクリックします。

そうすると「Save Results」のウィンドウが開きますので、任意の保存場所を選択して[保存]をクリックします。
ここで保存したファイルにテストの結果が保存されます。

その後 [Results Display]タブ上に結果が表示されます。
テスト継続中は [Update Frequency] のスライダで指定した数値の秒数ごとに表示が更新されます。

ここでは [Test Setup] のタブで「Run Time」の枠内の「Minutes」の値を30にしましたので特に問題が起こらなければ30分間テストが実施されます。
30分間お待ちいただくか、あるいは [Results Display] 上の「Total I/O per Second」の値が安定してくれば Iometerウィンドウの上部のツールバーの [Stop Current Test and Save Results] のアイコンをクリックしてテストを終了することもできます。

テスト結果は保存先として指定した場所に results.csv という名前 (デフォルト名) で保存されます。
Excel等でこのファイルを開いて結果を確認できます。

筆者の環境ではIOPSが約43という結果でした。
こちらのMediaAgentのハードウェア要件の「Suggested IOPS for DDB Disk」の値と比べると「Extra Small」のMedia Agentの要件にも遠く及ばない値であることが確認できます。

筆者の環境はリソースが非常に乏しい仮想環境なのでこのような残念な結果となりました。
このような環境ではMediaAgentを使用したバックアップやDASH Copyのパフォーマンスが出ない可能性が高くなりますので、読者の皆様はこのような構成としないよう事前にハードウェア要件を確認の上、機材を調達いただければと思います。

これでIOPSのテストは終了ですが、元の状態に戻す手順を最後に簡単にではありますが、ご紹介いたします。

IOPSテスト終了後の元の状態への復旧手順

Iometerのウィンドウを閉じた後、Windowsの [ディスクの管理] 等でボリュームを同じドライブレターを割り当てて再作成します。

その後、ボリュームの削除前と同じフォルダ構成とし、そこに別の場所にコピーしておいたDDBの内容を戻します。
コピーした時と同様にxcopyコマンドやそのオプションを活用して戻します。

その後、MediaAgent上の全てのサービスを起動します。
MediaAgentで「Commvault Process Manager」を起動し「サービス」タブを選択し [All Services] を右クリックして[開始] をクリックします。

サービス名の左側のアイコンが全て緑色の三角になれはサービスの起動は完了です。

Commvault構築後はこういったIOPSのテストを実行しなくても済むように事前にハードウェア要件を確認し機材を準備することが重要です。特にMediaAgentはディスクの要件が重要になりますので必ず事前に確認するようにしていただければと思います。

※手順および画面ショットは、Commvault v11 Service Pack 12の環境で確認したものです。


【参考資料】
・用語集
・Hardware Specifications for Deduplication Mode
・Testing IOPS of Deduplication Database Disk on Windows

Posted on 2018.12