当サイトはさくらのVPSで運用していますが、緊急時に備えてMondo Rescueを利用してバックアップISOイメージを作成しています。ISOイメージを作成する記事は他のサイトで見かけますが、バックアップしたISOイメージをリストアしてVPSを構築(復旧)した事例が見つからなかったので試してみました。その結果、無事に元の環境が復元できたので要点をメモしておきます。
インストール手順
- VPSコントロールパネルのISOイメージインストールに表示される情報に従ってMondo Rescueで作成したISOイメージをアップロードし、インストールを開始します。
- Mondo Rescueのメニューが表示されたら、「Interactively」を選択します。
- パーティション設定画面で、
/dev/vda
になっている部分を全て/dev/sda
に変更します。 - 設定を反映させ、フォーマットなどを行った後、データの復旧が始まります。
- 「Initialize the boot loader?」が表示されたらYesを選択します。
- 「You will now be able to re-generate your initrd....」が表示されるので、
cd /boot
した後に表示されていたコマンド(mkinitrd -f -v initrd-2.x.y.img 2.x.y
)を入力します。 exit
を入力するとマウントリストを編集するか聞かれ、必要なファイルがいくつか自動で開くと思います。ファイル中の/dev/vda
や/dev/hda
を全て/dev/sda
に変更し、保存します。- Grub correctのようなメッセージが表示されると全ての作業が完了です。シャットダウン〜起動し、データが正しく復元されているか確認して下さい。
/dev/sdaで良い? 〜VirtIOの有効可〜
元々の環境では/dev/vdaになっていたにもかかわらず、/dev/sdaで復元したことに違和感を感じることと思います。vdaになっていないということはVirtIOが有効になっていないということで、少なからずパフォーマンスにも影響があるのでは?と思います。
解決策がないか検索してみたところ、「さくらのVPS + virtio - kuriyama's」に次のような記述がありました。
virtio に切り替えるために、さくらのVPSコントロールパネルから OS の再インストールを選びます。カスタムOSインストールで適当に CentOS 6 x86_64 を選んでインストールを開始。
VNCクライアントが立ち上がったら、VPSコントロールパネルに戻って仮想サーバーを停止しちゃいます。
これで KVM 側の設定が virtio になったはずなので、VPSコントロールパネルで起動します。
以上の作業を試してみたところ、無事VirtIOが有効となり、mount
コマンドでチェックすると/dev/sda1などが/dev/vda1となっていました。