第9回 重複排除データベースを配置したディスクのIOPSのテスト方法 (Windows版)
第9回となる今回は、「重複排除データベースを配置したディスクの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を確認する手順をご紹介します。
(1) はじめに 【注意事項】
※このテストは、特にバックアップやDASH Copyのパフォーマンスに問題のない環境であえて実施する必要はありません。また、今後Commvaultの環境を準備する方は、事前にこちらをご参照の上、要件に合ったハードウェアを準備するようにお願いいたします。
このテストでは、Iometerと呼ばれるツールを使用してディスクのIOPSを測定します。
Iometerを使用してRAWディスクに対してテストを実行しますので、既に存在するDDBを配置しているボリューム上のデータは別の場所にコピーした上でボリュームを削除してテストを行うことになります。そのため、事前にMediaAgentのサービスを停止してIometerを実行しますが、その前に、MediaAgent上で実施されているすべてのバックアップを停止する、もしくは、ジョブが完了するまでお待ちいただく必要があります。
その上で、このブログの内容に加え、オンライン マニュアル”Testing IOPS of Deduplication Database Disk on Windows”を確認しながら行う必要がありますことをご理解ください。
また、GPTディスクを使用している場合、このテストを行う前に、GPTディスクをMBRディスクに変換してください。
(2) 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 Files\Commvault\ContentStore\Base“) 内の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のテストは終了ですが、元の状態に戻す手順を最後に簡単にではありますが、ご紹介いたします。
(3) IOPSテスト終了後、元の状態への復旧手順
Iometerのウィンドウを閉じた後、Windowsの[ディスクの管理]等で、ボリュームを同じドライブレターを割り当てて再作成します。
その後、ボリュームの削除前と同じフォルダ構成とし、そこに、別の場所にコピーしておいたDDBの内容を戻します。コピーした時と同様にxcopyコマンドやそのオプションを活用して戻します。
その後、MediaAgent上の全てのサービスを起動します。MediaAgentで「Commvault Process Manager」を起動し、「サービス」タブを選択し、[All Services]を右クリックして[開始] をクリックします。
サービス名の左側のアイコンが全て緑色の三角になれはサービスの起動は完了です。
今回はCommvaultというよりはむしろIometerの使い方に近い内容となりました。繰り返しとなりますが、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