2009年5月26日火曜日

仮想マシンのディスクイメージの複製

仮想マシンのディスク イメージを複製して使用したいことがよくある。
その場合の注意点がある。


仮想マシンの複製 (KVM の場合)
  1. 複製元になる仮想マシンを停止する。
  2. 仮想マシンのディスクイメージをコピーする。
    $ sudo virt-clone -o OriginalGuest -n NewGuest -f /path/to/NewGuest.img


Windows Server 2003 の場合

Windows の場合、SID などの再生性のために sysprep を実行する必要がある。
  1. 新しい仮想マシンを起動し、Administrator でログオンする。
  2. C:\sysprep フォルダを作成する。(このフォルダは再起動後に自動的に削除される)
    > mkdir C:\sysprep
  3. 仮想マシンの CD-ROM ドライブに OS のインストール CD-ROM をセットする。
    KVM なら 以下の例のようにする。
    $ virsh attach-disk --type cdrom NewGuest /path/to/2003_disk1.iso hdc
  4. D:\SUPPORT\TOOLS\DEPLOY.CAB に含まれるファイルを C:\sysprep フォルダにコピーする。(D: をCD-ROM ドライブとする。)
    > expand -f:* D:\SUPPORT\TOOLS\DEPLOY.CAB C:\sysprep
  5. C:\sysprep\sysprep.exe を実行する。
  6. [再シール] ボタンをクリックする。
  7. 自動的にシャットダウンする。
  8. 起動すると「Windows セットアップ ウィザード」が開始します。
後は、ホスト名とネットワーク設定を通常通り行えば良い。


Windows Server 2008 R2 の場合

Windows の場合、SID などの再生性のために sysprep を実行する必要がある。
  1. 新しい仮想マシンを起動し、Administrator でログオンする。
  2. ファイル名を指定して実行から、[%SystemRoot%\System32\sysprep\sysprep.exe /generalize /oobe /reboot] を実行する。
  3. 再起動すると、「Windows セットアップ ウィザード」が開始します。
後は、ホスト名とネットワーク設定を通常通り行えば良い。


Ubuntu の場合

新しい仮想マシンを作成し、MAC アドレスが変わると、新しいインタフェース名で認識してしまう。
/etc/udev/rules.d/70-persistent-net.rules を削除し、再起動すればよい。/etc/udev/rules.d/70-persistent-net.rules は、再起動後に再生成される。

後は、ホスト名とネットワーク設定を通常通り行えば良い。

CentOS の場合

新しい仮想マシンを作成し、MAC アドレスが変わると、ネットワーク設定が初期化されてしまう。

  1. eth0 の記述があるファイルを調べる。
    find /etc -type f | xargs grep eth0
  2. MAC アドレスを調べる。
    # ifconfig | grep HWaddr
  3. /etc/sysconfig/network-scripts/ifcfg-eth? ifcfg-eth?.bak にバックアップされ、ifcfg-eth? は初期化されてしまう。バックアップファイルから元に戻し、HWADDR= の行の MAC アドレスを実際のアドレスに修正する。
  4. /etc/sysconfig/hwconf にも network.hwaddr: の行に MAC アドレスの記述があるが自動的に更新される。
後は、ホスト名とネットワーク設定を通常通り行い、再起動すればよい。

(例) ホスト名を変更する場合
  1. ホスト名の記述があるファイルを調べる。
    # find /etc -type f | xargs grep `hostname -s`
  2. /etc/sysconfig/network の HOSTNAME= の行を修正
  3. /etc/hosts を修正
  4. reboot

0 件のコメント: