緊急時に備えてリカバリDVDを作る:Mondo Rescueでお手軽バックアップ(3/3 ページ)
サーバ管理者の皆さん、バックアップはきちんと取っていますか? この連載では、Mondo Rescueというバックアップツールを使って、非常時のサービス停止時間をなるべく短くする体制を作る方法について解説します。(編集部)
rpmパッケージからインストール
まずはMondo Rescueをインストールしましょう。ここではMondo Rescueを使って、CentOS 5.5の環境をバックアップする方法を解説します。今回は、CentOS 5.5を標準設定でインストールしてあると想定します。この場合、「afio」「buffer」「mindi-busybox」「mindi」「mondo」の5種類のソフトウェアが必要です。具体的には、以下の5つのパッケージを使います。必要なファイルはMondo Rescueの公式サイトからダウンロードしてください。
- afio-2.4.7-1.i386.rpm
- buffer-1.19-1.i386.rpm
- mindi-busybox-1.7.3-1.rhel5.i386.rpm
- mindi-2.0.7.5-1.rhel5.i386.rpm
- mondo-2.2.9.4-1.rhel5.i386.rpm
ファイルをダウンロードするときは、ディレクトリを作り、そこにダウンロードしたファイルをまとめるようにすると便利です。こうしておけば、カレントディレクトリをそのディレクトリに移して、以下のコマンドで5つのパッケージをまとめてインストールできます(図2)。
# rpm -ivh *.rpm
シングルユーザーモードでバックアップ
インストールが済んだら、早速バックアップを取ってみましょう。以下のコマンドを実行してみてください。図3のようにバックアップが始まります。
# mondoarchive -Oi -d /tmp -E /data -s 4480m -S /tmp -T /tmp -p `hostname`_`date +%Y%m%d`
バックアップ中はどんな方法でバックアップをしていても、必ずサーバに負荷がかかります。サービスでリソースを大量に消費している状態でバックアップを始めると、サーバに相当高い負荷がかかり、サービスの実行に影響します。可能であればバックアップ中はシングルユーザーモードにする(スーパーユーザーになって、# /sbin/init 1)などして、なるべくサービスを停止/変更不可とした方がよいでしょう。Mondo Rescueシェルのコマンドでバックアップができるので、「cron」などを使って、サービスが動かない時間帯に定期実行させるという方法もあります。
先に挙げたコマンド実行例を見ると、「mondoarchive」というコマンドにいくつもオプションを付けて実行していることが分かります。オプションの意味は表にまとめました。コマンドと表を見比べて、上記のコマンドの意味を解き明かしてみてください。
オプション | 機能 |
---|---|
-O | バックアップを実行 |
-V | バックアップを検証 |
-E [ディレクトリ] | バックアップ対象から除外するディレクトリを指定 |
-I | バックアップ対象にディレクトリを追加(初期設定では/) |
-i | バックアップ生成物をISOファイルにする |
-p [名前] | ISOファイルの名前を指定 |
-d [ディレクトリ/デバイス] | バックアップイメージの出力先を指定 |
-s | ISOファイルのサイズを指定 |
-A [コマンド] | バックアップ前にコマンドを実行 |
-B [コマンド] | バックアップ後にコマンドを実行 |
-S | スクラッチディレクトリの指定 |
-T | tmpディレクトリの指定 |
表 mondoarchiveコマンドの主要なオプション |
オプションの中でも注意したいのはスクラッチディレクトリを指定する「-S」とtmpディレクトリを指定する「-T」です。これらのディレクトリはバックアップ処理中に一時ファイルを置く場所となります。十分に容量のあるパーティションや、/tmpのようなディレクトリを利用することをお勧めします。
「-E」オプションも重要です。バックアップ実行中にファイルに変更が加わると、きちんとバックアップできない可能性があります。そのため、データベースのデータファイルや、ファイルサーバで公開しているディレクトリなど、変更が加わる可能性のあるファイル/ディレクトリはバックアップ対象から外すべきです。
Mondo Rescueは自動的に/proc、/sys、/tmpなど、バックアップの必要がないディレクトリをバックアップ対象から除外します。そのほかに、アプリケーションの一時ファイル置き場などがあるときはそのディレクトリをバックアップ対象から除外しましょう。
スクラッチディレクトリやtmpディレクトリ、つまり一時ファイルを置く場所を/tmp以外に設定したときは、そのディレクトリをバックアップ対象から除外すべきです。また、Mondo Rescueが生成するバックアップファイルをバックアップするたびに保存したままにしておくような場合は、そのディレクトリも除外しましょう。何世代も前のバックアップイメージまでまとめてバックアップしていたら、バックアップファイルの大きさがふくらむ一方です。
頻繁に更新がかかるデータは、Mondo Rescueではない、ほかのソフトウェアを利用して定期的に差分、増分バックアップを取るようにしましょう。頻繁に更新のあるデータを除外することで、バックアップ/リカバリ時間を短縮でき、バックアップ生成物のリカバリメディアのイメージのサイズも小さくできます。
さらに、バックアップイメージのファイルを保存する場所にも気を付けましょう。外付けのハードディスクなどに保存するようなときは特に気を付けてください。保存先としてFAT32でフォーマットしてあるパーティションを選んではいけないということです。なぜかというと、FAT32では4GB以上の大きさになるファイルを保存できないからです。バックアップのイメージファイルはDVDに記録して使います。イメージファイルの大きさが4GBを超えることは十分想定できます。
バックアップに成功すると、図4のようなメッセージがあらわれます。保存先として指定した/tmpディレクトリの中身を「ls」コマンドで確認してみてください。拡張子が.isoのファイルができていると思います。
バックアップファイルを確認したら、「dvdrecord」コマンドで、DVDに書き込みます。以下のようなコマンドを入力し、実行してください。isoイメージをWindowsパソコンに移動して書き込むことももちろん可能です。適切な書き込みソフトウェアを使ってください。
# dvdrecord dev=/dev/dvd -dao /tmp/ ファイル名.iso
ちなみに、Mondo Rescueは-dオプションでバックアップファイルの保存先をDVDドライブとすれば、バックアップファイルをハードディスク上に生成せずに、直接DVDメディアに書き込むことも可能です。
しかし、書き込みに失敗することもあります。複数のバックアップイメージを保存しておくためにも、直接メディアに書き込まず、一度ハードディスク上にバックアップファイルを生成した方が良いでしょう。
次回は、作成したバックアップDVDから、ハードウェアにファイルを復元する方法を解説します。お楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.