Linux

Entries

Mondo RescueによるLinux丸ごとバックアップ術

Date
2007-03-05 (月)
Category
Linux

こんばんわ、小堤です。

社内サーバ入れ替えにあたり、サーバメンテナンスを容易にしていくよういろいろ新しい試みをしているところです。
そこで、いままでも使っていましたが、サーバのバックアップについてメモです。

サーバの丸ごとバックアップをとってくれるMondo RescueというGPLライセンスのプロダクトが存在します。
Mondo Rescue自体は1992年から存在するようですが、僕が使い始めたのはここ数年です。

さて、Linuxサーバ構築。
作るだけなら、結構がんばればなんとかなります。しかし、運用していくなかで、仕事の大事なデータをいかにちゃんとバックアップしていくか?は、業務に追われると結構適当になりがちです。
「実ファイルを別なストレージにコピーする」というのも結構有効的なバックアップ方法ですが、今回はOSごとまとめてバックアップをして、不測の事態には、DVDをいれるだけですべて元に戻してしまおうという方法です。

とにもかくにも、Mondo Rescueをインストールする必要があります。
まず、現時点ではFedoraCore系では、6が最新です。これに入れてみようと思って、試してみましたが
結果だめでした。
FedoraCore6 i386版 → ×
FedoraCore6 x86_64版 → ×

インストールはできるのですが、作ったISOファイルをDVDに焼いても、リストア用のLINUXが起動しませんでした。

いままでFedoraCore3,5で試してきて、動いていたのに・・・、ちくしょー、と約2二日間試しました。

さて、どうするか。

CentOS x86_64を試してみることにしました。結果からいいます。うまくいきました。
その手順を紹介します。

1.とりあえずCentOSを入れる。
  入れるパッケージは「開発ツール」だけでよい。
2.yumで下記のパッケージをインストールする。

#yum -y install mkisofs;
#yum -y install samba-client;
#yum -y install syslinux;
#yum -y install cdrecord;

※Sambaクライアントをyumでいれているのは、バックアップ先をSambaサーバのマシンなりにコピーするためです。

3.wgetでRPMパッケージを取得する。

#wget http://mondorescue.linjection.org/ftp/rhel/4/mindi-1.2.1-1.rhel4.x86_64.rpm;
#wget http://mondorescue.linjection.org/ftp/rhel/4/afio-2.4.7-1.x86_64.rpm;
#wget http://mondorescue.linjection.org/ftp/rhel/4/mondo-2.2.1-1.rhel4.x86_64.rpm;
#wget http://mondorescue.linjection.org/ftp/rhel/4/buffer-1.19-1.x86_64.rpm;
#wget http://dag.wieers.com/rpm/packages/lzo/lzo-1.08-4.2.el4.rf.x86_64.rpm;
#wget http://dag.wieers.com/rpm/packages/lzop/lzop-1.01-2.el4.rf.x86_64.rpm;
#wget http://mondorescue.linjection.org/ftp/rhel/4/mindi-busybox-1.2.1-3.x86_64.rpm;

4.RPMパッケージをインストールする。

#rpm -vih mindi-1.2.1-1.rhel4.x86_64.rpm;
#rpm -vih mindi-busybox-1.2.1-3.x86_64.rpm;
#rpm -vih afio-2.4.7-1.x86_64.rpm;
#rpm -vih mondo-2.2.1-1.rhel4.x86_64.rpm;
#rpm -vih buffer-1.19-1.x86_64.rpm;
#rpm -vih lzo-1.08-4.2.el4.rf.x86_64.rpm;
#rpm -vih lzop-1.01-2.el4.rf.x86_64.rpm;

※いちおう調整しましたが、依存関係もあるので、よくわからなかったら2回実行してください(笑)
 すでにインストールされているものは、いれられてるぞって警告がでるだけです。

5.Mondo Rescueを起動する。

#rm -Rf /backup/`date +%A`/*;
#mkdir -p /backup/`date +%A`;
#mondoarchive -O -i -L -d /backup/`date +%A` -E /backup -s 4200m -F;

これで、/backupに曜日のディレクトリが作られ、そこにisoファイルができあがります。
クーロンに登録してやれば1週間分のISOがとれるというわけです。

不測の事態に陥った場合は、戻りたい日のISOをDVDに焼きます。
B's Recorderなどで焼いてください。

あとは、ディスクをサーバにいれて、再起動すれば、CDからブートします。
最初のプロンプトで「nuke」と入力して、待っていればリストアは完了。

これめっちゃべんり。

今回はバックアップを同じHDDにとっているので、あんまり意味がないかもしれませんが、samba-clientをいれているように、ほかのsambaサーバに対して、バックアップをとるようにすると一石二鳥です。

実際に弊社で行っている方法は、次回にでも・・・。
(LAN HDDはSambaでつながるので、そこをマウントして、終わったらアンマウントするだけなんですがね)

ってことで、週末はこいつでつぶれました・・。ちゃんちゃん。


Return to Page Top