hori さんの日記
下記以外にも参考になるサイトはあるよ ↓↓↓↓
http://blogs.yahoo.co.jp/ynsa_ken/26667544.html
http://roserogue.blogspot.com/2009/01/mondo-rescue.html
システムの入れ替えを出来るだけ手間をかけずにやろうとする場合、インストールマニアでなければ非常に手間である。
そこで、mondo rescueというシステムバックアップのソフトウェア群を使用し、システムのバックアップを取り、
システムを任意の(バックアップを取った時点)状態に手軽に戻せるようにする。
事前作業
出来ればシステム構築をし終わった時点でのバックアップが望ましい。
この手のバックアップツールは、現状ありのままを保存し、またそれを書き戻すので、
例えばsquidを入れて動かしていたサーバなどでは、
キャッシュを削除しておかなければ凄まじい大きさになってしまう(し、それを書き戻そうとは到底思えなくなる)。
なので、もしシステム構築後ではなく、走っているサーバをバックアップする際は、出来るだけスマートな状態に戻しておく。
例えば、/var以下の要らないファイルを削除しておく等。
ダウンロード
次に必要なファイルをダウンロードする。
参考URLは
http://www.thinkit.co.jp/free/article/0612/7/1/
各ディストリ宛にパッケージが配布されているので、そのパッケージを使うのが好ましい。
http://www.mondorescue.org/
上部メニューDownloadsに飛び、最下部Downloadsセクションにソースとパッケージが置いてある。
執筆当時のパッケージは
Packages
* RedHat 7.3, 9.
* Fedora Core 4, Core 5, Core 6.
* RedHat Enterprise Linux 3, 4, 5.
* Mandriva 10.1, 10.2, 2006.0, 2007.0, 2007.1.
* OpenSuSE 10.0, 10.1, 10.2. Look also at this web page for SuSE details. Packman may have some useful additional packages.
* SuSE Linux Enterprise Server 9, 10.
* Debian 3.1, 4.0. Look also at this web page for Debian details.
* Ubuntu 6.04, 7.04.
* Gentoo 1.6.
* Slackware 10.2, 11.0.
バージョン部分がリンクになっているので、そこからパッケージをダウンロードする。
僕はCentOSのver.5.2のx86_64を使っているので、RedHat Enterprise Linuxの5からダウンロードした。
この中で必要なパッケージは
「afio」「buffer」「mindi」「mindi-busybox」「mondo」「mondo-doc」
の6点。
簡単なやり方は、ターミナル使っている場合は保存したい場所にディレクトリを作って移動し、
wget_パッケージのURL(半角アンダーバーはスペースに置換)でURLコピペで済ます。
当時は以下をダウンロード。
afio-2.4.7-1.x86_64.rpm
buffer-1.19-1.x86_64.rpm
mindi-2.0.4-1.rhel5.x86_64.rpm
mindi-busybox-1.7.3-1.rhel5.x86_64.rpm
mondo-2.2.7-1.rhel5.x86_64.rpm
mondo-doc-2.2.7-1.rhel5.noarch.rpm
他に、高速圧縮形式のlzoを使用するので、以下二点をダウンロード。
「lzo」
http://dag.wieers.com/rpm/packages/lzo/
「lzop」
http://dag.wieers.com/rpm/packages/lzop/
当時ダウンロードしたのは
lzo-1.08-4.2.el5.rf.x86_64.rpm
lzop-1.01-2.el5.rf.x86_64.rpm
また、ISOファイルを作る為に必要なmkisofsと、CDに書き込むために必要なcdrecordの二点を要求されるので、
これはyumでインストール。
yum install mkisofs
yum install cdrecord
現状で6つのrpmパッケージが同一ディレクトリに存在するので、まとめてインストール。
rpm -ivh *
エラーがあれば警告されるので素直に従うこと。
バックアップディレクトリ作成
バックアップ用のディレクトリを作成する。
取り敢えず/rootの中に、mondobackupというディレクトリを作成。
mkdir mondobackup
いよいよコマンド
コマンドを打つ。
mondoarchive -Oi -g -L -N -s 4200m -d /root/mondobackup -E /root/mondobackup
意味は
コマンド名 -ISOイメージを生成 -GUI操作(CUIでの疑似GUI) -lzo圧縮を利用 -ローカルディスクのみをバックアップ対象とする -ISOファイルのサイズ。いろいろな単位が使える -バックアップ場所 -バックアップ対象から除外する場所
何故バックアップ対象から外すコマンドが必要かという説明は不要の筈。
複数除外する場合は、シングルクォーテーション「''」で囲う。
例:
-E '/exit1 /root/exit2 /home/exit3'
実行すると、GUI画面が立ち上がり、バックアップが始まる。
出来たISOファイルは煮るなり焼くなりする。
----------------------------------------------------------------
復帰(リカバリ)する場合は、
焼いたDVDで起動させる。
テキストメニューが初めに出るが、気にせず待ち続けると、疑似GUIメニューになる。
取り敢えず覚えておきたいのはテキストメニューでのアクション。
nuke 自動的にハードディスクをフォーマットして、バックアップデータをリストアする
interactive リストア元などを対話的に指定する
expert コマンドモードで起動する
参考は
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a023mondorestore.html
以上が今回バックアップに使ったmondo rescue。
インストールするだけでかなりお手軽にフルバックアップできる。
何度もOSをインストールするのが面倒ならば、これは試す価値があるし、サーバのように構成が滅多に変わらない、
ウイルスやrootkitに犯された後の復帰を簡単にしたい場合は最高のツールと言っても言いと思う。
2011.11.03追記
Centos 6で入れたところ、
ダウンロードしたのは
afio-2.5-1.rhel6.x86_64.rpm
buffer-1.19-4.rhel.x86_64.rpm
lzo-2.04-1.el5.rf.x86_64.rpm
lzop-1.03-1.el5.rf.x86_64.rpm
mindi-2.0.7.8-1.rhel6.x86_64.rpm
mindi-busybox-1.18.3-3.rhel6.x86_64.rpm
mondo-2.2.9.7-1.rhel6.x86_64.rpm
だった。
また、syslinuxをyumでインストールする必要があった。
yum install syslinux
afioとbufferは、ftp(ftp.mondorescue.org)からのダウンロード。
僕の環境ではブラウザでアクセスできなかったので、ftpクライアントを使用した。
以下http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a023mondorestore.html
「システムリカバリ用DVDを作成するには」で作成したDVD用のISOイメージをDVD-Rに焼き、それを別のPCにリストアする方法を説明する。
「K3b(http://www.k3b.org/)」などのCD/DVD作成ツールを使用すれば、ISOイメージをDVD-Rなどに簡単に焼くことができる。しかし、単にDVD-Rへ書き込んでシステムを起動してもKernel Panicを引き起こして、うまく起動できない。
正常に起動させる方法は、以下のとおりだ。
起動メニューの「boot:」プロンプトが表示されたら、リストアオプション(「nuke」または「interactive」)に続けて「ramdisk_blocksize=1024」と入力し、[Enter]キーを押す。
注:起動メニューが表示されている際は、キーボード設定が日本語106キーボードになっていないため注意が必要だ。「_」(アンダースコア)を入力するときは[Shift]+[-](「ほ」キー)を押す。「=」(イコール)を入力するときは[^](「へ」キー)を押す必要がある。 |
システムリカバリDVDの起動画面 (画像をクリックすると拡大します) |
リストアオプションで指定できるものは、以下のとおりだ。
オプション
|
意味
|
nuke | 自動的にハードディスクをフォーマットして、バックアップデータをリストアする |
interactive | リストア元などを対話的に指定する |
expert | コマンドモードで起動する |
ここでは、「interactive」を指定した例を紹介する。
「boot:」のプロンプトで「interactive ramdisk_blocksize=1024」と入力して[Enter]キーを押すと、システムが起動して以下のようなリストアのメニューが表示される。
Mondo Rescueのリストアメニュー |
「Interactively」を選択すると、リストア元の選択画面などが表示される。必要な設定を行うとバックアップデータのリストアが開始される。
- IuMAfRLQgU [01-03 17:19]
- ewkARBLWQ [12-11 00:00]
- north face jackets c [12-09 19:22]
- tiffany outlets 80 p [12-05 09:27]
- A enlarges, weeks cr [11-04 03:48]
- ugg boots outlet [10-23 15:10]
- UcOdlPJjcgTXDe [10-23 10:20]