| 前のページ トップページ |
| 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上で動いているので、リセットしてかまいません) |
| トップページに戻る | 前のページに戻る | メールを送る | ||