App Volumes 概述

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

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

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

🍝6x07Horizon系列:App Volumes 部署 - 图1

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 高可用部署架构图:

🍝6x07Horizon系列:App Volumes 部署 - 图2

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;

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

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

安装 APP Volumes Manager

安装前提:

  • 已经部署配置好了 Windows Server,正常加域;

  • 如果是生产部署,已经安装好了外部高可用 SQL server;

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

为 Windows Server 挂载 App Volumes 安装 ISO:
🍝6x07Horizon系列:App Volumes 部署 - 图3

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

🍝6x07Horizon系列:App Volumes 部署 - 图4

此处为方便测试使用内置 SQL server express 数据库:

🍝6x07Horizon系列:App Volumes 部署 - 图5

🍝6x07Horizon系列:App Volumes 部署 - 图6

设置允许 80 和 443 端口登陆:

🍝6x07Horizon系列:App Volumes 部署 - 图7

🍝6x07Horizon系列:App Volumes 部署 - 图8

🍝6x07Horizon系列:App Volumes 部署 - 图9

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

APP Volumes 初始化

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

🍝6x07Horizon系列:App Volumes 部署 - 图10

输入 License :

🍝6x07Horizon系列:App Volumes 部署 - 图11

输入域名和管理员密码:

🍝6x07Horizon系列:App Volumes 部署 - 图12

🍝6x07Horizon系列:App Volumes 部署 - 图13

分配管理员角色:

🍝6x07Horizon系列:App Volumes 部署 - 图14

🍝6x07Horizon系列:App Volumes 部署 - 图15

添加 vCenter Server:

🍝6x07Horizon系列:App Volumes 部署 - 图16

🍝6x07Horizon系列:App Volumes 部署 - 图17

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

🍝6x07Horizon系列:App Volumes 部署 - 图18

🍝6x07Horizon系列:App Volumes 部署 - 图19

将 Volumes 模板上传到存储:

🍝6x07Horizon系列:App Volumes 部署 - 图20

为 RDS 服务器配置 App Volumes

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

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

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

为模板机安装 Agent

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

🍝6x07Horizon系列:App Volumes 部署 - 图21

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

🍝6x07Horizon系列:App Volumes 部署 - 图22

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

🍝6x07Horizon系列:App Volumes 部署 - 图23

🍝6x07Horizon系列:App Volumes 部署 - 图24

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

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

🍝6x07Horizon系列:App Volumes 部署 - 图25

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

🍝6x07Horizon系列:App Volumes 部署 - 图26

为 RDS 服务器抓取 app

在 Inventory 中创建新的 Application:

🍝6x07Horizon系列:App Volumes 部署 - 图27

填写 Application 名称:

🍝6x07Horizon系列:App Volumes 部署 - 图28

填写 Application 下 Package 的名称:

🍝6x07Horizon系列:App Volumes 部署 - 图29

选中创建的 Packages,点击 Package:

🍝6x07Horizon系列:App Volumes 部署 - 图30

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

🍝6x07Horizon系列:App Volumes 部署 - 图31

点击 Start Packaging:

🍝6x07Horizon系列:App Volumes 部署 - 图32

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

🍝6x07Horizon系列:App Volumes 部署 - 图33

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

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

🍝6x07Horizon系列:App Volumes 部署 - 图34

🍝6x07Horizon系列:App Volumes 部署 - 图35

🍝6x07Horizon系列:App Volumes 部署 - 图36

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

🍝6x07Horizon系列:App Volumes 部署 - 图37

确认程序的名称和版本:

🍝6x07Horizon系列:App Volumes 部署 - 图38

🍝6x07Horizon系列:App Volumes 部署 - 图39

提示重启操作系统:

🍝6x07Horizon系列:App Volumes 部署 - 图40

等待重启完成后,提示打包成功:

🍝6x07Horizon系列:App Volumes 部署 - 图41

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

🍝6x07Horizon系列:App Volumes 部署 - 图42

🍝6x07Horizon系列:App Volumes 部署 - 图43

将应用分配给 RDS 主机

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

🍝6x07Horizon系列:App Volumes 部署 - 图44

选择上个章节抓取的 Application:

🍝6x07Horizon系列:App Volumes 部署 - 图45

🍝6x07Horizon系列:App Volumes 部署 - 图46

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

🍝6x07Horizon系列:App Volumes 部署 - 图47

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

🍝6x07Horizon系列:App Volumes 部署 - 图48

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

🍝6x07Horizon系列:App Volumes 部署 - 图49

为 Windows 10 桌面配置 App Volumes

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

为 Win10 桌面抓取 app

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

将应用分配给用户

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

🍝6x07Horizon系列:App Volumes 部署 - 图50

选择要分配的用户组:

🍝6x07Horizon系列:App Volumes 部署 - 图51

🍝6x07Horizon系列:App Volumes 部署 - 图52

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

🍝6x07Horizon系列:App Volumes 部署 - 图53