kvm on Ubuntu に Windows XP Home Edition をインストールしてみた。
kvm on Ubuntu に Windows XP Home Edition をインストールしてみた。 サックリ入った。 virt-manager を使ってVM作成→CD-ROMドライブの実ドライブを使ってインストールっていう具合。インストール後に UltraVNC server を入れて、virtual machine 側の画面からWindowsにログインして放置しておけば画面もサクサク使える。
何でこんなモノが必要になったかというと...
- うちの会計ソフトがネットワーク共有に非対応。クライアント・サーバ構造になっていないので、ひとつのマシンに会計ソフトをインストールして、リモートデスクトップなどを使って遠隔操作すればOKってことにした。
Windows Live Sync で常時同期を取るためのマシンが欲しかった- だからといって、Windows専用に一台のマシンの電源入れっぱなしはもったいない気がしたので、VirtualMachineに同居してもらうことに。
VirtualMachineを作成時に、Windowsのストレージを間違って20GBと小容量にしてしまった。 再インストールするのは面倒なので、こんな事を行った。
- 元のストレージイメージは qcow2 形式だったので、これを raw 形式に変換。
cd /var/lib/libvirt/images
vm0001.img が元の qcow2 形式、vm0001.raw が出力される raw形式。
qemu-img convert -f qcow2 -O raw vm0001.img vm0001.raw - Hostのファイルシステムにqcow2形式のディスクイメージを作ると、 ホスト側では物理ドライブ, LVM, Ext4, qcow2と、ゲスト側で論理ボリューム,NTFSと、実際のディスクへのIOにかかる処理の数が多すぎる気がしたので、ディスクイメージはraw形式のまま LVM の論理ボリュームにすることに。
- まずは論理ボリューム(LV)の作成。 LVを作るにはボリュームグループ(VG)の空き容量が必要。 適当にディスクを増設するか、既存のLVをリサイズして小さくする。 その後、lvcreate を使ってLVを作成。
lvcreate -L 300G -n vm0001 /dev/vg0000
これでVolume Group vg0000 に 300GiB の論理ボリュームの vm0001 が作成される。 - そして、先ほどのraw形式イメージを論理ボリュームに作成。
dd if=vm0001.raw of=/dev/mapper/vg0000-vm0001 bs=2048
- ディスクの作成が終わったら、VMの設定変更。
/etc/libvirt/qemu/[ゲスト名].xml
にあるゲストVMの設定が書かれたXMLファイルの、ディスクの部分を下記のように変更。<disk type='block' device='disk'>
<source dev='/dev/vg0000/vm0001'/>
<target dev='sda' bus='scsi'/>
</disk> - rawイメージそのままでは、相変わらず20GBのパーティション容量なまま。 ゲスト側 VM で gpartedのCD-ROMイメージ(ISO)を起動して、NTFSの容量を20Gから300Gに変更
- gparted が終わってWindowsを起動すると、Windowsでディスクチェックが走って、以上完了
その他に実行したこととしては、ゲスト側のハードウェアクロック(時計)のタイムゾーンをローカルタイムに変更したところ。 virt-manager が作る設定では、標準ではUTCになっているので、これを localtime に。 設定は /etc/libvirt/qemu/[ゲスト名].xml
のXMLファイル中に、下記のような内容を。
<clock offset='localtime'/>
今回使ったWindowsXPのインストールCDは、ServicePack3をすでに適用したものだったのだが、この段階から適用された Microsoft Update のパッチが 81件+5件だった。 大量すぎw
これを構築して OpenVPN 経由でリモートから自宅で動いている Windows に VNCでログインしてみたところ、画面の更新がメチャ早ってわけではないが、とくにコマ落ちすることもないみたいなので、OK。 WiMAXでも十分な速度が出ていたよ。
コメント
コメントを投稿