
[!] この記事は公開されてから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) |
サーバーOS | CentOS |
2.Windowsイメージ作成
VDIを提供するWindowsイメージは、Microsoftが提供しているWindowsイメージのままではKVMで動作しているOpenStack上のインスタンスとしては動作しないため、OpenStackの公式ページ ⧉を参考に、以下の手順で作成しています。
<事前準備>
<イメージ作成作業>
- OpenStackとは別のデスクトップPCでOracle VirtualBoxを起動し、COM1ポートを有効に、ネットワーク設定でデフォルトを準仮想ネットワークに設定し、Windows10のマシンを起動
- 起動すると、ドライバがインストールされていないネットワークインタフェース(!マークの付いたデバイス)が表示
- virtIOのISOイメージをマウントし、ドライバ更新を実行
- RDP接続するためリモートデスクトップを有効化
- Windows10をシャットダウンし、仮想化インタフェースをKVMにしてWindows10のマシンを起動
- virtIOのディスクドライバをインストール
- CloudbaseInitSetupを実行、セットアップが終わると自動的にシャットダウン
- vmdkをLinux上でqcow2形式に変換
- 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台 |
サーバーCPU | Xeon(R) Gold 6132 x2(2.6GHz 14C28T) |
サーバーメモリ | 320GB |
システムディスク | 2.4TB(RAID10) |
サーバーOS | CentOS |
項目 | 構成内容 |
---|---|
台数 | 2台 |
サーバーCPU | Xeon(R) Gold 6132 x2(2.6GHz 14C28T) |
サーバーメモリ | 520GB |
システムディスク | 3.2TB(RAID10) |
サーバーOS | CentOS |
項目 | 構成内容 |
---|---|
台数 | 4台 |
サーバーCPU | Xeon(R) Gold 5218 (2.3GHz 16C32T) |
サーバーメモリ | 520GB |
システムディスク | 3.2TB(RAID10) |
サーバーOS | CentOS |
5.提供しているVDIスペック
現在提供しているVDIのスペックは以下のとおりです。
利用目的に応じて、メモリやローカルディスクのサイズを変えて提供しています。
項目 | 構成内容 |
---|---|
提供OS | Windows7/Windows8/Windows10 |
CPU数 | 4 |
メモリ | 4GB/8GB/16GB |
ローカルディスク(Cドライブ相当) | 60GB/80GB |
ボリュームディスク(Dドライブ相当) | 80GB |
VDIに外部アクセスを開放するため、以下のセキュリティグループを設定しています。
ポート番号 | プロトコル | 説明 |
---|---|---|
- | ICMP | Ping応答用 |
137 | TCP&UDP | NetBIOSファイル共有 |
138 | UDP | NetBIOSファイル共有 |
139 | TCP | NetBIOSファイル共有 |
445 | TCP | DirectSMBファイル共有 |
3389 | TCP | リモートデスクトップ接続で使用 |
5985,5986 | TCP | PowerShellによるリモートメンテナンス作業用 |
7000~8999 | TCP | 利用者により任意に割り当て可能ポート |
次回予告
上記のように構築したサーバー/VDI用のイメージを準備し、現在では250台近くのVDIが動作しています。
次回は構築時/運用中のトラブルについてご紹介いたします。