このページはリンク切れを生じないために残してありますが、内容は古くなっていますのでご注意下さい。
hvmのゲストドメインの構築
次はhvmのゲストドメインを作りました。hvmにするのが目的だったわけではなく、いろいろ検討した結果、hvmを選ぶことになった次第です。
経緯はこうです。まず、実現したかった目標は、Ubuntuのゲストドメインを作ることでした。最初は、Linuxなのでpara-virtualizationするのが当然と思っていろいろ調べてみたんですが、どうもNetBSDのdomain 0の上にpara-virtualizedのUbuntuのゲストドメインを作るのに、あまりいい方法が見つかりません。それならば、一旦、別のハードディスク、あるいはhvmにUbuntuのdomain 0を構築し、その上に構築したゲストドメインをNetBSDにコピーすれば、と思ったんですが、Ubuntu 9.04では、Xenカーネルのパッケージもあり、ゲストドメインを構築するユーティリティもあるようなのですが、domain 0カーネルがないようでした。このようないきさつで、不自然というか不本意ではありますが、hvmでUbuntu 9.04 desktopのゲストドメインを作ることにしました。目的はUbuntuという物を触ってみる環境を作る、程度なので、とりあえずhvmのオーバーヘッドには目をつぶることにします。
www.ubuntu.comのDownloadページ経由で入手したubuntu-9.04-desktop-amd64.isoを/u/guest/imageに置きました。それから/u/guest/conf/guest2を
#
# $Id: hvm-guest.html 140 2019-08-16 02:45:02Z kohi $
#
kernel = "/usr/pkg/lib/xen/boot/hvmloader"
builder = "hvm"
memory = 512
name = "guest2"
vif = ["mac=00:16:3e:00:00:02, bridge=bridge0, type=ioemu"]
device_model = "/usr/pkg/libexec/qemu-dm"
disk = ["file:/u/guest/image/guest2.img,ioemu:hda,w", "file:/u/guest/image/ubuntu-9.04-desktop-amd64.iso,ioemu:hdc:cdrom,r"]
boot = "dc"
vnc = 1
vncdisplay = 2
usb = 1
usbdevice = "tablet"
という内容で作りました。
というのはちょっと不正確で、xm createして、コンソールを拾うのに間髪開けずにVNCで接続するのがばかばかしいので、本当はSDLを使いたいと思って、その設定も試したりしたんですが、/usr/pkgsrc/devel/SDLをmake installしても仮想コンソールのウィンドウが開かないので、結局、上の設定に落ち着きました。SDLの設定は今後の課題ですが、/usr/pkgsrc/sysutils/xentools33/Makefileで
#.include "../../devel/SDL/buildlink3.mk"
と、わざわざSDLに関する行がコメントアウトされているので、NetBSDのpkgsrcのXen3.3では、SDLはサポートされていないのかなぁ、と思っています。
もう1つ、boot=の行ですが、初めは仮想CD-ROMから起動すればいいんだから、と思って'c'を入れずに
boot = "d"
と書いたところ、インストーラから仮想ハードディスクが認識できていなかったので、
boot = "dc"
に書き換えたら、うまくいきました。
VNCの接続先も苦労しました。最初はゲストドメインに接続するのかと思い、でもUbuntuのインストーラってDHCPだしなぁ、と、DHCPのプールアドレス近辺の5900/tcpを手動スキャンしてみましたがつながらず、もしかしたらdomain 0に接続するのか、と思って、手許のWindowsで普段使っているUltraVNCで接続してみたんですが、やっぱりつながらず、domain 0でnetstat -aしてみたところ、5900/tcpをlistenしているのは、127.0.0.1だけだったので(さすが)、とりあえずPuTTYのport forwardingで接続したところ、つながりました。
後は普通にインストールし、/u/guest/conf/guest2のboot=の行から'd'を抜き、'c'だけにして、再起動したら、普通にUbuntuが起動しました。ただ、画面が小さくて使い物にならないので、Ubuntuの/etc/gdm/gdm.conf-customの[servers]のセクションに
0=
というエントリを追加して、仮想コンソールではXサーバを起動しないようにしたところ、まぁ常用はしたくないけど最小限の管理作業程度には実用になるようになりました。また、これとは別にvnc4serverをインストールして、VNC経由で、このゲストのXサーバにアクセスできるようにしました。こっちは仮想コンソール上のXよりはだいぶマシで、大人しい使い方をしていれば、まぁまぁ実用にはなるんですが、とは言え、ときどき浅倉 南・39歳ばりに「いらいらする」。ボトルネックは追求していません。
←Para-virtualizedのゲストドメインの構築へ|↑indexへ|定常運用へ向けて仕上げへ→
last update: $Date: 2019-08-16 11:45:02 +0900 (Fri, 16 Aug 2019) $
Copyright (c) 2009, Koh-ichi Ito, All rights reserved
ページ先頭のアイコン: Copyright(c) 2017 いらすとや, All rights reserved.