Mondo Rescueによるリストアを失敗しないために。

by 管理者
4月 21日 2014 年

Mondo Rescueのリストアに失敗する?

Linuxの定番のバックアップツールであるMondo Rescueは使い難い、というかバックアップは割りと簡単に取れるのだが、それとは裏腹にリストアは難しい。バックアップアップもリストアも全く同じハードディスクであれば、成功するかも知れないが、たとえ同じ容量でもメーカーや型番が違えばリストア出来ないこともある。事実、SEGATEのST31000528AS(SATA 1TB)から日立のHDS721010CLS332(SATA 1TB)にリストアできなかった。ハードディスクの故障で全く同じハードディスクが用意できるとは限らないわけで、これはこれで大問題。

その時に発生したエラーがこれ。
この画面を見ると、/dev/vg_king/lv_homeをマウントできないと表示されているが、ログを調べるとこのLVMの論理ボリュームを確保するときに容量が足りなくてエラーになっているようだった。同じ容量のディスクなのに微妙に違うのか?

リストア失敗

ところで我が家のサーバでは1TBのディスクを使っていながら、中身のデータはその1/10も無いため、この論理ボリュームを縮小してバックアップ→リストアしたところ成功させることが出来た。つまりMondo Rescueによるリストアを成功させる鍵は、ハードディスク一杯に容量を確保しないことだろう思う。ここまで分かれば、実データの容量に見合う小さなハードディスクでも良いだろうと想像出来るし、今は使わなくなった120GBや160GBのハードディスクがあるので、これに戻してみた。

そのためには確保している論理ボリュームの容量が大きすぎるので、下の画面のように/dev/vg_king/lv_homeを50GBに縮小した。
※ /dev/vg_king/lv_rootが50GB、/dev/vg_king/lv_homeが50GB、/dev/vg_king/lv_swapが6GB、その他もろもろ合わせて全部で110GB程度になる。

容量の縮小

リストア方法

Mondo RescueによるリストアはAutomaticallyによるフルオートとInteractivelyによる容量を指定しながら行う方法がある(完全マニュアルのexpertは割愛)が、Automaticallyでリストアすると一見問題なく終了しているのに「Error 13: Invalid or unsupported executable format. Press any key to continue 」と表示されて何故か起動しなかったり、元の容量と大きく違ったりするので、そのような問題が発生したときはInteractivelyでリストアすれば良い。
しかしInteractivelyを選択した時に初期表示される容量はかなりデタラメ。

RIMG0671

ここで全ての値を入力する。

sda2とsda1の合計が一致するように値を変更し、論理ボリュームは120GBのディスクを使うことを考慮してSizeを適当に埋める。論理ボリュームが存在しないとdose not exitとエラーが表示されるが、ここでは無視。

RIMG0672

「パーティションを削除するか?」、「全てのデータをリストアするか?」の問い合わせに対して両方とも「YES」を選択。「boot loaderを初期化するか?」の問い合わせに対して「YES」を選択。

RIMG0680

initrdを再作成するか?の問い合わせに対して「YES」を選択。

RIMG0681

/にchrootして/bootの下で以下のコマンドを打つように指示されるが、エラーが出て上手くいかないので、そのまま以下のコマンドをタイプする。
# mkinitrd -f -v initrd-2.x.y.img 2.x.y
※ e.g.・・・はfor exapmleのことで無視。

RIMG0682

initrdを再作成中

RIMG0686

リブートするとUUIDが違うため、CentOSの起動途中でストップする。そこでrootパスワードを入れて一旦抜ける。そして以下のコマンドををタイプしてハードディスクのUUIDを確認する。
# blkid /dev/sda1

RIMG0688

CentOSのインストールディスクで立ち上げ、レスキューモードを選択して、/etc/fstabのUUIDを正しい値に編集してからリブートする。

RIMG0689

無事に起動完了

RIMG0690

AutomaticallyでリストアするとハードディスクのUUIDも自動で書き換えてくれるので楽だが、意外に思ったとおりにならないので、運が良ければ使える程度に考えておいた方が良いと思う。

後日、SEAGATEの160GBのハードディスクからMondo RescueでバックアップしたけどWesternDigitalの160GBのハードディスクにリストア出来なかった。

このパソコンは本番環境で障害が発生したときに使用する使用頻度の低い自宅サーバなので、普段はBIOSでハードディスクを切り替えてWindows7のパソコンとして嫁が使用しているが、Mondo rescueでバックアップするときもWindows7のハードディスクが繋がった状態でバックアップし、リストアするときはWindows7のハードディスクを外して行ったため、ハードディスクの構成が違っていたことが原因となってリストアに失敗した。
Windows7の入ったディスクだから大丈夫だろうと安易に考えてバックアップしたのが間違いだった。Mondo Rescueでバックアップするときにハードディスクを外す手間を考えると、電源付きのハードディスクのリムーバブルケースを購入した方が良さそうだ。

この記事へのトラックバックURL