LoginSignup
7
8

More than 3 years have passed since last update.

Openstack上でWindows10のVMを起動する。(KVM上でWindows10のVMを起動する。)〜MacからWindowsへのRDP接続まで〜

Last updated at Posted at 2019-10-13

「Openstack環境下でもWindowsが使いたい!」という事で、KVM上でWindows10VMを使える状態、Openstackで管理できる状態にします。

もくじ

  • virtを使ったWindows10仮想マシンのインストール
  • OpenstackへのWindows10仮想マシンの登録
  • 仮想マシンディスク容量の拡張
  • MacからWindow仮想マシンへのリモートデスクトップ接続

動作環境

  • ホストマシン: Ubuntu server 18.04
    • Openstack queens(Ubuntuリポジトリからのダウンロード)
  • ゲストマシン: Windows10

Untitled1.png

virtio-winをダウンロード

virtioは仮想化環境のためのI/Oフレームワークです。KVMでWindows10のVMを利用するために必要なのでインストールします。

以下のURLの下のほうにvirtio-win.isoのダウンロードリンクがありますので、ホストマシンにダウンロードしておきます。
StableとLatestがありますが、今回はStableを選択しました。

virtio-winのダウンロード
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

windows10.isoのダウンロード

以下からwindows10のisoファイルをダウンロードします。
https://www.microsoft.com/en-us/software-download/windows10ISO

wgetで取る方法が分からなかったので、一旦メインPCであるMacでダウンロードしてscpでUbuntuに送り込みました。

インストール用ディスクの作成


$ qemu-img create -f qcow2 ./empty-disk.qcow2 1G
Formatting './empty-disk.qcow2', fmt=qcow2 size=1073741824 cluster_size=65536 lazy_refcounts=off refcount_bits=16
$ qemu-img create -f qcow2 ./Windows10.qcow2 20G
Formatting './Windows10.qcow2', fmt=qcow2 size=21474836480 cluster_size=65536 lazy_refcounts=off refcount_bits=16

emptyディスクは後ほどwindows上でvirtioドライバをインストールする際に必要となります。

windowsのインストール

ダウンロードしたwindows10のファイル名はwindows10.iso
ダウンロードしたvirtio-winのファイル名はvirtio-win.iso
となったときのインストールコマンドは下記です。

余裕があればCPU, メモリは増やしたほうがインストールが早めに終わるかと思います。
後ほどvirtio-winドライバをインストールするemptyディスクにはbusのタイプとしてvirtioを選択します。
ここで、

  • 空のディスク
  • 仮想ネットワーク

をアタッチすることでwindowsにデバイスを認識させ、そのデバイスに対してvirtio-winドライバーをインストールします。

$ virt-install --connect qemu:///system --name Windows10 --ram 4096 --vcpus 8 --network bridge=virbr0,model=virtio --disk path=Windows10.qcow2,format=qcow2,device=disk,bus=ide --disk path=./windows10.iso,device=cdrom,bus=ide --disk path=./virtio-win.iso,device=cdrom,bus=ide --disk path=empty-disk.qcow2,format=qcow2,bus=virtio,cache=none --graphics vnc,port=5901,listen=0.0.0.0 --os-type windows --os-variant win10

ちなみに--os-variantで指定出来る値は以下のコマンドで確認できます。

osinfo-query os

以下のサイトを参考にしました。ありがとうございました。
参考:http://blog.bit-isle.jp/bird/2015/12/1104

Windows10 VMへアクセス

ここからはVMの画面にアクセスする必要があります。
手順は割愛しますが、

  • (メインPCがmacなので)XQuartzをインストール・起動し
  • sshで-Xコマンド付きでログイン
  • コマンドラインでvirt-managerを起動

という手順でUbuntuServer上のvirt-managerがメインPCで表示されるようにします。
virt-installコマンドで実行中のVMがvirt-managerに表示されますので、"Open"をクリックしてVM画面を表示します。

Screen Shot 2019-10-13 at 4.17.08 PM.png

画面を開くとWindowsのインストール画面が出ますので、カスタムインストールとして進めましょう。

Screen Shot 2019-10-13 at 4.21.03 PM.png

ちなみにWindowsのプロダクトキーは後から入れることもできるので、一旦「プロダクトキーがありません」を選択してインストール作業を進めることもできます。
OSはWindows10 Proを選択しました。ちなみにWindows10 Proでないとリモートデスクトップができないようです。
途中でリブートが入りますが、シャットダウンだけしてブートしない事がありました。
そのときは手動で立ち上げてください。

Windowsが起動したあと、デバイスマネージャーからvirtio-winのドライバをインストールします。
Screen Shot 2019-10-13 at 5.21.16 PM.png
ほかのデバイスに表示される全てにvirtio-winドライバをインストールします。
Screen Shot 2019-10-13 at 5.22.11 PM.png
CDドライブのEにvirtioが割り当てられていたため、選択しインストールします。
Screen Shot 2019-10-13 at 5.22.23 PM.png
Screen Shot 2019-10-13 at 5.22.30 PM.png
Screen Shot 2019-10-13 at 5.22.38 PM.png

以上で、KVM上でWindows10を使うことができるようになりました。

OpenstackでWindows10 VMを管理する。

イメージのアップロード

インストールの際に利用したWindows10.qcow2イメージをopenstackにアップロードします。
10Gほどあったため、結構時間がかかりました。

openstack image create --file ./Windows10.qcow2 --disk-format qcow2 --public Windows10_Pro

ボリュームの作成

イメージからボリュームを作ってインスタンス起動します。
500Gのボリュームをつくりました。これも割と時間がかかります。

ubuntu_horizon_project_volumes_.png

インスタンスの作成

ボリュームからインスタンスを起動します。

ubuntu_horizon_project_volumes_ (1).png

HorizonのVNCからもWindowsが起動できていることが認識できます。

ubuntu_horizon_project_instances_a7061c52-878e-477f-92f9-7ba586197342_.png

IPアドレスの確認

Openstack上では192.168.11.102のIPが振られていますので、当然windowsVMにも同じIPが振られています。

ubuntu_horizon_project_instances_.png
Screen Shot 2019-10-13 at 7.29.33 PM.png

ディスクの設定

インストール時につかったディスク(Windows10.qcow2)が20Gだったため、20GしかCドライブどして認識されていません。
500Gのボリュームで作成したため、480G未使用領域があります。これをCドライブに結合します。

ウインドウズボタンを右クリックして、"ディスクの管理"から実施します。

Screen Shot 2019-10-13 at 7.30.06 PM.png

Screen Shot 2019-10-13 at 7.30.31 PM.png

Screen Shot 2019-10-13 at 7.30.48 PM.png

Cドライブに500Gが割り当てられました!

Screen Shot 2019-10-13 at 7.58.12 PM.png

リモートデスクトップの設定

Windows側でリモートデスクトップ設定をオンにする。

Screen Shot 2019-10-13 at 7.39.27 PM.png
Screen Shot 2019-10-13 at 7.39.33 PM.png

セキュリティグループの設定を追加する。

RDPは3389のポートを使うので、3389を開放します。調べてみるとUDPの3389も使うようですが、とりあえずTCPの3389だけ開けて接続可能でした。

ubuntu_horizon_project_security_groups_5c2b77de-b042-4b56-a0dd-c2d4c867b517_.png

ubuntu_horizon_project_instances_ (1).png

リモートデスクトップビューワーの設定

当方のメインPCがmacなので、macからwindowsへRDP接続する方法です。利用するソフトウェアが違うだけで実質同じことをするかと思います。
Microsoft製のビューアーがAppStoreにあるのでこれをダウンロードします。
2つ種類がありますが、どちらでもアクセス可能でした。

無事、リモートデスクトップ接続できました!

Screen Shot 2019-10-13 at 7.51.41 PM.png

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8