步履无声写过什么小说:V就是微 微软程序虚拟化App-V全图解

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 21:59:48
产品介绍:
微软Application Virtualization 4.5简称App-V,前身是SoftGrid程序虚拟化,现在这个软件打包在2个软件中,一是最新的SCCM(System Center Configuration Manager),里面包含App-V 4.5,二是新的MDOP(微软桌面优化包),现在最新版本是MDOP 2008R2。
微软MDOP(Microsoft Desktop Optimization Pack )套件最大的亮点莫过于用于客户终端展现的桌面虚拟化MED-V和用于虚拟化程序推送交付的APP-V;连同Hyper-V基本上就构成了微软端到端的虚拟化全线解决方案。不过就产品本身而言,微软的虚拟化产品相对与竞争对手已经迟到了很长时间,而且MDOP套件是面对批量软件保障(SA)客户,所以Beta阶段的产品无论是在微软技术社区或下载中心始终无迹可寻,到目前为止MED-V一点影子都没有见到过,让人倍觉神秘之余多少也有些许失望,所以H这次也只能体验下APP-V的虚拟化程序。
不得不说MED-V、APP-V和Hyper-V的命名方式很直观的传达的产品的特性,比起微软从前的其他拗口冗长难记的产品名称有很好的改进。

工程师点品:
就产品技术而言,APP-V算是中规中矩,安装配置也不算复杂,只要环境条件具备,搭建企业级桌面程序并不困难,问题就在于MDOP需要的环境条件不少,少了哪一道东风或哪个步骤设置不当的话,即便万事俱备这赤壁也是烧不起来。
硬件和环境的原因,Microsoft Desktop Optimization Pack套件之中的资产清单和组策略管理等等H编辑没有仔细的一一体验,但相信微软的出品应该不会让人太失望(当然偶尔也有VISTA这样的例外吧)

微软MDOP(Microsoft Desktop Optimization Pack )套件最大的亮点莫过于用于客户终端展现的桌面虚拟化MED-V和用于虚拟化程序推送交付的APP-V;连同Hyper-V基本上就构成了微软端到端的虚拟化全线解决方案。不过就产品本身而言,微软的虚拟化产品相对与竞争对手已经迟到了很长时间,而且MDOP套件是面对批量软件保障(SA)客户,所以Beta阶段的产品无论是在微软技术社区或下载中心始终无迹可寻,到目前为止MED-V一点影子都没有见到过,让人倍觉神秘之余多少也有些许失望,所以H编辑这次也只能体验下APP-V的虚拟化程序的乐趣。
进入2008年以后不得不说微软对于产品的命名方式更加的贴合用户需求,本来对于新技术的学习和接受就是一件很费功夫事,再让用户去记拗口冗长难记的研发代号或者产品名称全称简称等,你说究竟有多少的脑细胞因此绞尽汁液,光荣牺牲。但这次MED-V、APP-V和Hyper-V为例,它们的命名方式很直观的传达的产品的特性,比起微软其他产品算是有很好的改进了。

完成的MDOP除了上图罗列的各项以外,目前位置还有MED-V缺席,有消息传闻说MED-V会在09年初正式推出。完整版本的MDOP会包括以下六大项目。
• Microsoft Application Virtualization4.5 (APP-V) ——微软应用程序虚拟化技术
• Microsoft Enterprise Desktop Virtualization (MED-V) —— 微软企业桌面虚拟化技术
• Microsoft 资产清单服务——将软件清单数据结合数据仓库功能应用于商业智能
• Microsoft 诊断和恢复工具集——加速桌面修复的强大工具
• Microsoft 高级组策略管理——增强的组策略,实现变更管理
• Microsoft System Center 桌面错误监控——主动管理应用程序和操作系统的错误
下面来就分享一下MDOP中重点关注的新的应用程序虚拟化软件Application Virtualization 4.5(APP-V)的安装设置过程。这个APP-V在从前叫Softgrid,从字面上理解分布式网格计算的一个变形品种,用网格计算的模式来理解程序虚拟化技术的客户端到实现虚拟化的服务器端之间的相互通信和计算负载分配机制也是有些异曲同工的意思。

要安装APP-V并实现全部的功能,需要的步骤并不算很多,下面都是必须做到的步骤:
1、安装前的环境搭建:活建立动目录,域控制,安装.Net Framework 2.0,IIS服务,MSXML6.0等系统环境组件,另外,数据库SQL Server也是必须的。
2、安装程序虚拟化服务器端Application Virtualization Management Server。
3、安装客户端Application Virtualization Client。
4、安装程序序列化工具Application Virtualization Sequencer。
一、系统准备,安装活动目录,.Net Framework 2.0, IIS, MSXML6.0,在安装过程前也会对现有系统做检测,缺少哪些部件也会给出提示,算是半傻瓜化操作。不过这些缺少的组件或补丁需要用户自行下载安装,如果能在安装程序种集成到一个包中会更加方便些,否则APP-V安装过程也许会被打断。

在Windows Server 2003下,添加删除程序处添加组件,安装好.Net Framework 2.0, IIS组件。安装SQL Server数据库(里面已经包含了MSXML组件),这些稍后会用到,否则安装过程会被终止而不是回退到上一步。

之前也提到了APP-V需要数据库的支持,所以先安装SQL Server数据库,新建好用于程序虚拟化的数据库,这样前期工作就算是做好了。
安装Application Virtualization Management Server
在App-V 4.5中,Server共分为Application Virtualization Management Server与Application Virtualization Streaming Server两种,Application Virtualization Management Server使用 Active Directory 组来管理用户授权。除了Active Directory域服务以外,这些服务器还安装了SQL Server,以管理数据库和数据存储。Management Server 通过Application Virtualization Management Console(Microsoft Management Console 的一个管理单元)得以控制。由于 Application Virtualization Management Server 会按照需要将应用程序传输给最终用户,因此理想情况下这些服务器适合执行更具有可靠、高带宽LAN的系统配置。
而后者Application Virtualization Streaming Server,可以满足可能不具备支持Management Server的基础结构的公司的需要。与Application Virtualization Management Server不同,Streaming Server不使用SQL或Management Console。这些服务器使用访问控制列表 (ACL)来授予用户授权,这种架构比较适合在中小型企业,节点较少同业也不具备大型数据库支持的小型网络环境中。
我们打开MDOP 2008R2的安装界面,选择Application Virtualization for Desktop 4.5进行安装。

3.进入安装界面,一路Next。




APP-V Server Mnangement组件不多,默认情况下是全部安装,需要的磁盘空间在400M左右。

这里用到了我们装的SQL Server数据库,假如系统检测不到有数据库的存在,点下一步就会自动报错。因为SQL Server就装在本地,所以这里直接选local。所有通信端口都采用默认设置,如果默认端口已经被占用的话,也要记住改用的端口,在稍后的配置时还会用到,如果服务器和客户端之间不匹配,后果自然是失败了。

安装默认554的端口。

然后需要为APP-V指定两个管理和用户的组,这在之前设置动态目录的时候需要预先新建出来,用不同的组给APP-V赋予不同权限,管理员可以进行Server的管理,用户用于登陆接受服务器分发的虚拟化程序。

选择Content的位置,Content目录用于存放经过序列化分拆的程序包OSD文件,服务器会从此向组内客户端分发程序。默认路径会比较深,找起来很麻烦,当然也可以自定义。
这一步比较关键的是要将此文件夹共享,可以向Admin和User组内成员开放共享,为方便起见也可以将文件夹share给everyone,而且everyone有读取权限才有用,这一步十分关键,完成这一步,安装完成。

完成以后在“管理工具”内就出现“APP-V management console”控制台项目,运行启动,选择右边的Connect to Application Virtualization System连接服务端。


即使Server端安装在本地,但也要给出完整计算机名称、通信协议类型和端口。


用记事本打开content下的DefaultApp.osd,注意选中的地方,将协议改为RSTP,端口改为与安装时候的一致,不得不说DefaultApp.osd默认的322竟然和安装时默认的554不统一,这种小细节最有可能烦死人了。

将左边窗口展开,点击Applications,在中间窗口右击Default Application,选择属性。这一步非常的关键,一定要将OSD Path和Icon Path的本地路径进行修改,要选择为网络路径,否则后面会配置不了,因为content已经设置为共享文件夹,所以其他用户通过网络地址可以访问到。
可以根据需要,设置Shortcuts属性, 可以选择将其派发至客户端指定的位置:桌面、开始菜单或者快速启动栏。

安装Application Virtualization Client
在客户端上选择安装Application Virtualization Client程序。

过程中,注意要选择的自定义,否则会错过很多设置项目,从前面大家可能都心里有数了,即便是默认设置,APP-V也并没有完全遵守默认规则,所以还是自定义比较踏实,毕竟自己改动的地方要改回来也是心里有数吧。

客户端会映射一个共享的网络磁盘也就是刚才我们在服务端共享的content文件夹。我们可以看到首选驱动器号为Q,往后一直到Z都可选,这基本上不会和本地磁盘混淆。
在立即设置发布服务器上一定要打勾,类型选择Application Virtualization Server,正确填写主机名,端口填写我们使用的554端口,总之和先前填写要一致,最后一个选项打勾。


安装完成以后记得要重启系统,然后打开Application Virtualization Client选择发布服务器,可以看到TEST服务器,右键选择refresh server,刷新服务器信息。

如果在服务器端已经完成程序虚拟化步骤,刷新服务器发布信息以后,桌面、开始菜单或者之前指定的位置出现程序的图标,且可以运行。这表示server与client之间可以正常通信,安装成功。
安装Application Virtualization Sequencer
对于Sequencer,熟悉Softgrid的同学应该不会陌生,除了Server和Client两个端之外,Sequencer也是其中的重要主角,Sequencer是一个序列化的工具,所谓的序列化就是将应用程序序列化,讲整体分割为小块,其结果以文件形式独立存储,块可以组合使用,不会改变应用程序本身。Sequencer的作用就是把整个应用程序分拆并且序列化为多个单独功能部件。经过序列化的应用程序各个功能其实是独立分割的,在客户端需要使用到哪一个功能时,会想Server发出请求指令,而Server会将单独的功能分包小块发送过去,这不需要把所有程序一锅端,这很大的降低网络和服务器负载压力。
Sequencer在APP-4.5中的变化不大,在序列化过程中,Sequencer 会虚拟一个监视环境,要序列化的应用程序安装在序列化计算机上。接下来,序列化应用程序启动,并执行其最重要且最常用的功能,使监视过程可以配置主要功能块。
需要注意的是在实际环境中,一般企业会包含多种版本的桌面操作系统,在制作应用程序序列包时应该,而且最好在相同的操作系统上进行打包,这样应用程序才能保证在相应的客户端操作系统版本上正常运行。
在实际应用中,我们需要的是一个干净的系统,以避免产生的序列化文件有不必要的误差和冲突,最好用虚拟机来实现,在一个干净虚拟系统上装了Sequencer,产生序列化文件并上传上App-V server后,在把虚机回滚到程序未安装的干净系统状态,继续做另一个软件的序列化。这样貌似很麻烦,但多个序列化后的程序包在客户端执行时,会有很多不必要的序列块,有可能引发潜在的程序冲突,而且Sequencer制作过的程序包以后都可以永久保存,麻烦一点换来的是一劳永逸也算值得。
安装App-V Sequencer,这个过程没什么要特别配置的地方,一路next选择默认安装完毕即可,不过在测试中我们出现过安装中断甚至没有错误提示的经历,不过在更换了一个系统以后就可以顺利安装了,这估计是缺少系统文件的原因。



制作应用程序虚拟化文件包
安装好了我们就做个测试看看,H手上只有一些测试软件,这里就地取材将磁盘测试软件Iometer制作为序列化软件,制作程序包的方法都是一样的。


启动Sequencer后有制作向导,可以按部就班的进行学习。在确定程序包的名称和放置程序包的路径之后,Sequencer会启动一个监视器,这个监视器会记录下应用程序的各个安装部件并一一进行序列化。

启动“监视器”之后,Sequencer会自动缩小到系统任务栏上。然后我们就可以开始安装应用程序的操作了,这些我们选用的是用于测试磁盘性能的Iometer,安装简单也比较小巧,安装的步骤也在本地系统安装程序没有两样。

Iometer安装完毕后,切回Sequencer点“下一步”停止监视器。

步骤5,显示监视器收集到的程序信息,这里可以把程序的默认路径改为"Q"盘,对于客户端来说,虚拟化程序的缓存文件都在之前安装APP-V client时所定义的Q盘上,我们需要将虚拟化程序的路径改为客户端的本地路径。

对于各个程序组件,可以测试它们能否正常启动。

可以完成Iometer的序列化了。

在部署标签上填写APP-V服务器端的主机名称和端口,并程序包的信息修改符合服务器本地路径、名称等相关信息。以为这些文件最后是要复制到服务器的content目录中的,关键信息都要同一一致。

然后可以保存这个项目的文件,以后就再也不需要制作Iometer的程序包了,只需要保存好这些文件。
正式启动APP-V程序虚拟化
说了这么多,都是为现在这一步作的准备,客户端服务端和序列化工具的安装设置就是这整个系统的搭建过程。因为其中的细节不少,H觉得APP-V配置过程虽然不很复杂,但却要求十分细心,试想一下如果企业的客户节点有成百上千个的话,部署过程就相当的可怕了,当然对于那样庞大的任务量也有对应的技术手段,那就是另外一回事了。

先把制作好的程序包复制到content文件夹中,切换回APP-V management console控制台,在应用程序项上右键选择“导入应用程序”。


选择已经放置妥当的content\Iometer目录下iometer.sprj文件,填加可以访问该程序的帐号组,填加之前在动态目录中定义好的组就可以。

一定要务必把OSD Path和Icon Path指向到\\服务器名\content下,否则显示不出相应的图标和程序组。

最后一步:用组内成员登陆client系统,原本的客户机也是一个刚刚安装好的干净系统。

启动系统后,发现,开始菜单已经出现了我们需要的“iometer”,名称、图标完全没有问题。

点击运行,iometer成功启动,操作和本地安装的程序一模一样。
到此,APP-V程序虚拟化系统宣告搭建成功。
结束语:

APP-V系统架构图
App-V解决方案以活动目录为基础,结合App-V Server、Sequencer、App-V Client一并形成完整的虚拟应用程序解决方案,其中Sequencer用以测试和制作需要部署的应用程序包,App-V Server用以向App-V Client分发Sequencer生成的程序包。
在App-V架构中,一般建议Sequencer要与Client操作系统一致,并在使用Sequencer部署应用程序包的时候保持系统的干净。比如说,一个企业中的客户端都是Windows XP,那么用于生成Sequencer的服务器也希望是Windows XP,虽然有的软件可以部署在不同的操作系统版本上,建议操作系统上没有安装其他多余的第三方软件。
在企业的实际运用中,可能客户端会涉及到不同版本的操作系统。通常的做法是部署多台不同版本的操作系统,并安装Sequencer。这样负责的要求下,最好使用虚拟系统以保持系统干净。
当使用Sequencer制作好应用程序包,将生成一个启用虚拟化的应用程序文件 (.sft)、一个开放软件描述文件 (.osd)、一个图标文件 (.ico) 和一个项目文件 (.sprj),并上传到共享存储或是App-V Server上后,结合活动目录的权限管理,发布应用程序包到客户端。客户端在第一次打开应用程序快捷方式或者相关联的文件时,将向App-V Server下载,并只下载5% ~ 20%的代码用以运行“最短启动代码”。
同时,下载后的应用程序将可以在控制面板中的SoftGrid管理中看到下载的比例,应用程序使用中不会在本地计算机上安装。与以往的终端服务不通的是:在本地执行,并支持脱机状态运行。当应用程序需要升级时,管理员只需要将原有生成的应用程序项目文件重新导入,并安装升级后重新分发即可,不会影响用户的继续使用。
当客户端需要使用到前面“最短启动代码”里没有的功能时,将自动在服务器中下载相应的代码以运行。从统计学上来说,一个企业的所有客户端在同一时间使用同一软件的同一功能的可能性是相当小的,所以这样也能起到一个数据分流的作用,从而大大加快速度。
在MDOP套件中还有企业用于桌面管理的其他工具,利用MDOP对客户端进行应用程序部署的时候,企业还可以通过App-V对部署的程序进行管理。同时,也可以使用App-V解决方案实现企业客户端的桌面标准化、桌面高可用性和桌面可管理性。