初めてのAppVolumes Part1

初めてのAppVolumes Part1

Contents

初めてのAppVolumes Part1

今回は、はじめてのおつかい的な雰囲気で久々のVMware Horizonネタになります。
え、AppVolumes? なんぞそれ? という方に大雑把なご紹介...

AppVolumesとは、
===

アプリケーションをインストールすると、必然的にOSに紐づくように設計されています。
しかしながら、VDI環境でマスタOSにアプリケーションをインストールして、配信などとすると配信されたVDIはパフォーマンスが結構重く、ディスクも取ってしまうので余り効率的とは言えないです。
そのため、AppVolumesにてアプリケーションとOSの紐づけを完全に分離してアプリケーションだけプロファイルとして配信して別ディスクからアプリケーションの実体を引っ張ってくればパフォーマンス早くなるんじゃね? というシステム(だったはず)になります。

なんだかんだ言って、NetWorldさんが分かりやすいかもしれません。

VMware App Volumes 製品概要
https://www.networld.co.jp/product/vmware/pro_info/appvolumes/

あと、ここ最近はもうAppVolumesもほぼバージョンが統一化されてきたので、何となくどのバージョンを使えばいいのか分かるようになってきましたが2、3年前まではAppVolumes4系とAppVolumes2系が混在している状況で 頭の中が "にゃーん" という状況でした。

ついでに、ThinAppとかいう同等機能の製品(主にWinXPなど向け)もありハッキリ言って初見はよく分かっていませんでした。

せっかくなので、再整理です。

image

画像だと、もしかすると端が切れてしまっているかもしれないので、一応補足です。

App volumes 自体は、https://interopmatrix.vmware.com/ を見る限り、App Volumes 2.6.0というのが最古らいいのですが、下記海外個人ブログを見ると、App Volumes 2.1.0というのがあるらしいです。
資料も見つからないので、よく分からないですがとりあえずそういう時代があったということです。

VMware App Volumes 2.1 Reference Architecture
https://www.ntpro.nl/blog/archives/3027-VMware-App-Volumes-2.1-Reference-Architecture.html

今回作る環境

ESXi: ESXi 7.0 Update 2(17630552)
vcenter: vCenter Server 7.0 Update 2a(17920168)
Horizon: 7.13.1
AppVolumes: 2.18.10

AppVolumes2.18.10はHorizon 7.10に最適化されていそうですが、互換性ガイドではHorizon 7.13.1でも動くって書いてあるのでこの際あまり気にしないようにします。

What’s New in Horizon 7.10, Horizon Client 5.2, Dynamic Environment Manager 9.9, and App Volumes 2.18
https://techzone.vmware.com/blog/whats-new-horizon-710%C2%A0horizon-client-52-dynamic-environment-manager-99-and-app-volumes-218

とりあえず、Horizonとの兼ね合いは大丈夫そうですね!!

image

具体的な構成は下記のようになります。

image

では、さっさとvCenterとドメコンとかもろもろ立ち上げていきましょう。

ここでは、vCenter Server Appliance , ドメインコントローラー , Horizon Connection Server , Horizon ViewComposer , SQL Serverの構築手順については省きます。

vCenter Server Applianceを除くいづれのVMも全てWindows Server で建てていきます。

AppVolumesManagerの簡易的な建て方は下記になります。

※※ Windows Serverが既に立ち上がっていて、ドメインに参加済み、IP取得済み、ファイアウォールは全解除の状態になっていることが前提となります。 ※※


1 . AppVolumesManagerの管理画面を開く
https://AppVolumesManagerのFQDN/

この時に、自分が所属するADのFQDNとドメインコントローラーのホスト(IP or FQDN) , AppVolumesManagerの管理ユーザー , パスワードを入力する。

LDAP BaseはWindows ADを使っている場合は空欄にする。
Securityは本番環境ではない限り、LDAP(insecure)とする。

AppVolumesManager-startup1

2 . 手順1で追加した、AppVolumesManagerの管理ユーザーの確認画面が出るので間違いなければ "Next" を押下。

AppVolumesManager-startup2

3 . Administrator roleという画面が出るので、ADのどのユーザーグループにAppVolumesManagerの管理者権限を付与するのかを決める。

特にユーザーグループを作っていない場合は、ドメイン名\Administrators で問題無し。

AppVolumesManager-startup3

4 . 手順3で設定したAppVolumesManagerの管理者権限を付与するADユーザーグループの確認画面が出るので、
設定したユーザーグループで問題が無ければ、 "Next" を押下。

AppVolumesManager-startup4

5 . スクショを取り忘れてしまいましたが、
vCenterとAppVolumesManagerを紐づける必要があるので、vCenterのFQDNとユーザー名、パスワードを入力して "Next" を押下してください。

その後、正常にvCenterへ接続できれば手順6のような確認画面になります。

AppVolumesManager-startup5

6 . 手順5の通り、接続したvCenterの情報に間違いが無ければ "Next" を押下。

AppVolumesManager-startup6

7 . AppStackとWritable Volumesのテンプレートと実際のAppStack , Writable Volumesの保存先を設定します。

基本的にPathと書かれている部分の cloudvolumes と書かれた後ろにはAppVolumesのバージョンを入れておくと安心です。
まぁ、上書き防止だと思っていただければ...

※※この時にvCenter Serverにてクラスター等の設定(ESXiホストを追加する)を終えていてください。※※

もし、vCenter Server側のクラスター等の設定が終わっていない場合は保存先のストレージが出てこないので、
ESXiホストなどが正常に追加されていることを確認して AppVolumesManagerの右上の "Rescan" からストレージを再認識させてください。  

AppVolumesManager-startup7

8 . 設定したデータストア等に問題がなければ、手順7で設定したストレージ設定を今すぐ反映させるか聞いてきますので、デフォルトの "Import Volumes in the background" を選択してください。

"Set Default" を押下後、バックグラウンドで処理が走ります。放置しといてください。

AppVolumesManager-startup8

9 . 次にAppVolumesManagerで使うAppStackとWritable Volumesのテンプレートを選択します。

基本は、全部にチェックを入れておけばいいです。

詳細は下記になります。
・AppStackのテンプレート
・Writable Volumesのプロファイルのみのテンプレート(アプリの仮想化は含まない)
・Writable Volumesのアプリ仮想化のみのテンプレート(プロファイル保管は含まない)
・Writable Volumesのアプリ仮想化+プロファイル保管の両方に対応するテンプレート

AppVolumesManager-startup9

10 . 手順9にてチェックした項目を指定したストレージにアップロードして大丈夫ですか? みたいなポップアップが出てくるのでこれもデフォルトで設定されている項目を変更せずそのまま "Upload" を押下。
("Uploadを押下後、バックグラウンドでアップロード処理が走ります。)

AppVolumesManager-startup10

11 . ここでは応用の設定項目になります。
まぁ、基本的に弄らなくて大丈夫かとは思いますが、
強いて言うならば一番上の "UI Session Timeout" が30に設定されているので、任意の値で長めに設定しておいたほうがいいかもしれません。
値は "分" になります。

AppVolumesManager-startup11


次に、AppVolumes Agentですがコッチもスクショを取り忘れるという失態を犯したので簡単に手順だけ...

1 . my.vmware.comからダウンロードしてきた、VMware_App_Volumes_v21810_01042021.ISO をWindows 10側にマウントして、Installationフォルダの中にあるsetup.exeを起動

2 . インストーラーが起動したら、同意書に合意後、
AppVolumesManagerをインストールするかAppVolumesAgentをインストールするか聞かれるので、AppVolumesAgentを選択

3 . AppVolumes Agentを選択後、紐づけるAppVolumesManagerのFQDN or IPを入力するように指示が出るので、入力。
この際に、証明書のチェックに関して無効化するようチェックを入れる。

4 . インストール完了後、一旦再起動は保留する。

5 . ※要注意事項※ 下記の組み合わせの際、Windowsファイアウォールの無効化を行うこと。

==========
・AppVolumesAgent+Horizon Agentがインストールされている場合

⇒ Windowsファイアウォールの "ドメイン" 項目にてファイアウォールを無効化
(全項目無効化してもok)

・AppvolumesAgentのみがインストールされている場合(AppStack用のマスタVMがある場合など)

⇒ ファイアウォールの無効化は不要

==========

マスタVMとAppVolumesManager間で疎通が出来ないと、
AppVolumesAgentがインストールされているマスタVMを起動し、ログインした際にError code 400がポップアップで出力され "AppVolumesManagerと疎通が出来ないから仮想化出来ないよ" という旨のエラーが出力される。

そのメッセージが出た際には、AppVolumesManagerとAppVolumesAgentがインストールされているマシン間でpingレベルの疎通が取れることを確認すること。

これで、環境構築は終了です。
おつでした。