古色蒼然たる
Redhat Linux 7.2 で稼動していた環境を
Acronis True Image を使って
VMware の環境に移行させた手順をメモ。
下ごしらえ
- Acronis True Image 起動用レスキューメディア
- 製品CD-ROMではなく、インストールしてある True Image にパッチを当てた状態から起動用レスキューメディアビルダーで作成したCD-ROMを用意しておく(True Imageのkernelバージョンが新しい方が都合がいいから)。また、このメディアを吸い出して .iso に換えて用意しておくのもいい(ImgBurn などで簡単に作成できる)。
- 空のVMWare HDD イメージ
- 元マシンとディスク容量も合わせた方が楽。
QEMU on Windows のツール qemu-img.exe で作成できる。
元マシンが物理的に複数ディスクの場合は複数作るといい。
- 元マシンのディスクスライスの構成
- `fdisk -l` で表示されるデバイス名など。'/etc/fstab' を見てもいい。
起動不能などの理由で不明の場合は、パーティション単位でのバックアップを行わず、ディスク単位でのバックアップを行う。
- 元マシンと同一ネットワーク上の Windows マシン
- バックアップデータを置いたり VMWare HDD イメージへのリストアの作業に使うので、十分な空き容量を確保。
ネットワーク上での共有とセキュリティで、フォルダを共有させ、ファイルの変更を許可するようにする。
作業の都合上 SlySoft Virtual CloneDrive のような仮想CD-ROMツールが導入してあると楽。
元マシンのバックアップ
対象マシンで Acronis True Image 起動用レスキューメディアをCD-ROM bootする。
「イメージの作成」を指定し、対象マシンのディスク全域をバックアップ対象にする。
True Image Archive の作成先を「近くのコンピュータ」でネットワーク越しの他のWindowsマシンにする(空き容量注意)。圧縮率はデフォルトでOK。ファイル分割は念のため2GB以下。コメントは適宜指定する。
対象マシンの物理デバイスが複数ある場合は、複数回に分けてバックアップする。
元マシンはここで停止(シャットダウン)させる。
仮想HDDへのリストア
VMware 起動用の.vmx定義ファイルの調整。
Redhat Linux 7.2 は Kernel 2.4 の linux なんで、OS関係の指定があってるか確認。
guestOS = "other24xlinux"
〜
nvram = "other24xlinux.nvram"
空の.vmdk仮想ディスクファイルを.vmxで指定する。(容量は対象マシンの物理ディスクよりも小さくても構わないが、全てのファイルが書き戻せるサイズにする)
元マシンがSCSIかIDEかに合わせる。また、IDE でも Primary/Secondary の別、Master/Slave の別も合わせる。
以下は IDE Primary Master でHDDイメージのファイル名が 'ide20g_hda.vmdk' の場合。
ide0:0.present = "true"
ide0:0.fileName = "ide20g_hda.vmdk"
これはホストOSの上で仮想CD-ROMツールを使って.ISOのCD-ROMイメージをマウントする方法をとるので…
ide1:0.present = "true"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
この場合は Secondary Master で接続する設定。
ネットワークの設定… NAT か Bridge かという事なら、今回は元マシンを完全に置き換えるんで、元マシンと同じIPを振りたいから Bridge モードにしとく。
ethernet0.present = "TRUE"
ethernet0.connectionType = "bridge"
True Image起動用レスキューメディアを仮想CD-ROMにマウントする。
準備ができたら VMware を起動して、調整した .vmx を食わせる。
Acronis True Image が起動しない場合はVMware の BIOS (起動時[F2]押下)で Boot の項を変更、CD-ROMの起動順位を上位に変更。
Acronis True Image が起動したら、「イメージの復元」
「近くのコンピュータ」からバックアップ先のマシンを選び、True Image Archive を選択する。
「復元するパーティションまたはディスク」ではパーティションのリサイズを行わない場合は、ディスクドライブを選択する。
終わったら Acronis True Image の「終了」、VMware の仮想マシンがリブートされたら、[F2]押下で BIOS 画面を出して一息ついて、そこで仮想マシンの停止(シャットダウン)
※「復元場所」は当然 VMware の HDD イメージ。
※複数のディスクがある場合は複数回リストアする。
リストア後の起動確認
True Image起動用レスキューメディアを仮想CD-ROMからイジェクトする。
そしたら VMware に .vmx を食わして起動。
Redhat linux で kudzu が起動時に走るなら、勝手にデバイスの再認識をやってくれる。
VMware のデバイスは比較的枯れたモノをエミュレートしてるので、そのまま新しいデバイスの認識はできた。
このとき、ネットワーク設定は継承するようにしないとマンドクサー。
X Window に関しては Vmware tools 導入までほっとく。
kudzu が走ってない場合は手で直さなきゃなんで面倒。後述するレスキューディスクのブートを使って、フツーの linux のモジュール変更の手順をとってくだされ(とても書ききれない)。
リストア後の起動で MBR が壊れてるって怒られたら
Acronis True Image で、ディスク単位でリストアした場合は MBR も一緒にリストアされるけど、パーティション単位の場合はリストアされないはず。
どっちにせよその場合は OS のレスキューディスク(Redhat linux 7.2 なら1枚目のCDでOK)で直す。
ホストOSの仮想CD-ROMに 'enigma-i386-disc1-ja.iso' をマウント。
そして VMware 起動、CD-ROM boot でいってください。
※ RedHat linux の起動画面でプロンプト(ほっとくと先にいっちゃうので注意)
linux rescueって入力して[Enter]
BOOT: linux rescue
MBR をリカバリするんですが、以下のコマンドライン例はディスクが IDE Primary Master で grub を入れてるパターン。
# chroot /mnt/sysimage
# grub-install /dev/hda
Vmware tools の導入
VMware Player インストールディレクトリにある linux.iso をマウントすると VMware tools も入れられる。(2.0以降)
VMware を起動するけど、CD-ROM boot はしない。
linux 中から CD-ROM をマウントして .rpm をインストールする。
# mount /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom
# rpm -ivh VMwareTools-*.i386.rpm
#VMware tools を入れないと時計が狂うので非常にイヤん。
…ということで、見ての通り何回も CD-ROM イメージを差し替えるので.vmx を書き換えて対処するのはとても面倒くさい。
ホストOSが Windows ならば、.vmx では cdrom-raw にしといて、
Virtual CloneDrive でマウントする .iso を切り替えるようにした方が手間も少なくミスも少なくできる筈。つまり、最終的なホスト OS が Windows でない場合でも、ここまでの作業は Windows で行うのがよろしい。
失敗しても True Image Archive から何度でもリストアできるから凄く気持ちも楽。
Acronis True Image マジでオススメ…
[関連記事]