さくらVPSのCentOS6をMondRescueでさくらVPSにリストアしてみた。


さくらVPSのCentOS6をMondRescueでさくらVPSにリストアしてみた。 | Bamboo lath 日々の記録さくらVPSのCentOS6をMondRescueでリストアしてみた。

無料お試しのVPS2Gを借りて、デフォルトインストールされている
CentOS6をバックアップしてisoをダウンロードしてから、
同じサーバに対してisoイメージインストールでリストアを実験してみた。

一応再度インストール方法から。

今回の対象はCentOS release 6.7です。

# wget ftp://ftp.mondorescue.org//rhel/6/x86_64/mondorescue.repo
# mv mondorescue.repo /etc/yum.repos.d/
# yum -y install dvd+rw-tools
# yum install --enablerepo=mondorescue mondo
# yum install lzop
# cd /
# mkdir backup
# mondoarchive -Oi -L -N -s 4480m -d /backup -E /backup -p sakura-`hostname`-`date +%Y-%m-%d`

出来たisoファイルをダウンロードしておく。

その後、さくらVPSの管理画面にログインして「OSインストール」から「ISOイメージインストール」を選択する。
「SFTP」のアカウントを作成するボタンがあるのでクリックしてISOイメージアップロード先の情報を取得する。

SFTPで接続して「iso」フォルダに先ほどダウンロードしておいたisoイメージファイルをアップロードする。

アップロード終了後に再度「OSインストール」から「ISOイメージインストール」に進むと、
アップロードしたisoファイルが表示されているはずなので内容を確認してさらに「VirtIOを有効にする」の
チェックを外してから「設定内容を確認する」をクリック。
確認画面が出るので「インストールを実行する」をクリックしてリストアを開始する。

※「VirtIOを有効にする」にチェックが入っていた状態だと「expert」モードの時に「fdisk -l」しても
デバイスが無いも表示されなかったので、チェックを外した。

Mondo Rescueの画面になるので「expert」を入力する。

boot: expert
sh-4.1# fdisk -l

/dev/sdaとかが表示されているはず。

sh-4.1# vi /tmp/mountlist.txt

ファイル内の「vda」の箇所をすべて「sda」に変更する。

sh-4.1# mondorestore

「Automatically」を選択

リストアが始まる。

たぶんこの時に画面の下に

Formatting /dev/sda3 as ext4...OK
Formatting /dev/sda1 as ext4...OK
Formatting /dev/sda2 as swap...OK
All partitions were mounted OK.

が出れば順調に進んでいるはず。

次に

You will now be able to re-generate your initrd.
This is especially useful if you changed of hardware configuration,log: socket ignored cloned, made P2V, used multipath…
Do you need to do it ?

と出るので「Yes」を選択。

initrdの再作成の画面

次に

You’ll now be chrooted under your future / partition.
Go under /boot and rebuild your init(rd|ramfs) with
mkinitrd -f -v initrd-2.x.y.img 2.x.y
e.g.
or initramfs, dracut, … Then type exit to finish

と出るので「OK」を選択。

mkinitrdの再作成の画面

プロンプトでinitrdの再構築を行う。

sh-4.1# cd /boot/
sh-4.1# ls -lhtr vmlinuz*

一番下のバージョンのimgでinitrdを再生成。
今回はこんな感じだった。

sh-4.1# mkinitrd -f -v initramfs-2.6.32-573.12.1.el6.x86_64.img 2.6.32-573.12.1.el6.x86_64

再構築が終わったら

sh-4.1# exit

すこし待つと、

Because of bugs in GRUB’s own installer,
GRUB was not installed properly. Please install the boot loadermanually now,
using this chroot()’ed shell prompt. Type ‘exit’ when you have finished.

と出るので「OK」を選択。

GRUBのバグの再作成の画面

 

grubのインストールを試みる。

sh-4.1# grub-install /dev/sda
/dev/sda does not have any corresponding BIOS drive./boo

とエラーが出てしまったのでいろいろ捜索。

「/etc/mtab」に「vda」の記述が残っていることを発見したのでこれを修正する。

sh-4.1# vi /etc/mtab

それと「/boot/grub/device.map」に「vda」の記述が残っていることを発見したのでこれを修正する。

sh-4.1# vi /boot/grub/device.map

再度「grub-install」を実行。

sh-4.1# grub-install /dev/sda
・・・
(hd0)   /dev/sda

このように最後に表示されればOKっぽい。

プロンプトを抜ける。

sh-4.1# exit

最後に

Mondo has restored your system.
・・・

と表示されるので「OK」を選択。

プロンプトを抜ける。

sh-4.1# exit

その後何も起きないので、VPSの管理画面から
「強制再起動」を行う。

ログインプロンプトが表示されればOK。

今回は同じサーバにリストアしたので、ネットワーク関係の
再設定はいらないはず。

違うVPSにリストアする場合はUUID関係とかも調整しないと
いけないのかもしれない。。

今回同じサーバにも関わらず「Automatically」で全部できなかったのは
バックアップの時にカーネル検出を失敗していたのかもしれないと↓の
ブログを拝見して思いました。

さくらのVPSでOSイメージを作ってまるごとコピー

あと、VirtIOでも大丈夫って書いてある記事もあったのだけど
なんでできなかったのかは不明。

とりあえず、有事の際にローカルの仮想環境や元のVPSで
リストアできるところまでは検証できた。

コメントを残す

メールアドレスが公開されることはありません。