浅谈漫游用户配置文件 的文章结尾部分,我提到了App-V的应用,App-V的前身是SoftGrid,是在Microsoft收购Softricity之后对其进行改进之后的产品。App-V可以说是中小企业低成本虚拟化应用的利器之一。目前最新版App-V 4.6已经能够完美支持Windows7,支持64位系统,而且有了中文版。
App-V在IT管理方面有着显著的优势,过去在安装某个应用程序前,必须要经过漫长的回归测试,以确保它能与系统中已安装的其他应用程序共存,并且不会影响它们正常的运行。而且,应用程序必须在其投入应用之前完成一系列的部署流程。由于应用程序基本上只能在所安装的位置使用,因此用户将被限制到特定的计算机上,这就使得本来就很复杂而又关键的项目变得更为复杂,例如应用程序迁移、安全刷新和灾难恢复。
App-V彻底改变了这一局面。有了App-V,台式机管理变的自动化以及更加便捷,而不是一系列复杂、耗时而又占用资源的步骤。使得在轻松部署、修补、更新和终止应用程序的同时获得更好的效果。App-V让用户可以坐在任何台式机前访问应用程序,应用程序会按需交付,但运行起来与实际在本地安装并无二致。因此,再也没有必要安装应用程序组件或改变主机设备。
这种虚拟化的使用使IT专业人员对台式机的管理方式发生了巨大变化。不用改变主机设备,代之以运行虚拟化应用程序,这样部署所带来的好处包括:
• 减少应用程序冲突
• 更快、更方便的更新应用程序
• 并行运行同一程序的多个版本
• 使应用程序能灵活适应在线和离线用户
• 减少了应用程序到应用程序的回归测试
App-V具有两大直观特性,首先是便携性,使用App-V,能够不需要安装或下载就可以直接使用软件;其次是其独立性,在windows的应用程序模型中,系统设置、用户设置以及用户数据并没有清楚地被划分,所以,App-V通过自身内部的独立性,动态的判断这些数据的位置并且将他们分开。
在具体实现上,我们只需要做的只是在一台模板计算机上封装好常用软件,然后打包到App-V服务器上就行了,这样,用户就可以方便的通过App-V服务器来下载并运行整套运行环境,而且不会存在任何兼容性问题,例如,可以同时运行IE 6和IE 8,同时使用Office 2000和Office 2007。
部署App-V主要依靠三大部分:App-V Management Server、App-V Client与App-V Sequencer Server。由下列主要组件组成:排序器、数据库、客户端、管理服务器、流式服务器和管理控制台。其中,App-V Management Server是应用程序虚拟化的核心服务器,其作用是存储、管理经过序列化封装的应用程序,并且向Client进行分发。在Active Directory的环境下,可以配合SQL Server以及用户身份验证来实现应用程序虚拟化;但如果是在工作组环境下,则不能使用App-V Management Server,而需要使用App-V Streaming Server。App-V Sequencer Server则用以测试和制作需要部署的应用程序包。Client客户端占用的磁盘空间很少,它会在本地安装一个驱动程序和可见的用户运行时组件(显示为任务栏指示器)。Client将从App-V管理服务器收集虚拟应用程序的列表并显示可用的虚拟应用程序。它负责启动这些应用程序(由用户启动时)并管理客户端缓存。客户端还负责管理虚拟运行时环境的创建并确保各个环境在其自己的虚拟设备中运行。这种虚拟环境有多个组件,包括虚拟注册表、虚拟文件系统和虚拟服务管理器。
App-V架构图
App-V的安装配置比较简单,不过需要.Net Framework 2.0,IIS,MSXML 6.0的支持,整个安装过程也很傻瓜化,安装之前会自动检测系统组件,并对缺少的组件做出提示。一般来说,建议Sequencer Server与Client的操作系统保持一致,并在使用Sequencer Server部署应用程序包时保证系统的纯净。但是在实践中,可能会遇到客户端操作系统版本不同的问题,虽然经过App-V虚拟化的软件具有相对良好的兼容性,但还是建议部署多台不同操作系统的Sequencer Server,以保证应用程序的可靠性。
为管理设置和配置,App-V 平台提供了Microsoft .NET Framework Web服务,只要安装了IIS,便可在同一服务器上加载此服务。此Web服务充当App-V管理控制台(Microsoft 管理控制台 (MMC) 管理单元)与App-V数据库之间的联系人。管理员可以使用此控制台来发布和管理虚拟应用程序、分配Active Directory组、控制服务器设置以及运行虚拟化应用程序使用情况报告。
App-V的另外一大特色就是支持脱机运行,这也是使用终端所不具备的。而且,当遇到应用程序更新、版本升级等问题时,只需要将原有生成的应用程序项目文件重新导入,更新升级后重新进行分发即可,不会影响用户的继续使用。为了提高效率,降低服务器压力,还有“最短启动代码”功能供我们选择,因为在实际应用中,很少会遇到大量同样的软件在同一时刻使用同样的功能,所以,在使用相应功能时再从服务器下载代码并运行,可以有效起到分流和减轻服务器压力的作用。
不得不提的是,App-V在现阶段还是存在一些应用上的问题,主要还是体现在兼容性方面。例如,如果我们使用了BitLocker或者CheckPoint的Pointsec对硬盘进行加密,就可能导致一些软件无法正常运行。这也体现出App-V与系统底层的耦合度还不够紧密。关于这一问题,需要使用独立模式来打包应用程序。
在独立模式下,App-V 排序器可以创建 MSI 文件,用它自动添加虚拟应用程序。MSI文件包含元数据,任何ESD系统都可以识别该数据并控制虚拟化应用程序。此模式要求客户端处于独立模式,这样只允许虚拟应用程序有基于MSI的更新,不允许出现流。此模式允许组织利用App-V隔离功能。
MSI 文件非常灵活,只要有App-V客户端,它们就可以完全独立运行,而不需要任何服务器组件。这意味着它们可以手动部署(使用磁盘),也可以通过任何传统部署工具部署。
另外,就目前情况来看,一些常用软件在App-V下的表现也不尽如人意,并不能充分调用所有软件功能,例如下载工具迅雷的网页右键“用迅雷下载”菜单就不可用,此外,WinRAR也属于不能成功虚拟化的软件之一。在与本地交互方面,不能使用本地输入法也是现阶段急需解决的问题之一。
App-V 4.5提供了三个基础结构部署选项,分别面向了不同的应用需求:
采用App-V 完整架构
这种方法中包括了Microsoft System Center Application Virtualization Management Server (MSCAV),它可以完全实现数据流功能、Desktop Configuration Service、Package/Active Upgrade、基本的许可管理以及软件计数。这种基础架构需要活动目录以及SQL Server,是对已有的Softgrid Virtual Application Server 的升级。
App-V 轻量级架构
轻量级基础架构由Microsoft System Center Application Virtualization Streaming Server 组成。该服务器可以对应用程序进行序列化,另外还可以在没有活动目录或SQL Server 的情况下对应用程序数据包进行联机升级;但这种方式下无法提供Desktop Configuration Service、软件许可管理或软件计数功能。
App-V 独立模式
Sequencer 组件目前支持创建MSI 文件,这种方式可以进一步实现虚拟化应用程序的自动化。MSI 文件中包含了元数据,这样一来分发系统就可以将虚拟化的应用程序识别出来并进行控制。客户端也需要调整为独立模式,这种模式下只允许对虚拟化应用程序进行基于MSI 的更新。这种模式主要针对于那些迫切需要虚拟化应用程序但却又无法保证与服务器连接的用户。
提供一些App-V的参考资料,供有兴趣的童鞋做深入研究:
Application Virtualization System 的计划和部署指南
http://technet.microsoft.com/zh-cn/library/cc843778.aspx
Application Virtualization System 的操作指南
http://technet.microsoft.com/zh-cn/library/cc843770.aspx
Application Virtualization 联机帮助
http://technet.microsoft.com/zh-cn/library/cc843671.aspx
Microsoft Application Virtualization 4.5 Security Configuration Roles - 简体中文
http://www.microsoft.com/downloads/details.aspx?FamilyID=63d33346-b864-4284-8c5f-dce80c451e83&displaylang=zh-cn#Overview
Microsoft Application Virtualization 入门
http://technet.microsoft.com/zh-cn/magazine/2008.10.appv.aspx
微软虚拟化解决方案白皮书
https://www.getvirtualnow.com/usevents/education/download/693371eBook.pdf
SoftGrid安装部署八步视频教程
http://www.microsoft.com/taiwan/technet/howtovideos/mdop/default.mspx
MDOP 2008 R2版本预览系列,包含App-V
http://www.microsoft.com/china/technet/webcasts/class/MDOP2008R2.mspx
Microsoft Application Virtualization 官方支持
http://www.microsoft.com/virtualization/downloads.mspx
http://blogs.technet.com/softgrid/archive/2008/06/17/microsoft-application-virtualization-4-5-release-candidate-is-now-available.aspx
http://www.microsoft.com/systemcenter/appv/default.mspx
推荐使用MDOP,最新的MDOP 2008 R2已经包含了App-V。