2012年3月16日金曜日

バックアップシステムの計画立案


サーバの使用状況やバックアップ要件を確認する

バックアップ環境の構築は、現在のシステム環境やバックアップ要件を入念に調査することから始まります。まず、バックアップを実施するサーバに対して、そのサーバの使用状況や物理的なロケーションを入念に確認します。主な調査事項には、以下のようなものが挙げられます。
  • サーバで動作中のOS名
  • 全ディスク容量と使用済みデータ量
  • データ量の今後の予想成長率
  • アプリケーションの稼働時間
  • データベースアプリケーションの製品名(データベース使用時)
  • 過去のどの時点まで復旧できる必要があるか?
  • 何時間で復旧できる必要があるか?

バックアップウィンドウを算出する

サーバの使用状況やバックアップ要件を収集したら、次にバックアップウィンドウを算出します。バックアップウィンドウとは、データバックアップのために使用できる時間のことです。まず、何時から何時までをバックアップ作業のために割けるかを確認します。例えば、社内アプリケーションの基本的な稼働時間が、月~土曜日には午前8時~午後10時、日曜日は不稼働とします。このとき、バックアップウィンドウは、月~土曜日が午後10時から午前8時まで、日曜日が24時間すべてとなります。
ただし、従業員の早朝出社や残業、休日出勤なども想定しなければなりません。つまり、実質的な稼働時間はより長く、バックアップウィンドウもより短く設定する必要があります。ここではひとつの例として、月~土曜日のバックアップウィンドウを午前3時から午前5時までの2時間、日曜日のバックアップウィンドウを午前0時から午前7時までの7時間と設定してみます。
*1
カタログスペックの性能値です。お客様ごとのシステム構成により性能は異なります。
画像 バックアップウィンドウの例
図1.バックアップウィンドウの例

さまざまなバックアップの形態(フル/差分/増分)

バックアップウィンドウを算出したら、次にそのバックウィンドウ内でのバックアップ運用を決めます。限られたバックアップウィンドウの中で効率よくバックアップ作業を実施できるように、いくつかのバックアップ形態を併用するのが一般的です。通常は、フルバックアップを基本としながら、差分バックアップ(ディファレンシャル・バックアップ)と増分バックアップ(インクリメンタル・バックアップ)を上手に併用します。

フルバックアップ

対象となるデータ(ファイルやディレクトリ)をすべて取得するバックアップのことです。バックアップデータ自体が完全なデータを保持していることから、データの保護強度は最も高くなります。ただし、データ全体がバックアップ対象となるため、バックアップには時間がかかります。通常は、十分なバックアップウィンドウを確保できる日に採用され、今回の例では日曜日のバックアップに適していることが分かります。

差分バックアップ

フルバックアップに対しての変更分を保存していく方式です。日を追うごとにバックアップの時間が長くなる傾向にありますが、フルバックアップからの変更分を直接保持していることから、フルバックアップと最新の差分バックアップのデータさえ用意すれば、データを最新の状態まで復元できます。このため、リストア時間を積極的に短縮したいときに適しています。

増分バックアップ

前回のバックアップ時に対しての変更分を保存していく方式です。このため、日々のバックアップ時間をできる限り短縮したいときに適しています。ただし、リストアの手順が差分バックアップよりも複雑になります。例えば、フルバックアップの翌日より5 日間の増分バックアップを行った場合、最新のデータに復元するにはフルバックアップのデータに加え、増分バックアップのデータを5日分すべて適用しなければなりません。今回の例では、月~土曜日に2時間しかバックアップウィンドウを確保できないので、バックアップ時間の短縮を優先して増分バックアップを採用することにします。
画像 差分バックアップと増分バックアップ
図2.差分バックアップと増分バックアップ

テープオートメーションの選定

バックアップウィンドウとそれに適したバックアップ形態が決まったら、これらの条件に適合するテープオートメーションを選定します。ここでは、バックアップスケジュールとバックアップする総データ量から、テープオートメーションに搭載するドライブの台数や使用するテープカートリッジの巻数などを決定します。

Step1:フルバックアップの世代数を設定する

まず、フルバックアップの世代数を設定します。これは、どれくらい古い状態までデータをリストアできるようにするかを決めるものです。最新のデータさえリストアできればよい場合には、バックアップデータにエラーが発生したケースを考慮して最低2世代のバックアップをとれば安全といえます。そして、月曜日から土曜日までの合計6世代の増分バックアップを組み合わせます。
それ以外のケースでは、どの時点までデータを復旧しなければならないかによって世代数が決まります。例えば、月次の処理が発生し、その更新前のデータに戻れる必要がある場合には、最低1ヶ月分のバックアップを保存しなければなりません。つまり、毎週フルバックアップを行うのであれば、4~5世代のフルバックアップを採用すればよいわけです。ここでは、2世代のフルバックアップをとる例について取り上げます。

Step2:最低ラインのデータ転送速度を算出する

次に、バックアップウィンドウ内でバックアップを完了させるためのデータ転送速度を算出します。例えば、全サーバの合計データ量が7000GB(約7TB)あり、毎日の更新率が平均して10%(更新量700GB)だったとします。このケースでは、以下の計算から日曜日のフルバックアップには277.8 MB/sec以上、月~土曜日までの増分バックアップには97.2 MB/sec以上のデータ転送速度が必要であることが分かります。
フルバックアップ時のデータ転送速度
7000GB × 1000 ÷ 7時間 ÷ 60分 ÷ 60秒 = 277.8 MB/sec
増分バックアップ時のデータ転送速度
700GB × 1000 ÷ 2時間 ÷ 60分 ÷ 60秒 = 97.2 MB/sec
  • * M、G、Tなどの単位には1000換算を採用
画像 バックアップ世代
図3.バックアップ世代

Step3:テープオートメーションに搭載するテープドライブの台数を算出する

その1で算出された最低ラインのデータ転送速度から、テープオートメーションに搭載されるテープドライブの台数を計算します。基本的には、ドライブ1台のデータ転送能力×台数がバックアップに課せられるデータ転送速度の最低ラインを上回る形となるようにします。ここでは、非圧縮時の記憶容量が800GB、データ転送速度が120MB/sec(*1)のLTO Ultrium4を採用した場合の例を取り上げます。
フルバックアップ時の277.8MB/secを確保するには、3台のテープドライブ(120MB/sec×3)を同時に用いる必要があります。一方、増分バックアップ時の97.2MB/secを確保するだけなら1台で十分です。つまり、両方を兼ねるには3台が最低ラインとなります。通常は、テープドライブに搭載されているハードウェア圧縮機能を併用するため、実際のバックアップ環境ではより高いデータ転送速度が実現されます。ただし、どれだけデータを圧縮できるかはバックアップデータの性質に大きく依存することから、計画立案の段階では非圧縮時の数字で見積もっておいたほうが安全です。
画像 バックアップに必要なドライブ数の算出
図4.バックアップに必要なドライブ数の算出

Step4:算出されたテープカートリッジの本数からオートメーション製品を選定する

次に、バックアップに必要なテープカートリッジの本数を算出します。世代ごとの本数は、ドライブ数の整数倍で、バックアップ容量を満たすものになります。つまり、フルバックアップは7000GBなので、800GBのLTO Ultrium4カートリッジなら端数を切り上げた9巻、同様に増分バックアップ700GBなので1巻と計算されます。
これにより、バックアップに必要なテープカートリッジの総数は、1週間あたり15巻、2世代とることを考えて合計30巻と算出されます。これがテープオートメーションに求められるカートリッジスロット数の最低ラインです。ここで、この条件と日立のテープオートメーション製品を照合すると、L18/500の基本モジュールに1台のドライブ拡張モジュール(DEM)を追加した構成(2008年7月時点)が適合します。
少なくとも、2~3年先のバックアップにも対応できるように機種を選定すべきですが、L18/500は、スロット数を529巻、ドライブ数を18台まで拡張できることから、将来にわたって安心して使用できます。
画像 バックアップに必要なテープカートリッジの巻数
図5.バックアップに必要なテープカートリッジの巻数

0 件のコメント:

コメントを投稿