App Volumes 概述

参考文档:
https://techzone.vmware.com/resource/app-volumes-architecture#load-balancing

App Volumes 是一种将用户应用或用户数据和底层 OS 分离的一种技术。此功能可以将应用及其相关库文件进行打包,很类似于容器镜像,打包后成为一个个 Volume(Volume 会以 vmdk 的形式存储),当为用户授权相关的 Volume 后,App Volumes Manager 会自动调用 vCenter 接口为用户登陆的虚拟机挂载相应的 vmdk。

通过此功能可以实现应用程序和用户桌面的解耦合,用户无需自行安装软件,管理员做好应用模板后下发给用户即可。

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon

App Volumes 最重要的组件是 App Volumes Manager,App Volumes 支持配置多台 App-v Manager 来提供高可用,多台 Manager 指向同一个 SQL 数据库(SQL 数据库建议使用高可用架构部署)。App-v 会同时和 vCenter、AD 进行交互,与 vCenter 连接用于挂载 Volume,读写 Datastore 等,与 AD 连接用于读取用户组、添加 Volume 授权、监控用户登录事件等。App volumes 与 Horizon 其他组件之间无相关性。

下图是一份官方的 App Volumes 高可用部署架构图:

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_02

AppV 部署及初始化

部署流程

1.    部署 App Volumes Manager;

2.    进行初始化配置,与 vCenter、AD 进行连接;

3.    在 Guest OS template 上安装 App Volumes Agent,用于从 Guest OS 监测应用的安装,并进行应用封装;

4.    在 Horizon VDI/RDS 主机上安装 App volumes Agent,用于配置挂载给用户/主机的 Volumes;

5.    从模板机上抓取应用并封装成为 Volumes;

6.    为用户或者虚拟机分配 Volumes。


安装 APP Volumes Manager

安装前提:

  • 已经部署配置好了 Windows Server,正常加域;
  • 如果是生产部署,已经安装好了外部高可用 SQL server;

本文为了测试简便,使用单节点 App Volume Manager 和内置 SQL Express 数据库。

为 Windows Server 挂载 App Volumes 安装 ISO:

Horizon 8 测试环境部署(7): App Volumes 部署_VDI_03

点击安装程序,选择安装 App Volumes Manager:

Horizon 8 测试环境部署(7): App Volumes 部署_AppVolumes_04 
此处为方便测试使用内置 SQL server express 数据库:

Horizon 8 测试环境部署(7): App Volumes 部署_虚拟桌面_05

Horizon 8 测试环境部署(7): App Volumes 部署_VDI_06 
 设置允许 80 和 443 端口登陆:

Horizon 8 测试环境部署(7): App Volumes 部署_AppVolumes_07

Horizon 8 测试环境部署(7): App Volumes 部署_VMware_08

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_09

等待安装完成,服务会自动启动。

APP Volumes 初始化

通过网页访问 App-v Manager,按照向导进行初始化:

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_10

输入 License :

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_11

输入域名和管理员密码:

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_12

Horizon 8 测试环境部署(7): App Volumes 部署_AppVolumes_13

分配管理员角色:
 
Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_14

Horizon 8 测试环境部署(7): App Volumes 部署_AppVolumes_15

添加 vCenter Server:

Horizon 8 测试环境部署(7): App Volumes 部署_虚拟桌面_16

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_17

选择 App Volumes 需要使用的存储:

Horizon 8 测试环境部署(7): App Volumes 部署_虚拟桌面_18

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_19

将 Volumes 模板上传到存储:

Horizon 8 测试环境部署(7): App Volumes 部署_VDI_20

为 RDS 服务器配置 App Volumes

App Volumes 支持给 RDS 共享桌面或者普通桌面(例如 Win10 桌面)使用,当给 RDS 共享桌面使用时,需要将 Volumes 分配给 RDS 虚拟机;而给 Win10 桌面使用时,直接将 Volumes 分配给用户即可。

另外,不同版本操作系统生成的 Volumes 不能应用给其他操作系统,也就是说,环境中有多少种 Windows,就得有多少个 App Volumes 模板机。

此章节讲解如何给 RDS 桌面配置 App Volumes。

为模板机安装 Agent

在安装 Agent 前,需要先将模板机加域:

Horizon 8 测试环境部署(7): App Volumes 部署_VMware_21

将 App Volumes 的安装 ISO 挂载给虚拟机:

Horizon 8 测试环境部署(7): App Volumes 部署_VDI_22

运行 ISO 中的安装程序,按照向导安装 App Volume Agent:

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_23

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_24

此处填写 App Volume Manager 负载后的 FQDN:

(我们将在下一篇讲解 App Volumes 的负载均衡)

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_25

其他选项保持默认,完成安装。在 Agent 安装完成后,在 Computers 中可以看到此机器:

Horizon 8 测试环境部署(7): App Volumes 部署_VDI_26


为 RDS 服务器抓取 app

在 Inventory 中创建新的 Application:

Horizon 8 测试环境部署(7): App Volumes 部署_虚拟桌面_27

填写 Application 名称:

Horizon 8 测试环境部署(7): App Volumes 部署_VMware_28

填写 Application 下 Package 的名称:

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_29

选中创建的 Packages,点击 Package:

Horizon 8 测试环境部署(7): App Volumes 部署_AppVolumes_30

选择刚才创建的 App volume 2012 模板机:

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_31

点击 Start Packaging:

Horizon 8 测试环境部署(7): App Volumes 部署_VDI_32

之后模板机右下角会弹出下列窗口:

Horizon 8 测试环境部署(7): App Volumes 部署_虚拟桌面_33

在模板机上提前准备好应用程序的安装包,然后点击 OK 开始抓取。

接着运行安装包,正常安装程序(需要将应用安装给系统而非当前用户)。

Horizon 8 测试环境部署(7): App Volumes 部署_虚拟桌面_34

Horizon 8 测试环境部署(7): App Volumes 部署_VDI_35

Horizon 8 测试环境部署(7): App Volumes 部署_虚拟桌面_36

等安装完成后,点击 Yes 完成安装:

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_37

确认程序的名称和版本:

Horizon 8 测试环境部署(7): App Volumes 部署_虚拟桌面_38

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_39

提示重启操作系统:

Horizon 8 测试环境部署(7): App Volumes 部署_VMware_40 
等待重启完成后,提示打包成功:

Horizon 8 测试环境部署(7): App Volumes 部署_AppVolumes_41

返回到 App Volume Manager 界面,看到下图状态,点击 Set Current 启用:

Horizon 8 测试环境部署(7): App Volumes 部署_VMware_42

Horizon 8 测试环境部署(7): App Volumes 部署_虚拟桌面_43


将应用分配给 RDS 主机

在 “Directory>Computers” 中找到目标 RDS 虚拟机,点击“Assign Application”:

Horizon 8 测试环境部署(7): App Volumes 部署_虚拟桌面_44

选择上个章节抓取的 Application:

Horizon 8 测试环境部署(7): App Volumes 部署_VDI_45

Horizon 8 测试环境部署(7): App Volumes 部署_AppVolumes_46

重启 RDS 服务器(将 Volumes 直接分配给虚拟机时,必须重启才生效):

Horizon 8 测试环境部署(7): App Volumes 部署_VDI_47

通过 Horizon Client 登陆桌面进行测试:

Horizon 8 测试环境部署(7): App Volumes 部署_VMware_48

用户可以正常看到 App Volumes 应用:

Horizon 8 测试环境部署(7): App Volumes 部署_VDI_49


为 Windows 10 桌面配置 App Volumes

此章节讲解如何给普通桌面配置 App Volumes。


为 Win10 桌面抓取 app

大部分过程与 RDS 主机一致,步骤此处不再赘述。


将应用分配给用户

在 “Inventory>Applications” 中找到要分配的应用,点击“Assign”:

Horizon 8 测试环境部署(7): App Volumes 部署_AppVolumes_50

选择要分配的用户组:

Horizon 8 测试环境部署(7): App Volumes 部署_Horizon_51

Horizon 8 测试环境部署(7): App Volumes 部署_AppVolumes_52

通过 Horizon Client 登陆桌面进行测试(将 Volumes 分配给用户后,用户需注销并重新登录便可看到 Volumes):

Horizon 8 测试环境部署(7): App Volumes 部署_AppVolumes_53


本文完

​关注微信公众号“NSX很可爱的”,后台回复“Horizon”即可获取本文以及相关介质的下载链接。