おざなりになりがちなデータのバックアップ。今回は管理者の視点で、バックアップを安く、速く、確実に、そして安全に行うためのポイントを紹介する
データをバックアップすることが重要だと考えている人は多い。しかしバックアップは保険のようなもので、それ自体が利益を生み出すものではないため、やっつけ仕事で済ませている場合も多いのではないだろうか。そこで今回は安く、速く、確実に、安全にバックアップするためのポイントを整理してみたい。
バックアップの手法にはいろいろあるが、ここでは下記の4つに分類してみる。
1は既存のサーバ内にデータをコピーする方法である。たとえばWebサーバとデータベース・サーバの2台で構成されたシステムの場合、Webソースをデータベース・サーバに、そしてデータベース・サーバのデータをWebサーバにクロスで置く方法である。この構成では、Webサーバかデータベース・サーバのいずれかが死んだ場合でもデータが保全される。追加費用が不要な点で最も安上がりな方法であるが、いずれかのサーバが死んだ場合、サービスが止まってしまうのが難点である。
2はデータを安価なテープに書き込む方法である。安価であるが、ロールバックには長い時間を要し、復旧に数日から数週間かかることがある。近年はデータ量が増大する傾向にあるため、人気がどんどんなくなっている。
3はサーバに安価なディスクドライブを増設するか、家庭用NAS機器を用意して、これにデータをコピーする方法である。テープデバイスと比べると圧倒的に速いのでお勧めである。信頼性が不安であればもう1セット増やし、二重にバックアップするという方法もある。
4はいったんテープデバイスよりも高速なNASに書き込んでおいて、それをテープに落とすという方法である。NASへのバックアップに加えてテープでもバックアップが取れるので、二重に安心である。これに加えてテープを遠隔地に送る運用を取り入れれば、災害対策にもなる。
どのバックアップ手法がベストなのかは場合によりけりだが、私の場合はシステムの重要性によってバックアップ方法を使い分けている。たとえば、1は開発中のシステム、2はログデータ、3はファイルサーバ、4は顧客情報といった感じである。
バックアップには長い時間がかかるので、大量のデータを高速にバックアップするための工夫が必要である。高速にコピーするためのちょっとしたコツを以下に記してみる。
Windowsでファイルコピーを行うのであれば、高速ファイルコピーツールを使うのがお勧めである。Windows標準のファイルコピー機能はとても遅い。一方高速ファイルコピーツールは、空きメモリをバッファに使用し、マルチスレッドなどさまざまなアイデアを使って高速にファイルコピーを行えるようになっている。ソフトにもよるが、2〜3倍程度高速化できるようである。Windowsのファイルコピーを使うとファイルコピーに6時間かかるとしたら、2〜3時間でコピーが終わるようになるということである。高速ファイルコピーツールはフリーソフトがいくつか出回っているので、探して試してみてほしい。
障害復旧(ディザスタリカバリ)対策などのため、ネットワーク的に遠距離にファイルをコピーするのであれば、圧縮後にコピーするようにするのがお勧めである。圧縮も時間がかかる処理だが、ネットワークのほうが遅いのであれば圧縮してコピーしたほうが結果的に早くコピーが完了する。
スケジュール的には、サーバ負荷に余裕がある深夜にバックアップを取るのが一般的だが、例えばバックアップデータを海外に送るようであれば、時差も考慮に入れてネットワーク的にも空いている時間にコピーすることが重要である。日本は深夜でも、バックアップ先の国がビジネスアワーだとするとコピーに大変時間がかかる場合がある。
バックアップにはリアルタイムバックアップと定時バックアップがある。前者はファイルが追加・更新・削除された時に瞬時にバックアップに反映するタイプ、後者は深夜などの定時にまとめてバックアップするタイプである。よくある使い分けかたとしては、トランザクションデータや勤怠打刻データをリアルタイムバックアップ、ファイルサーバやグループウェアのデータを定時バックアップすることが多い。
リアルタイムバックアップと定時バックアップに分けて「確実」とは何かを定義してみよう。リアルタイムバックアップの場合は、「バックアップデータについても本番データと同じデータが常に同期されること」を「確実」と呼ぶことができる。一方、定時バックアップの場合は、「バックアップ開始時点でのファイルが常に正しくバックアップされること」を「確実」と定義できる。
リアルタイムバックアップについては、これを確実に行うことは技術的に難しいので、さまざまな解決策が各ベンダーより提案されている。確実なリアルタイムバックアップを行うためには、これをきちんとサポートしているバックアップ製品(ソフトウェアとハードウェアの2つの形態がある)を導入する必要がある。
一方、定時バックアップについては、「バックアップ開始時点でのファイルが」という条件に注目してほしい。例えばバックアップ途中でファイル更新・削除が起こった場合の挙動がどうなるかが重要である。バックアップを実行中に、バックアップ対象のファイルに関する操作が発生しないことを保証できるのならいいが、これが保証できないならば、定時になったら全ファイルを単にコピーするだけの簡単なスクリプトでは条件を満たせないことが分かるだろう。確実な定時バックアップを行うためにもリアルタイムバックアップをきちんとサポートしているバックアップ製品を導入することが必要になるだろう。もしくはバックアップ対象をtarなどで1つのファイルに固めて、それをバックアップするという手段を取ることもある。
社会的なセキュリティ意識が高まるにつれ、バックアップデータの管理も十分意識する必要性が増している。
まず物理的な安全性を確保する必要がある。適切な権限を持っている人以外がバックアップ装置やメディアに触れてはいけない。バックアップ済みのテープは概してサーバルームや事務室に放置されがちなので、十分気を付ける必要がある。
バックアップデータを大勢の人がアクセスできるサーバ上に置いているとしたら、それはかなり好ましくない。しかしハードウェア構成や予算上やむを得ない場合は、鍵つきgzipを使うなどの方法でバックアップデータを暗号化しておくだけでも安全性が飛躍的に向上する。
バックアップ作業そのものを、機密保持契約を結んだ外部業者に委託するという方法もある。機密経営情報や個人給与情報など、社員が扱うことが難しいデータに関しては社内でデータを管理するよりむしろ安全と考えることもできる。
最後に保険に入るという手もある。情報漏えいが発生した場合の被害コストはとても高いので、それを対象とした保険がある。その保険に入っておくと万が一の場合に安心である。
▼著者名 sanonosa
国内某有名ITベンチャー企業に創業メンバーとして携わる。国内最大規模のシステムを構築運用してきたほか、社内情報システム業務を経験。韓国の交友関係が豊富なことから、韓国関連で多数のシステムインテグレーションを行ってきた。
Copyright © ITmedia, Inc. All Rights Reserved.