« Arcserve OneXafe クラスタがノード障害時にサービスを継続する仕組み(1) | トップページ | Arcserve UDP Linux版のWebinarを紹介します。 »

2023年10月27日 (金)

Arcserve Backup チューンナップ/設定 シリーズ: テープバックアップのパフォーマンス向上

最近お客様から質問をいただくケースが増えたので、Arcserve Backup のチューンナップや設定について、不定期になりますが、何回かのブログに分けて紹介していこうと思います。最初はバックアップ速度に関するチューンナップで、LTO テープ装置のブロックサイズになります。

Arcserve Backup は利用するデバイスごとにブロックサイズを自動で設定致します。このブロックサイズは基本的にユーザ様側で変更できないのですが、テープ装置に関しては、手動で変更することができます。

LTO テープ装置の場合、デフォルトのブロックサイズは 64 KB で設定されます。しかし、LTO4 以降のテープの場合、デフォルトの 64 KB ではテープ装置の持つパフォーマンスに追いつくことができず、バックアップ速度が思ったよりも出ないという結果になります。

そこでブロックサイズを大きくすることで、書き込みの回数を抑えてパフォーマンスアップを図るのですが、一概に一番大きくすれば良いというものではなく、利用の環境やテープ装置によって、ブロックサイズの最適値が変わってきます。

 

ファイルサイズによる書き込み回数と実サイズとのギャップ

ファイルサイズで考えてみますと、極端に小さなファイルが多い環境では、ブロックサイズを大きくとりすぎると実際のファイルサイズとテープ利用量のギャップが多くなり、バックアップサイズが大きくなります。

Arcserve Backup でサポートするブロックサイズ (64KB/128KB/256KB/512KB) で、300KB (図1)、3.3MB (図2), 10.3MB (図3) のファイルをバックアップする例で見てみますと、サイズの小さい 300KB のファイルを 256KB 以上のブロックサイズでバックアップすると、約1.7倍の容量を使用してしまいます。実際には圧縮がかかるため、もう少し小さくはなりますが、小さなファイルが極端に多い環境では、ブロックサイズを大きくしすぎてもパフォーマンス改善にならないケースが出てきます。

1_20231026000401

逆に数 MB 以上のファイルが多い環境では、ブロック数を大きくとっても、実サイズとのギャップはそこまで大きくは感じなくなります。このような環境では、ブロックサイズを 256KB や 512KB に変更することで、書き込みの回数を大幅に減らすことができるため、パフォーマンスの向上につながります。

2_20231026000501
3_20231026000601

 

ブロックサイズによるバックアップ速度の違い

(図4) は、Arcserve Backup で 128KB/256KB/512KB のブロックサイズをサポートした Arcserve Backup r16 の時に、仮想マシンのバックアップで比較したデータになります。 このデータは、デフォルトのフロックサイズである 64KB と、256KB に変更した場合と、512KB  に変更した場合の比較になり、バックアップ手法は、raw モード (仮想マシン全体のイメージバックアップ) と、Client Agent 経由 (仮想マシンに Client Agent を導入し、物理環境と同じ方法でバックアップ) の 2種類で試しています。

2_20231026000701

デフォルトの 64KB でかかった時間をそれぞれ 100% としています。ブロックサイズを変更していくと、raw モードでは、速度がほぼ倍になりました。Client Agent 経由の場合は、様々サイズのファイルが存在するため、raw モードほどの速度は出ていませんが、それでも 64KB と比較すると、約 1.3 倍から 1.5 倍に速度が向上しています。このデータでは、同じ仮想マシンを raw モードと Client Agent 経由の 2種類でバックアップしていますが、大きなファイルサイズとなる raw モードであっても、デフォルトの 64KB では Client Agent 経由とそこまで速度の差が出ていません。しかし、ブロックサイズを変更することで、raw モードのバックアップが Client Agent と比較して およそ 1.5 倍程のスピードになっていることもわかります。

では何故ブロックサイズを大きくすると速度が速くなるのか、それはテープ装置がデータをテープに書き込む前にある作業を行っているためです。テープにブロックデータを書き込むには、まず書き込み可能なスピードでテープが回っていないと書けません。テープはバックアップの間、常に回っているわけではなく、ブロックデータが届くとテープを回しはじめ、書き込みができるスピードで回し、さらに前に書いたデータの後にくるように位置合わせを行ってからブロックデータを書きます。このため、ブロックデータが途切れ途切れで届くと、その度にテープを回して速度調整と位置合わせ作業が発生します。

ブロックサイズを大きくすると、速度調整や位置合わせといった作業の回数を減らすことができます。大きなサイズを持つファイルが多い環境では、ブロックサイズを変更することで、速度向上に繋がる可能性をかなり秘めていますが、下記機能のバックアップでは、デフォルトの 64KB のブロックサイズのみのサポートになりますので、ご留意ください。

・Image Option 機能を使ったバックアップ
・NDMP プロトコルを使った NDMP NAS Option のバックアップ
・Tape RAID 機能を使ったバックアップ

なお、ブロックサイズに関しては、推奨値を出しているテープ装置のベンダーもありますので、メーカー側サイトも参照いただくと良いと思います。

 

ブロックサイズの変更方法

さて、Arcserve Backup でブロックサイズを変更するには、レジストリ変更と利用するテープメディアのフォーマットが必要になります。

まずレジストリの変更ですが、デバイス番号で設定するため、ご利用のテープ装置の番号を調べる必要があります。これは Arcserve Backup のデバイスマネージャで確認できます。デバイスマネージャの画面で左側のツリーでご利用のテープ装置、もしくはテープドライブを選択し、右下のペインのサマリ (図5) に表示されるデバイス番号を確認します。


__20231026003701
(図5) デバイス (ドライブ) のサマリ

次にレジストリ エディタで下記キーまで展開します。(図6)
HKEY_LOCAL_MACHINE¥SOFTWARE¥Wow6432Node¥ComputerAssociates¥CA ARCServe Backup¥Base¥TapeEngine


_regedit
(図6) TapeEngine のレジストリ

デバイスマネージャのサマリで確認したデバイス番号のキー (ここでは DEVICE2) をクリックします。新規作成で DWORD (32ビット) 値を選択し、ForceBlockSize の値を作ります。値のデータにブロックサイズに合わせた数値を入れます。
・128 KB: 0x80
・256 KB: 0x100
・512 KB: 0x200


Regedit2
(図7) ブロックサイズ指定 (256KB の場合)

変更後に Arcserve Backup のテープエンジンサービスの再起動を行います。なお、マルチドライブ搭載のライブラリ装置の場合は、すべてのドライブで同じブロックサイズを指定する必要があります。すべてのドライブのブロックサイズを変更してから、テープエンジンサービスの再起動を行ってください。

 

バックアップ パフォーマンスの確認

テープエンジンサービスの再起動が終わったら、メディアのフォーマットを行い、バックアップを実施し、パフォーマンスを確認します。パフォーマンスが不十分な場合は、他のブロックサイズを試し、最適なブロックサイズを模索します。

ブロックサイズの変更はメディアをフォーマットしないと有効にならないため、デフォルトのブロック数である 64KB でフォーマットされているメディアの場合は、スケジュールによる上書きか、手動でフォーマットを実施した後に、変更したブロックサイズが有効になります。

なお、レジストリでブロックサイズを変更した場合でも、他のサイズでフォーマットしたメディアの読み込みはできます。

LTO テープ装置でのブロックサイズの変更はこちらで終了となります。チューンナップや設定は今後いくつか公開していきますので、楽しみにしていてください。

 

« Arcserve OneXafe クラスタがノード障害時にサービスを継続する仕組み(1) | トップページ | Arcserve UDP Linux版のWebinarを紹介します。 »

技術情報」カテゴリの記事

よく聞かれる質問」カテゴリの記事

メルマガコラム」カテゴリの記事

Arcserve Backup」カテゴリの記事

チューンナップ・設定」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« Arcserve OneXafe クラスタがノード障害時にサービスを継続する仕組み(1) | トップページ | Arcserve UDP Linux版のWebinarを紹介します。 »