更新)

VDIの導入に向けて:構築編

カバー

[!] この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

前回は、VDIとはどのようなものなのか紹介しました。
今回は、OpenStack上でどのようなVDI環境を構築したかを、ご紹介します。

導入に向けた環境準備と事前検証

VDIの導入に向けた環境準備と、既存のデスクトップPCとの機能性/性能の差異を確認するための事前検証を実施しました。

1.環境準備

導入に向けて、検証が必要なため、以下を準備しました。

  • VDIライセンスである「Windows Virtual Desktop Access サブスクリプション」ライセンス
  • VDI接続用のシンクライアント端末
  • 検証用のVDI向けサーバー

検証用のサーバーは既存のOpenStack環境のComputeノードとして組み込みました。
サーバーのスペックは以下のとおりです。

項目構成内容
台数2台
サーバーCPU (1台にはNVIDIAのGPUを搭載)Xeon(R) Gold 6132 x2(2.6GHz 14C28T)
サーバーメモリ320GB
システムディスク2.4TB(RAID10)
サーバーOSCentOS

2.Windowsイメージ作成

VDIを提供するWindowsイメージは、Microsoftが提供しているWindowsイメージのままではKVMで動作しているOpenStack上のインスタンスとしては動作しないため、OpenStackの公式ページを参考に、以下の手順で作成しています。

<事前準備>

<イメージ作成作業>

  1. OpenStackとは別のデスクトップPCでOracle VirtualBoxを起動し、COM1ポートを有効に、ネットワーク設定でデフォルトを準仮想ネットワークに設定し、Windows10のマシンを起動
  2. 起動すると、ドライバがインストールされていないネットワークインタフェース(!マークの付いたデバイス)が表示
  3. virtIOのISOイメージをマウントし、ドライバ更新を実行
  4. RDP接続するためリモートデスクトップを有効化
  5. Windows10をシャットダウンし、仮想化インタフェースをKVMにしてWindows10のマシンを起動
  6. virtIOのディスクドライバをインストール
  7. CloudbaseInitSetupを実行、セットアップが終わると自動的にシャットダウン
  8. vmdkをLinux上でqcow2形式に変換
  9. qcow2形式でイメージを登録

3.事前検証

上記までで準備した検証環境とWindowsイメージを用い、起動させたVDIと既存デスクトップPCで以下の調査を実施しました。

検証分野検証項目検証詳細
性能業務での使い勝手業務で利用するアプリの操作感覚(機能、体感性能)を確認する
高負荷時の動作負荷が高い状態でアプリを実行した場合の性能を確認する
多数のVDIを同時に運用した場合の性能を確認する
一度に運用できるVDIの台数上限を確認する
定量的な性能確認ベンチマークツールを利用して物理PCとのスコア比較を行う
機能VDIの起動・停止・接続VDIのOS起動・停止・接続に関する手順や必要な権限を確認する
Windowsの各種機能の動作各種アプリのインストール、使用が通常通り行えるか確認する
VDIのWindowsの各種機能(ショートカットキー、各種設定、Windows Updateなど)が正しく動作するか確認する
ハードウェアのモデルや数量、拡張機能がVDIから正しく認識されるか確認する
ゲスト管理OpenStackインスタンスとしての操作従来のOpenStackインスタンスと同等にダッシュボード上で管理操作が可能か確認する
リモート管理の利用VDIに対して外部からリモート管理ログオンを実施し、ウィルススキャン等が可能であるか確認する
VDIのライセンス管理VDIのOSや各種アプリのライセンス管理方法を確認する
VDIを作成・複製・リサイズ・削除・リストアした場合、OS等のライセンス登録状態に影響があるか確認する
リソース共有リモートデスクトップの共有VDIとのクリップボード、ドライブなどのリソースが共有できることを確認する
接続環境リソース消費VDIのローカルリソース、ネットワークリソースの消費量とインスタンス作成・利用状況との関係を確認する
接続元端末のLinux化VDIに接続する端末をLinuxとした場合、VDIにリモート接続する手段として、どのようなソフトが利用できるか確認する
VDIに接続する端末をLinuxとした場合の環境構築手順を確認する
その他仮想環境におけるGPUの利用VDIでGPUを利用するための設定・管理・運用手順を確認する
VDIでGPUを利用した際の性能を確認する

検証結果としては以下のような問題がありましたが、総合的には問題ないと判断したため、本格導入することになりました。

  • セーフモードで起動した場合、RDPホストサービスが起動してこないため、OpenStackダッシュボード等からローカルコンソールを利用する必要あり
  • スリーブモードについては利用は不可
  • OpenStackで提供するVDIはKVMを使用した仮想マシンのため、以下のような仮想マシンの起動は不可
    • Oracle Virtual Boxでの仮想マシン起動不可
    • Hyper-Vでの仮想マシン起動不可
  • ハードディスクの暗号化は不可
  • 今回の検証で使用したOpenStackバージョン(mitaka)ではvGPUに対応していないためGPUを用いたインスタンスの利用は不可

4.検証後に構築したVDI向けサーバー構成

検証後、利用者も増えることで、現在では検証用に購入したサーバーも含め、以下のようなサーバー構成(計8台)でVDIを提供しています。 また、VDIライセンスも追加購入を実施しています。

  • 構築したサーバー構成
項目構成内容
台数2台
サーバーCPUXeon(R) Gold 6132 x2(2.6GHz 14C28T)
サーバーメモリ320GB
システムディスク2.4TB(RAID10)
サーバーOSCentOS
項目構成内容
台数2台
サーバーCPUXeon(R) Gold 6132 x2(2.6GHz 14C28T)
サーバーメモリ520GB
システムディスク3.2TB(RAID10)
サーバーOSCentOS
項目構成内容
台数4台
サーバーCPUXeon(R) Gold 5218 (2.3GHz 16C32T)
サーバーメモリ520GB
システムディスク3.2TB(RAID10)
サーバーOSCentOS

5.提供しているVDIスペック

現在提供しているVDIのスペックは以下のとおりです。
利用目的に応じて、メモリやローカルディスクのサイズを変えて提供しています。

項目構成内容
提供OSWindows7/Windows8/Windows10
CPU数4
メモリ4GB/8GB/16GB
ローカルディスク(Cドライブ相当)60GB/80GB
ボリュームディスク(Dドライブ相当)80GB

VDIに外部アクセスを開放するため、以下のセキュリティグループを設定しています。

ポート番号プロトコル説明
-ICMPPing応答用
137TCP&UDPNetBIOSファイル共有
138UDPNetBIOSファイル共有
139TCPNetBIOSファイル共有
445TCPDirectSMBファイル共有
3389TCPリモートデスクトップ接続で使用
5985,5986TCPPowerShellによるリモートメンテナンス作業用
7000~8999TCP利用者により任意に割り当て可能ポート

次回予告

上記のように構築したサーバー/VDI用のイメージを準備し、現在では250台近くのVDIが動作しています。
次回は構築時/運用中のトラブルについてご紹介いたします。


TOP
アルファロゴ 株式会社アルファシステムズは、ITサービス事業を展開しています。このブログでは、技術的な取り組みを紹介しています。X(旧Twitter)で更新通知をしています。