前のページ トップページ
Mondo Rescue と Mindi Linux の紹介

Linuxをシステムごとバックアップしたり、パーティションごと移動したりするのに、以前はNorton Ghostを使っていたのですが、Mondoというのを使ってみたら、同じような使い勝手でしかもGPLなので、とても気に入りました。英語が得意でもなくプログラマーでもない私ですが、少しでもLinux movementに役立とうと紹介ページを作ってみました。


オリジナルなMondo のホームページ : http://www.mondorescue.org/index.shtml

  マニュアル(日本語訳) (2009年6月に書き換え)
  HOWTO(日本語訳) (2003年に書いた旧バージョンのままで、現在のものとは内容が異なっています)

新バージョンのものは、以下を見てください。

  マニュアル(英文)
  HOWTO(英文)

その他のドキュメント類は、以下のページにあります。

    http://www.mondorescue.org/docs.shtml

WIKIページが以下のところにあって、とても参考になります。

    http://trac.mondorescue.org/

すみません。このページもずいぶん古くなってしまいました。
オリジナルは、もう新しいバージョンに移行していますので、私のページは、あくまで参考にとどめてください。

以下の部分も、2003年に書いたもので、かなり内容は古いです。
ただ、2009年6月にオリジナルを見直してみたら、USBキーへのバックアップが増えただけで、機能や操作に劇的な変化があるわけでは無さそうだったので、このまま置いておきます。


1.何をするプログラムなのか

mondoは、Linuxのシステムが壊れたときなどのために、システムの一部または全部をバックアップしておくためのツールです。
出来上がるものはCDROMイメージ(isoファイル)であり、それを直接CDRやCDRWに焼くこともできるし、テープにも保存できるし、ハードディスクのどこかに保存しておくこともできるし、NFSサーバーに直接送ることもできます。また、ハードディスクでなくても、mountさえできれば、どこにでも保存できますし、できたisoファイルは、後からいつでもCDR(W)に焼くことができます。
データの量が多ければ、自動的に複数枚分のCDR(W)やisoファイルができてきます。

出来上がったCD(isoファイル)はCDROM起動が可能であり、起動させるとCDROMとメモリーだけで動くLinuxのmini distribution(これがmindi linux です)が立ち上がります。そのLinuxシステムの上で、ハードディスクのパーティションを切り直したり、フォーマットしたり出来ますし、そこに個別にrestoreすることができます。途中で、fstabを書き直すこともできます。
GRUBやLILOのシステムを含む部分があれば、resoreの途中にgrub.confやlilo.confを書き直して、MBRにboot loaderを設定し直すこともできます。

システムをクローン化して、他のマシンに移植することも簡単です。
また、mindi linuxはCDROMとメモリーだけで動くLinuxのmini distributionなので、単独でもrescue CDとして十分役に立つものだと思います。


2.インストール

Redhat Linux 7.3 の場合 :

まず最初に、Mondoのダウンロードページから、afio・buffer・cdrecord・syslinuxをダウンロードします。-Lオプションを使うためには、lzo・lzopもダウンロードする必要があります。便利なように、mondoのページで推奨されているものを、このページから直接リンクしておきます。

afio : ftp://speakeasy.rpmfind.net/linux/Mandrake/8.2/contrib/i586/afio-2.4.7-1mdk.i586.rpm
buffer : ftp://rpmfind.net/linux/contrib/libc6/i386/buffer-1.19-1.i386.rpm
cdrecord : ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/cdrecord-1.10-11.i386.rpm
lzo : ftp://rpmfind.net/linux/redhat/7.1/en/powertools/i386/RedHat/RPMS/lzo-1.06-3.i386.rpm
lzop : ftp://rpmfind.net/linux/contrib/libc6/i386/lzop-1.00-1.i386.rpm
syslinux : http://www.microwerks.net/~hugo/kp/syslinux-1.72-1.i386.rpm

lzopはlzoの後でインストールします。
syslinuxだけは、普通にインストールすると古いバージョンが既に入っているので、rpm -Uvh を使ってください。
次に、mondoのHow to contributeのページから、mondo-1.45-1.i386.rpmとmindi-0.65-0.i386.rpmをダウンロードします。
インストールは、mindiを先にしてから、mondoの方を行います。

Vine Linux 2.5 の場合 :

基本的に、上記のredhatの場合と同じですが、afioとcdrecordは最新のものがVineSeedの中にありますので、/etc/apt/sources.listを書き換えて、aptでダウンロードすればOKです。
また、Vine Linux 2.5 にはmkfs.vfatがないので、dosfstoolsも必要になります。

dosfstools : ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/dosfstools-2.8-1.i386.rpm

Debian GNU/Linux の場合 :

potatoでは、libc6のバージョンの関係で、現在のdebパッケージは使えませんので、ソースからインストールする方法のページを参考にしてインストールしてください。ただし、カーネルは2.2.19ならよいのですが、2.2.18以下の場合は-k FAISAFEオプションを使わないといけないようです。
woodyでは、mondoが公式に取り入れられているので、単純にapt-getだけでインストールできます。ただし、dosfstoolsとbinutilsは依存ファイルにあがってはいませんが、必要なようです。

# apt-get install binutils
# apt-get install dosfstools
# apt-get install mondo

ただし、debパッケージのバージョンは少し古いので、woodyでもソースからインストールした方が良いかもしれません。


3.使い方(データの保存)

例えば、
hdaが通常使っているVine Linux で、hda1が/boot、hda2が/、hda3が/home、hda4がswap
hdc1にWindows98、hdd1にDebian Linux、がインストールしてあり、
hda1のところのGRUBで、トリプルブートになっており、
mondoの操作はすべて、hdaのVine Linuxの上で行うものとします。
(オプションの詳細は、マニュアルを見てください。)

CDRに直接書き込む場合は、
# cdrecord -scanbus
で、まず-d オプションの後ろに書く設定(例えば 0,3,0 など)を収得する必要があります。

# mondoarchive -Oc 8 -d 0,3,0 では、hda1〜4の全部がCDRにバックアップされます。
# mondoarchive -Oc 8 -d 0,3,0 -I /home では、hda3の/homeだけがCDRにバックアップされます。
# mondoarchive -Oc 8 -d 0,3,0 -I /etc では、hda2の/etcの部分だけがCDRにバックアップされます。
# mondoarchive -Oc 8 -d 0,3,0 -I "/etc /home" では、hda2の/etcの部分とhda3の/homeがCDRにバックアップされます。
# mondoarchive -Oc 8 -d 0,3,0 -E /home では、hda3の/home以外がCDRにバックアップされます。

# mondoarchive -Oi -d /root  では、hdaの全部が/rootにisoファイルとしてバックアップされます。

# mkdir /mnt/debian
# mount -t ext2 /dev/hdd1 /mnt/debian
とマウントした後では、

# mondoarchive -Oi -d /root  では、hdaの全部とhdd1の両方が/rootにisoファイルとしてバックアップされます。
# mondoarchive -Oi -d /mnt/debian/tmp -E /mnt/debian では、hdaの全部が/mnt/debian/tmp(つまりDebianシステムの/tmp)にisoファイルとしてバックアップされます。この場合、-E /mnt/debian を付けないと、hdd1のDebianの方もいっしょにバックアップされてしまいます。
# mondoarchive -Oi -d /root -I /mnt/debian では、hdd1のDebianシステムだけのバックアップファイルが、/rootにできます。ただし、これを単純に別のマシンのhda1にrestoreすると、hda1の/mnt/debianの下に展開されてしまうので、hda1に/mnt/debianをrestoreすると指定しないといけません。restore中にfstabを書き直すことはできますが、boot loaderの設定はうまくゆかず、別にブートディスクが必要となるようです。

他にもいろいろオプションがあるので、マニュアルを参考にしてください。

-L オプションを付けると、圧縮にbzip2ではなくlzoを使うために、圧縮展開が速くなります。
boot loaderの種類や位置はmondoが自動的に収得しますが、うまく出来ない場合は、
-l LILO -f /dev/hda というオプションが必要なこともあります。

-x /dev/hdc1 で、Windowsもバックアップできるようですが、やったことが無いので詳細はわかりません。


4.使い方(データの復旧)

BIOSをCDROMブートにして起動すると、nuke(全自動で復旧)・interactive(対話的に復旧)・expert(慣れてくると、とても便利なモード)などの選択肢が表示されます。
nukeは、バックアップしたものと同じハードディスクに全復旧する場合以外、あまり使わないような気がします。
interactiveを選択すると、最初に、ハードディスクのパーティション作成やフォーマットをするかどうか聞いてきます。部分的にrestoreするのならnoでしょうし、最初から作り直すのならyesでしょう。
次いで、全部restoreするのか一部分だけなのか聞いてきます。これは、状況に応じてyes・noを選択します。
そして、restoreを行います。
最後に、boot loaderの再setupをするかどうか聞いてきます。これも、部分的なrestoreならnoでしょうし、システム全体のrestoreや/bootのrestoreではyesでしょう。


5.クローンの作り方(mondoが走っているLinuxシステムのクローン)

自分自身のLinuxシステムのクローンを作ることは簡単です。

# cdrecord -scanbus
で、まず-d オプションの後ろに書く設定(例えば 0,3,0 など)を収得し、
# mondoarchive -Oc 8 -d 0,3,0 などでCDを作成します。
移植するマシンのBIOSをCDROM起動にして、そのCDから起動します。
interactiveを選択し、パーティションを分割しフォーマットを行い、全restoreを行います。
boot loaderの設定をするか聞かれたらyesを選び、mountlist の変更があるかどうか聞かれたらnoを選択します。
これでおしまいです。


6.クローンの作り方(mondoが走っているものとは別のLinuxシステムのクローン)

hda1に(mondoがインストールしていない)debian linux 2.2 があり、それのクローンを作ろうと試みた場合の話で、hda2がswapで、hda3にハードディスクの空き領域がたくさんあると仮定します。なお、debian linux 2.2 potato でも、ソースからコンパイルすれば、mondoは動作します。その方法は、こちらのページに書いておきました。

まず、hda3にVine Linux2.5 をインストールします。
Vine LinuxのLILOはMBRの/dev/hdaに書き込んでしまい、Vine Linuxを起動します。
上記の<2.インストール>にしたがって、Vine Linux にmondoをインストールします。

次に、Vine Linux の上で、
# mkdir /debian
# mount -t ext2 /dev/hda1 /debian
とマウントします。

# cdrecord -scanbus
で、-d オプションの後ろに書く設定(例えば 0,3,0 など)を収得した後、
# mondoarchive -Oc 8 -d 0,3,0 -I /debian -L -l LILO -f /dev/hda
などでdebianのクローンCDを作成します。
(# mondoarchive -Oi -d /root -I /debian -L -l LILO -f /dev/hda として/rootにisoファイルを作成し、後からCDRに焼いても良いでしょう。)

復旧の方は、移植するマシンのBIOSをCDROM起動にして、そのCDから起動します。
interactiveを選択し、パーティションを分割しますが、この時、/dev/hda1のmount pointは/debianとしておくことが重要です。
/dev/hda2をswapにしてOKとすると、後は、それぞれ自動的にフォーマットされます。

次に、全部をrestoreするかどうか聞かれますので、yesを選択し、すべてrestoreします。
boot loaderの設定をするか聞かれたらnoを選択し、一度、終了します。

#のプロンプトが出たら、
# mkdir /debian
# mount -t ext2 /dev/hda1 /debian
# /debian/sbin/lilo -r /debian
にて、ブートローダーの設定を行います。
後は、
# umount /debian
を行った後にリセットして、おしまいです。(ramdisk上で動いているので、リセットしてかまいません)


 トップページに戻る  前のページに戻る  メールを送る