Windows Guest on Solaris xVM (Nevada 75a)

Solaris Express, Community Edition(SXCE)ビルド75aにXen(Solaris xVM)が統合されたので、Sun Fire X2200 M2を借りてDom0(ホスト)にNevada 75a、DomU(ゲスト)にWindowsを入れて試してみました。

Nevadaビルド75aではxm(1M)、virt-install(1M)コマンドなどで管理できます。各コマンドのmanページはありますが、まだ公式ドキュメントがないので、OpenSolarisのXenプロジェクトが参考になります。今後virt-managerというGUI管理ツールが追加される予定です。

必要なもの

  • Solaris Express build 75 x86プラットフォーム
  • IntelのVTまたはAMDのAMD-Vに対応したシステム
    Xenのゲストには2種類あり、OS側でXenに対応させたParavirtualization(PV)と、仮想化をサポートするプロセッサで動作するHardware Virtual Machine(HVM)があります。WindowsはPV未対応なので、仮想化に対応したシステムにHVMとしてインストールします。各プロセッサの対応状況はWikipedia等が参考になると思います。PV対応OSの場合はVT/AMD-V非対応でも構いません。
  • WindowsのCDメディアまたはCDイメージ(ISO)
    今回はWindows Server 2003 R2 評価版のCDイメージを使用しました。

実際に試した手順は次の通りです。

  1. まず、Dom0(ホスト)を起動
    GRUBで新たにメニューに追加された「Solaris xVM」を選択します。

    Solaris Express Community Edition snv_75a X86
    Solaris xVM
    Solaris failsafe
    
    起動後、unameコマンドを確認したところ、プラットフォーム名がi86pcの代わりにi86xpvと表示されています。
    # uname -a
    SunOS solaris 5.11 snv_75 i86pc i386 i86xpv
    

  2. VNC のパスワードとアクセス制限を設定

    # svccfg -s xend setprop config/vncpasswd = astring: \\"root\\"
    # svccfg -s xend setprop config/vnc-listen = astring: \\"0.0.0.0\\"
    # svcadm restart xend
    
    ここではパスワードをrootに設定しています。

  3. virt-install でインストール
    virt-install がファイルを作成してくれるので、事前にファイルを用意する必要はありません。

    # virt-install -n win2003 --hvm -r 256 --vnc \\
    	-f /export/windows/win2003-disk.img -s 16 \\
    	-c /export/windows/win2003-cd1.iso
    
    -n win2003はゲストOSの識別名(自由に付けてOK)、--hvmはHVMの指定、-r 256は割り当てるメモリ容量(MB)、--vncはVNC経由で表示、-f ファイル名はHDDイメージ、-s 16はHDDイメージサイズ(GB)、-c ファイル名はCDROMイメージです。

  4. VNCのクライアントを起動
    プロンプトが表示されたらVNCパスワードを入力します。

    # vncviewer :0 &
    
    Windowsのセットアップ(青い画面)が開始します。途中、ライセンス同意でF8を入力すると"VNC Menu"がポップアップされますが、"Dismiss Menu"で閉じます。インストール関連ファイルがコピーされると、ゲストが自動的にshutdownされて、VNCのクライアントが終了します

  5. 構成ファイル(win2003.hvm)を用意する
    本当はこのままセットアップを継続したいのですが、Windows 2003 HVMでVNCマウスポインタがずれてしまうバグがあるので、回避策のusb=1,usbdevice="tablet"を追加するために構成ファイルを使用します。

    name = "win2003"
    memory = 256
    disk = [ 'file:/export/windows/win2003-disk.img,hda:disk,w',
             'file:/export/windows/win2003-cd1.iso,hdc:cdrom,r' ]
    builder='hvm'
    kernel = "/usr/lib/xen/boot/hvmloader"
    device_model = '/usr/lib/xen/bin/qemu-dm'
    vif = [ 'type=ioemu' ]
    boot='c'
    sdl=1
    monitor=1
    vnc=1
    usb=1
    usbdevice="tablet"
    

  6. ゲスト構成を作り直す
    いったんWindowsゲスト構成を削除してから、作成した構成ファイルで再度ゲストを作成します。

    # xm delete win2003
    # xm new win2003.hvm
    # xm start win2003
    # vncviewer :0 &
    
  7. Windows にログインする
    Windowsのインストールが完了して再起動するとVNCクライアントが終了するので、またvncviewerを起動します。

    # vncviewer :0 &
    
    ログインプロンプトを表示するためにCtrl-Alt-Delを入力しなくてはいけませんが、そのまま入力するとSolarisのプロセスマネージャが起動してしまうので、vncviewr上でF8キーを押すとメニューが表示されるので、"Send Ctrl-Alt-Del"を選びます。

  8. CDを入れ替える
    Windowsにログインすると2枚目のインストールCDを入れるよう促されるので、次の方法で別のCDイメージを指定します。
    ctrl-alt-2
    (XVMXen) eject hdc
    (XVMXen) change hdc /export/windows/win2003-cd2.iso
    ctrl-alt-1
    
    うまくいかないことがあるようで、ejectchangeを何回かトライしてもダメなら、構成ファイルのCDROMファイル名を変更して、xm deletexm newで再構成して下さい。

vncviewerでWindowsデスクトップを表示したところ
投稿されたコメント:

コメント
  • HTML文法 不許可
About

sasanuma

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日