KVM上のWindows 10でやっていくメモ

ギョーミングPCを mac mini 上に openSUSE Leap 42.3 を入れて仕事してるんですが、なんやかんやで Excel や Word が必要になるのでデスクトップ仮想化用として VMware Workstation を使っていました。 しかし環境を mac mini に移してからなぜか VMware 上の Windows のパフォーマンスが激悪い。Windows 7もWindows 10も重い。

SSDを載せたラップトップ(こちらも openSUSE)では特に問題ないので I/O wait が悪いのか?と思って調べてみましたが、どうやらI/Oが発生していなくてもCPUが常時50%程度 VMware に喰われているようで、mac mini の粗末なファンから爆音がなりっぱなしになる始末。 これではしんどいので、VMware をやめて libvirt+KVM に引っ越してみたときのメモです。

事前準備

YaST -> ハイパーバイザとツールのインストール -> KVM サーバを入れておきます。 openSUSE は Xen の実績が多いらしいですが、やっぱり VMware も使いたいとなったときに Xen だと何か問題が起こりそうだったので、KVM にしました。

ブリッジインタフェースの作成

libvirt の macvtap を使えばデフォルトでもゲストからインターネットにアクセスできるのですが、macvtap だとホスト->ゲストにアクセスができないので、ブリッジインタフェースを作成します。 最初は NetworkManager でブリッジを作成しようとしていましたが、なぜかDHCPでアドレスが取れない現象が発生していたので NetworkManager はオフにする方針で設定します。

  1. YaST -> ネットワークの設定 を開く。
  2. グローバルオプション -> ネットワークの設定方法 を NetworkManager サービスから Wicked サービスに変更する。
  3. 概要 -> 追加 でブリッジ br0 を作成し、スレーブに eth0 を選択。
  4. 適用後、再起動。

Windows のインストール

  1. virt-manager を開き、ストレージプールを新規作成。~/libvirt/images にディスクイメージを置けるようにする。
  2. 新規仮想マシンを作成。その際にHDDをIDE->VirtIOに変更。同様にネットワークインタフェースもVirtIOに変更。
  3. VirtIOのドライバのISOイメージを https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html からダウンロードしておく。
  4. http://itiut.hatenablog.com/entry/2014/06/03/003321 を参考に、インストール時にHDDとNICのVirtIOドライバをセットアップしてインストールする。

インストール後の作業

インストールが終わったらリモートデスクトップをONにしておきます。これでKRDCなどのクライアントで接続して操作できるようにしておく。virt-manager からも画面は開けるけれど、あまり反応速度が良くないのでリモートデスクトップで繋いで操作したほうが快適でした。

とりあえず以上。

social