labunix's blog

labunixのラボUnix

■Windows on KVMの環境を作成してみる。

■Windows on KVMの環境を作成してみる。

 awsの無料枠で、t2.microのMicrosoft Windows Server 2019 Datacenterを使ってみたが、
 キーマップも英語配列なのは良いとしても、すぐバーストして遅くて待てない。
 起動時間単位で無料枠も減っていくので、同じ構成ならKVM上で構築した方がまだマシ。

 https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2019

■ただ、構成は参考になるので、t2.microを参考に。

 リージョン  :us-east-2
 CPU         :1コア([01]: Intel64 Family 6 Model 63 Stepping 2 GenuineIntel ~2400 Mhz)
                Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz [Family 6 Model 63 Stepping 2]
                Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz [Family 6 Model 63 Stepping 2]
                Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz [Family 6 Model 63 Stepping 2]
 メモリ      :1GB、最大2GB。
 ディスク    :30GB
 ネットワーク:1NIC

■CPU2コア、メモリ2GB(最大4GB)、ディスク40GB、1NIC(virtioではなくe1000e)で構成。
 OSはWindows Server 2019 Standard Evaluation(デスクトップエクスペリエンス)

$ sudo dmidecode -t processor | grep Version
	Version: Intel(R) Xeon(R) CPU E31280 @ 3.50GHz

$ virsh list --all | grep win2k19
 -    win2k16                 shut off

$ virsh setmaxmem win2k19 4G --config
$ virsh dominfo win2k19 | awk '/CPU|memory/&&!/time/'
CPU(s):         2
Max memory:     4194304 KiB
Used memory:    2097152 KiB

$ virsh dumpxml $(virsh list --all | awk '/win2k19/{print $2}') | \
    awk 'BEGIN{f=0}{if($1=="<interface"||$1=="</interface>") \
              {f+=1;print $0}else{if(f==1){gsub(":[0-9a-f][0-9a-f]",":XX",$0);print $0}}}'
    <interface type='bridge'>
      <mac address='52:XX:XX:XX:XX:XX'/>
      <source bridge='virbr0'/>
      <target dev='vnet1'/>
      <model type='e1000e'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </interface>

$ virsh start win2k19

$ virsh list | grep win2k19
 8    win2k19       running

$ virsh domiflist win2k19
 Interface   Type     Source   Model    MAC
-----------------------------------------------------------
 vnet1       bridge   virbr0   e1000e   52:54:00:b3:15:41

$ sudo brctl show virbr0
bridge name	bridge id		STP enabled	interfaces
virbr0		8000.5254003f0ccc	yes		virbr0-nic
							vnet0
							vnet1