2012年2月4日土曜日

mondo rescueのレストア。ソフトウェアRAIDのバックアップから仮想環境に復元する

菌XP_SP1の...なページである

を参考に頑張る、と。
ページは
http://www.bondoffamily-net.com/~kinta-chan/techknow/Linux/mondo/mondorestore.html

画像付きで詳細に説明してくれている。

もしもの時用に、文章のみ引用させて貰います(引用にしては長い・・・か・・・)。
画像付きの方が分かりやすいので、同じ事を考えている人は上記URLに。

僕の所での注意点は、HDDのroot(0,3)とかを編集するのを忘れた(大抵0か1)。
そして何が悪かったのか(適当にしたのが原因だろうけど)、
No root device found
sleeping foever
と出て起動しなかった・・・ので、ubuntuのlivecdでデータをサルベージしましたとさ・・・。


因みに、今回分かったことは、mondorescueでバックアップしたisoの中に、
archivesディレクトリがあり、そこに圧縮された各ファイルが入っている。
元のパーミッションがゆるいものは、解凍すれば中身が分かる。
rootの持ち物とかだと、末尾にzがついて、中身が化けていました。

--------------------------------
仮想環境にリストアする場合は、まず、仮想環境を作り、"CD/DVDドライブ"にはバックアップしたISOイメージを指定したあとで仮想環境を開始させます。
実環境に戻す場合は、まず、BIOSでDVDドライブ(またはCDドライブ)から起動するように設定します。

起動したら、"boot:"プロンプトで"expert[enter]"を入力します。
viで"/tmp/mountlist.txt"を編集します。

1~3行目の先頭を変更します。

/dev/md0 ⇒ /dev/sda1
/dev/md1 ⇒ /dev/sda2
/dev/md2 ⇒ /dev/sda3

1~3行目の最後のuuid(8桁-4桁-4桁-12桁の文字列)を削除します。文字列は環境によって違います。
4行目以降をすべて削除します。
できあがりは下の画面のようになります。

編集が終わったら、[esc]キーを押して、":wq[enter]"で保存します。
"mondorestore[enter]"と入力して、リストアプログラムを起動します。

"Interactively"に移動して"[enter]"を押します。
バックアップしたメディアの種類に移動して"[enter]"を押します。この例ではバックアップはDVDに作成しています。
下の画面の"/dev/sda2"のところに表示されている、"Size (MB)"の数値と各マウントポイントの対応をメモしてください。

この例では、"dev/sda1~3"の3つのパーティションが存在します。この3つのパーティションサイズの合計がメモしたサイズを超えないように配分する必要があります。ここでは、以下のように配分しています。
旧デバイス(パーティション)名 新デバイス(パーティション)名 マウントポイント サイズ
/dev/md0 /dev/sda1 /boot 512MB
/dev/md1 /dev/sda2 swap 4096MB
/dev/md2 /dev/sda3 / 257536MB
まず、一番上にある、"/dev/sda3"のところに移動し、"[enter]"を押します。
"Size (MB)"のところに移動し、"257536"を入力します。
"OK"のところにカーソルを移動させ、"[enter]"を押します。

最初の画面に戻りますので、入力した内容を確認します。
同じ要領で"/dev/sda1"のパーティションサイズを設定します。

同じ要領で"/dev/sda2"のパーティションサイズを設定します。

すべてのパーティションサイズの設定が終わったら、設定内容をもう1度確認します。
設定内容に間違いがなければ、"[tab]"を押して、"OK"のところにカーソルを移動させ、"[enter]"を押します。
確認の画面が3つ表示されますので、すべて"Yes"を指定して"[enter]"を押します。


リストアが始まります。
途中でメディアの差し替え指示が表示される場合がありますので、表示されたら、指示に従ってメディアを入れ替えます。
仮想環境の場合は、、、、、まだ、試していません、、

この画面は"Yes"を選んで"[enter]"を押します。
この画面は"Yes"を選んで"[enter]"を押します。
この画面は"OK"を選んで"[enter]"を押します。
シェル画面が表示されます。
viで"/etc/fstab"を編集します。
10、12、14行目の先頭にあるuuidを先ほどメモしたマウントポイントの対応に従って、"/dev/sda1~3"に変更します。

できあがりは下の画面のようになります。先頭が"#"になっているところに、"/dev/md0~2"の記載が残っていますが、コメント行なので気にする必要はありません。

編集が終わったら、[esc]キーを押して、":wq[enter]"で保存します。
viで"/etc/mtab"を編集します。
1行目の"/dev/md2"、12行目の"/dev/md0"の2ケ所を、先ほどメモしたマウントポイントの対応に従って、"/dev/sda1~3"に変更します。この例では、1行目"/dev/md2→/dev/sda3"、12行目"/dev/md0→/dev/sda1"になります。

できあがりは下の画面のようになります。

編集が終わったら、[esc]キーを押して、":wq[enter]"で保存します。
"/etc/raidtab"を"/etc/raidtab.old"等にリネームします。
"/etc/mdadm"を"/etc/mdadm.old"等にリネームします。
"mkinitramfs"を実行してイメージを再作成します。なお、仮想環境の場合は、やらなくても特に不具合はないみたいですが、、、
参考文献やmondorescueのメッセージでは、"mkinitrdを使用せよ"となっていますが、ubuntuにはこのコマンドはありません。
"grub-install"を実行してgrubを再インストールします。
"grub-mkconfig"を実行して、grub.cfgを再作成します。ubuntuでは、この作業をやらないと正常に起動できませんでした。
"exit[enter]"を入力してシェルから抜けます。
この画面は"Yes"を選んで"[enter]"を押します。
入力フィールドに"/dev/sda"が入っていることを確認し、"OK"を選んで"[enter]"を押します。
この画面は"OK"を選んで"[enter]"を押します。
viが起動され、"/etc/fstab"の編集状態になりますが、先程編集済ですので、[esc]キーを押して":q[enter]"で終わります。
viが起動され、"/etc/mtab"の編集状態になりますが、先程編集済ですので、[esc]キーを押して":q[enter]"で終わります。
viが起動され、"/boot/grub/grub.cfg"の編集状態になりますが、先程編集済ですので、[esc]キーを押して":q[enter]"で終わります。
viが起動され、"/boot/grub/device.map"の編集状態になりますが、このファイルは不要ですので、、[esc]キーを押して":q[enter]"で終わります。
この画面は"Yes"を選んで"[enter]"を押します。
下の画面が表示されたら完了です。

バックアップのメディアをドライブから抜き(稼働環境では仮想マシンのハードウェア設定にある、CD/DVDを物理ドライブに変更してから)、リブートします。これで正常にubuntuが起動します。

0 件のコメント:

コメントを投稿