適当に・・・

何の目的も無くブログを立ち上げてみました。更新は不定期ですね。

仮想化

2008年03月30日 13時52分38秒 | Weblog
仮想化

CentOS5を入れXenで仮想化を試そうと思ったところ、
なんかCPUとかBIOSとかが完全仮想化に対応していないと
いう趣旨のエラーが出た。

Linux Onlyだとちょい支障があるので、適当に調べていたら
VMware Playerなる物があるとのこと。

早速、rpmをダウンロードしてきてインストール。

・・・・しかしどうやって起動するんだ?コレと思って、再び調べる。
/usr/bin/vmplayerで起動するらしい。
(パスが通ってるので vmplayerで起動する。)

そうすると、なんだかコンフィグがどうのこうのと・・・・
/usr/bin/の下に vmware-config.pl と言うのがあるのでこれを
実行しろとの事。/usr/bin/vmware-config.plを実行して対話形式で
入力していく。
すべてデフォルトで答えて行くと kernel ・・・ C Library ・・・ include・・・
また、不明な事が出てきたw
カーネルのソースのインクルードを指定しろとの事だったが、そんなものいれてない。

yum list kernel-*で出てきた一覧を見る。

kernel.i686 2.6.18-53.1.14.el5
kernel-devel.i686 2.6.18-53.1.14.el5
kernel-doc.noarch 2.6.18-53.1.14.el5
kernel-headers.i386 2.6.18-53.1.14.el5
kernel-xen.i686 2.6.18-8.el5
kernel-xen.i686 2.6.18-53.1.14.el5
kernel-xen-devel.i686 2.6.18-53.1.14.el5
kernel-PAE.i686 2.6.18-53.1.14.el5
kernel-PAE-devel.i686 2.6.18-53.1.14.el5
kernel-debug.i686 2.6.18-53.1.14.el5
kernel-debug-devel.i686 2.6.18-53.1.14.el5

出たので kernel-headers.i386を入れる。いれたら、さっきの質問に
/usr/src/kernels/2.6.18-53.1.14.el5-xen-i686/include
と答えて先に進めた。すべて入力が終わりコンソールからvmplayerと入力したら。
・・・ Xen ・・・ hypervisor disableまた不明なエラーが・・・・
調べてみるとXenのカーネルで立ち上がってるのでnomal kernelで立ち上げて
再度、/usr/bin/vmware-config.plを実行し、今度は
/usr/src/kernels/2.6.18-53.1.14.el5-i686/includeを指定して。
再度、vmplayer起動。 おおっ あがった。 だか、どうやってWindowsXP、入れるんだ?

調べていくと .vmxファイルというvmを定義するファイル?が必要とのこと
自動で作ってくれるサイトとか紹介してくれているところがあるが、404だったりで困った。
qemuという vm を定義するのに便利なツールがあることもわかった。
早速 yum -y install qemu.i386 でインストール で mkdir /opt/windows/ で、windows専用作業ディレクトリを作成(失敗したらここを全て飛ばすw)

windowsxp をインストールする仮想のHDDを作らねば、ならないとの事で、
qemu-img create -f vmdk windows.vmdk 100GとしてCドライブのHDDを作成した。
もうひとつDドライブが欲しいのでqemu-img create -f vmdk windows.vmdk 120G として作成
肝心のwinxp.vmxは

#!/usr/bin/vmware
config.version = "8"
virtualHW.version = "3"
memsize = "1536"
ide0:0.present = "TRUE"
ide0:0.fileName = "windows.vmdk"
ide0:1.present = "TRUE"
ide0:1.fileName = "windows1.vmdk"

ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.fileName = "/dev/fd0"
ethernet0.present = "TRUE"
ethernet0.connectionType = "bridged"
ethernet0.txbw.limit=100000
ethernet0.rxbw.limit=100000

usb.present = "TRUE"
sound.present = "TRUE"
sound.virtualDev = "es1371"
displayName = "WindowsXP"
guestOS = "winxppro"
nvram = "winxppro.nvram"
scsi0:0.redo = ""
ethernet0.addressType = "generated"
uuid.location = "56 4d 1a 3b 1c 1b 56 ab-df e8 bb 13 e3 1a 8a bd"
uuid.bios = "56 4d 1a 3b 1c 1b 56 ab-df e8 bb 13 e3 1a 8a bd"
ide1:0.autodetect = "TRUE"
ethernet0.generatedAddress = "00:0c:29:1a:8a:bd"
ethernet0.generatedAddressOffset = "0"
checkpoint.vmState = "winxp.vmss"
tools.remindInstall = "TRUE"
ide0:0.redo = ""

gui.fullScreenAtPowerOn = "TRUE"

extendedConfigFile = "winxp.vmxf"
virtualHW.productCompatibility = "hosted"
tools.upgrade.policy = "manual"

ide0:1.redo = ""

こんな感じで定義した。(各パラメータの意味は不明www)
windowsxpのインストールCDをCDROMにいれて、
winxp.vmxファイルを実行すると、インストール開始。
インストール途中で ctrl+altでvmplyerの画面から抜けるとインストールが
うまくいかない事があったw(2度ほどインストールしましたw)

しばらくvmplayerでwindows xp使ってるが_(アンダーバー)が入力できないのは
不具合なのか?Linuxでは入力できるのでキーボードの破損では無い模様w
まあ、目的の仮想化が実現できたので多少の事は多めに見てます。

追記
キーボードのアンダーバー等の入力はどうやら
~/.vmware/preferencesに
xkeymap.keycode.211="0x073"を加える事により解消。
これで、不便がなくなった。