SUSE Linux (SLES10) XEN仮想マシンの移植

 ここでは既に作成済みのXEN仮想マシンを移植する方法を説明します。

仮想マシンイメージは、通常 /var/lib/xen/image/MyVmachine に作成されていますが、このファイルを tar 圧縮してリムーバブルメディアにコピーするなり rsync で他のコンピュータにコピーしたり、あるいはバックアップされて今は使っていないイメージを戻して再利用することができます。

今回は既に動作しているイメージを元に、別な仮想マシンをセットアップすることを目標にします。

※ SUSE Linux Enterprise Server(SLES) は、同一マシンで使う場合のライセンスは不要ですが、Windows サーバの場合は仮想マシンの台数ごとにライセンスが必要です。また Windows の場合は SID が同じなのでドメインには参加できません(?) プリインストール版のWindows はライセンス上ハードウェアに紐付けられているので、別なマシンにマイグレーションしてはいけません。

bandit:~ # cd /var/lib/xen/images/ <-イメージ内容を確認
bandit:/var/lib/xen/images # ls
.disk-list W7-32-7000 W7-32manage sles116gx1
bandit:/var/lib/xen/images # mkdir newsrv  <- newsrv 用ディレクトリを作成しコピー
bandit:/var/lib/xen/images # cp sles116gx1/sles116gx1.disk0 newsrv 
bandit:/var/lib/xen/images # cd newsrv/
bandit:/var/lib/xen/images/newsrv # ls
sles116gx1.disk0  <-元のイメージ名なので mv コマンドで名前を代える
bandit:/var/lib/xen/images/newsrv # mv sles116gx1.disk0 newserv.disk0


旧イメージの MAC アドレスを確認

bandit:/var/lib/xen/images/newsrv # cat /etc/xen/vm/sles116gx1
name="sles116gx1"
uuid="b0b11c47-6295-1b66-dce7-c7b6d38224db"
memory=512
vcpus=4
on_poweroff="destroy"
on_reboot="restart"
on_crash="destroy"
localtime=0
builder="linux"
bootloader="/usr/lib/xen/boot/domUloader.py"
bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen"
extra=" "
disk=[ 'file:/var/lib/xen/images/sles116gx1/dsles116gx1.disk0,xvda,w', 'file:/home/maji/ISO/SLES-11-DVD-x86_64-GM-DVD1.iso,xvdb:cdrom,r', ]
vif=[ 'mac=00:16:3e:1b:56:1f', ] <-元のイメージが持っていた MAC アドレス
vfb=['type=vnc,vncunused=1']
bandit:/var/lib/xen/images/newsrv #


仮想マシンの立ち上げ

YaST > Virtual Machine > Create New Machine

I have a disk or image with an installed operating system を選ぶ

SUSE Linux (SLES10) XEN仮想マシンの移植_a0056607_152321.jpg


必要なオペレーティングシステムを選ぶ

ディスクイメージに先ほどコピーしたイメージをセット

SUSE Linux (SLES10) XEN仮想マシンの移植_a0056607_16383467.jpg


MACアドレスに、オリジナルと異なるMACアドレスをセット

新しい仮想マシン名、仮想ディスク、仮想ネットワークカードを設定したら OK で起動を開始します。

SUSE Linux (SLES10) XEN仮想マシンの移植_a0056607_1532265.jpg


SLES 10 でネットワークが認識できない問題

 この問題は Windows および SLES11 では発生しません。SLES10.x 固有の問題のようです。起動時に新しいMACアドレスが認識できず、元のイメージの MAC アドレスで起動しようとします。そのため正しく通信を行うことができません。

SUSE Linux (SLES10) XEN仮想マシンの移植_a0056607_15173519.jpg


SLES 10 の場合、元のイメージに作成されたネットワーク設定を削除し、作り直す必要があります。Domain-0 (親サーバ)から xm console コマンドで Domain-U(仮想マシン)に切り替えます。

bandit:~ # xm list
Name ID Mem VCPUs State Time(s)
newsrv 7 512 4 -b---- 10.1
bandit:~ # xm console newsrv

  : 略

newsrv login:

Welcome to SUSE Linux Enterprise Server 10 SP2 (x86_64) - Kernel 2.6.16.60-0.21-xen (xvc0).


newsrv login: root
Password:********

Last login: Wed Apr 15 16:13:39 JST 2009 on tty1

newsrv:~ # rm /etc/udev/rules.d/30-net_persistent_names.rules
newsrv:~ # rm /etc/sysconfig/network/ifcfg-eth-id-00\:16\:3e\:xx\:xx\:xx

上の2ファイルを削除し、古い設定を削除してしまいます。

次に yast (CUI版) を起動します。

TABキーで Network Devices > Network Card[Enter]

Traditional Setup > XEN 用VM 仮想カードが Not Configured であることを確認して TAB キーで Editへ移動します。

SUSE Linux (SLES10) XEN仮想マシンの移植_a0056607_1639209.jpg


移植したMACアドレスで認識されていることを確認できます。

SUSE Linux (SLES10) XEN仮想マシンの移植_a0056607_15193351.jpg


Static Address にtab キーをあわせて IP Address にスタティックアドレスを設定します。

Hostname and Name Server にtab キーをあわせて HOSTNAME を修正します。

SUSE Linux (SLES10) XEN仮想マシンの移植_a0056607_1520924.jpg


新しい IP が新しい MAC アドレスに設定されたことを確認して Finish します。

Xm console を終了するには CTRL+] を押します。

仮想マシンをリブートして HOSTNAME が変わり、通信できることを確認します。


Windowsの場合

 Windows では xm console コマンドが使えないため xming などの x 端末ソフトウェアから YaST2 > Vitalization > Vitalization Manager から GUI コンソールを使います。

まず、「マイコンピューター」のプロパティから「リモートアクセス」を許可します。

コンピューター名、ドメインまたはワークグループ名を変更します。

SUSE Linux (SLES10) XEN仮想マシンの移植_a0056607_1521150.jpg


IPアドレスを設定しなおします。

SUSE Linux (SLES10) XEN仮想マシンの移植_a0056607_15214543.jpg


全ての設定が変更できたら、Windows を再起動します。リモートデスクトップ接続が行えることを確認します。

-KeyWord-
SUSE Linux Enterprise Server 10 SLES XEN 仮想化 仮想マシンの移植 移動


その他の情報はこちらから
非番のエンジニア
by islandcenter | 2009-04-18 14:23 | XEN | Comments(0)