lost and found ( for me ? )

KVM : how to install WIndows 2008 R2 with virtIO disk and ethernet.

Win2008 R2のVM作成時に virtio のドライバを読み込ませて、virtio デバイス上にインストールする方法

root@hat1:~# tail -1 /etc/lsb-release
DISTRIB_DESCRIPTION="Ubuntu 10.10"

root@hat1:~# uname -r
2.6.35-24-server

root@hat1:~# kvm -version
QEMU PC emulator version 0.12.5 (qemu-kvm-0.12.5), Copyright (c) 2003-2008 Fabrice Bellard


[ 手順 ]

1.virtioドライバを準備
2.virt-managerでWin2008用のVMの箱(?)を準備
3.virt-mangaerで 2.で追加した NIC , Disk を削除
4. virt-managerで新規に virtio NIC , Disk を作成
5. virt-managerでフロッピーデバイスを追加。Win2008インストール中にvirtio driverをインストールするため
6. Win2008 をインストール
7. インストール後、Win2008のデバイスマネージャで Disk , NIC が virtiio になっていることを確認する。



・virtio とは?

ざっくりいうと、準仮想デバイス。完全仮想化によるI/Oのオーバヘッドを軽くする。
VMware の VMware Tools と同等。詳しい違いはわからぬので、グーグル先生に訪ねてみてください。



[ let’s try step by step ]



1. virtio ドライバをダウンロード

とりあえず、iso と vfd ダウンロード
root@hat1:~# wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-1.1.11-0.iso

root@hat1:~# wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-1.1.11-0.vfd


-- メモ: 今回は下記をやる必要なし 

Win 2008 , Vista , 7 の 64bit版はデバイスドライバにデジタル署名が必要。
デジタル署名されてい場合をインストールする場合、 起動時に F8 ->  “ドライバ署名の強制を無効にする”を選択し起動する。
# VM起動したら、F8を押しっぱ、っていう感じ






今回、ダウンロードした virtio drivers は署名されているって書いてあるので、たぶん上記の”ドライバー署名の強制を無効にする”はやらなくて大丈夫なはず。

Binary Drivers

Binary drivers are provided by some Linux distributions including WHQL Certified drivers.
For Windows 7 and Windows Server 2008 drivers need to be signed by the packager.
In addition these platforms require WHQL certified and signed drivers.
http://msdn.microsoft.com/en-us/library/ff547565.aspx
http://msdn.microsoft.com/en-us/library/ff547534%28VS.85%29.aspx
If your distribution does not provide binary drivers the Fedora Project package can be downloaded from the following link.
Download Latest VirtIO Win drivers from Fedora
Note: These drivers are signed but not WHQL Certified


--メモ  ここまで



isoとvfd のvirtioドライバをダウンロードしたけどvdfだけでよかったかも。
vfdはフロッピーイメージ(表現正しい?)
root@hat1:~# file virtio-win-1.1.11-0.vfd
virtio-win-1.1.11-0.vfd: DOS floppy 1440k, x86 hard disk boot sector


2.virt-managerでWin2008用のVMの箱(?)を準備



まずは virt-manager で win 2008 R2用の VM を作成。このときのDisk , NIC は virtio ではない。



3.virt-mangaerで 2.で追加した NIC , Disk を削除



virt-manager でDiskとNIC を削除 ( Disk と NIC がない )



4. virt-managerで新規に virtio NIC , Disk を作成



新規にDiskとNICを作成。virtio で作成する

Disk追加 ( Virtio Disk )NIC追加 ( virtio )






5. virt-managerでフロッピーデバイスを追加
 ( Win2008インストール中にvirtio driverをインストールするため )



あとは、virtio driver をインストール用のフロッピ or CD-ROM を作成。
フロッピードライブを作成。参照先は virtioドライバ ( vfd ) を指定。



Boot options は CD-ROM ( win2008R2のISO)を最初に読み込むようにする。



上記を実施した後の xml ファイル。
root@hat1:~# virsh dumpxml win2008-R2-1

root@hat1:~# virsh dumpxml win2008-R2-1
<domain type='kvm'>
  <name>win2008-R2-1</name>
  <uuid>8484661a-d1c4-8496-7ece-3d4454348dc2</uuid>
  <memory>524288</memory>
  <currentMemory>524288</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-0.12'>hvm</type>
    <boot dev='cdrom'/>
    <boot dev='hd'/>
    <boot dev='fd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/media/disk1/KVM_images/ja_windows_server_2008_r2_standard_enterprise_datacenter_and_web_x64_dvd_x15-59766.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/var/lib/libvirt/images/win2008-R2-1.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </disk>
    <disk type='file' device='floppy'>
      <driver name='qemu' type='raw'/>
      <source file='/media/disk1/KVM_images/virtio-win-1.1.11-0.vfd'/>
      <target dev='fda' bus='fdc'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='fdc' index='0'/>
    <interface type='bridge'>
      <mac address='52:54:00:48:05:e3'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes'/>
    <sound model='ac97'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='vga' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
</domain>


6. Win2008 をインストール



では、Win 2008 R2 をインストール。

インストールするデバイスが見つからず、ドライバのインストール画面が表示されるので、フロッピー →
Win2008 フォルダ → OK



VirtIO Ethernet と SCSI を選択してインストール


どうでしょうか。。。。



おー、ディスク( virtio ) 認識した。




あとはサクサクインストール。



7. インストール後、Win2008のデバイスマネージャで Disk , NIC が virtiio になっていることを確認する。



インストール後のデバイスマネージャ
Disk , NIC が VirtIO になっている




get things done!

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.