千家信息网

Windows VDA定制/优化/版本选择之我感

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,平时做桌面项目的时候,很多工程师都在问我一个问题,为什么有些项目的桌面那个启动、登录速度很快,他的PPT播放、3D的效果比我这个好?但对比下他的硬件配置还不如我。这类很明显带有最终用户使用体验的问题,
千家信息网最后更新 2024年09月22日Windows VDA定制/优化/版本选择之我感

平时做桌面项目的时候,很多工程师都在问我一个问题,为什么有些项目的桌面那个启动、登录速度很快,他的PPT播放、3D的效果比我这个好?但对比下他的硬件配置还不如我。

这类很明显带有最终用户使用体验的问题,我相信无论是做哪家桌面的工程技术人员其实都有遇到,当然这里面其实牵涉到的技术面有不少,从系统优化、链路优化、个人数据访问、AD系统集成、认证等等不一而足,今天我主要想来说在虚拟桌面中每个用户、工程师都会用到的Windows系统本身。今天讨论的VDA或者我们叫做虚拟桌面/云桌面,这里主要是说交付给最终用户使用的那个"东西",不过多涉及到后台的各种交付、策略配置组件、客户端等等。

在现在的虚拟桌面市场中,大家用的最多的是Windows 7,其次是Windows Server 2008 R/2012 R2,以及现在慢慢开始被大家接受的Windows 10。

其实无论是哪个版本的操作系统,我们在交付给最终用户之前一定要对这个VDA系统做一次定制/优化。否则在我看来这就是对于客户的不尊重和不专业。

为什么这么说呢?其实稍稍了解Windows系统的朋友都知道,微软的Windows产品每一个大版本出来之后,RTM版基本没太多人上生产环境,一般都要等到出SP1之后才会逐步在市场中推广开来。做微软的圈子的人肯定都知道一句玩笑话:MS东西没出SP1你敢用吗?

这个也从一个侧面Service Pack/hotfix这种东西对于系统稳定性提升有多重要。那我们就来看看我们常用的Windows 7的发布历程:

微软于2009年10月22日正式发布了Windows 7;2011年2月22日发布了Windows 7 SP1


不查不知道,突然发觉Windows 7都已经发布8年了,SP1版本都6年半了。大家可以自己感受一下过去10年IT的变化之快速,如果今天拿着一个2011年出版的Windows 7 SP1上生产,您觉得这个符合时代的发展吗?

就好比上个月发生的"WannCry"勒索病毒,病毒发生后其实最正确的方法就是按照MS的要求和建议安装MS17-010的补丁(关于这个病毒和防护措施说明,请见MS MVP浩哥的说明,抵抗勒索病毒的正确姿势)。不少非IT圈的朋友问我,为啥这个最简单有效的办法,平时我们的IT都不去做。我当时的回复就是:这个太low。

君不见现在做IT的公司如果说自己不是做云计算、大数据、iot、ML真是都不好意思出门见人。但是IT系统维护这些最基础的事情缺往往被人所忽视。其实微软的补丁更新系统可以说独步整个IT界,别的厂商在这个层面上基本不能望其项背。

#可能有人会说这是Windows系统写的差,所以很多漏洞。其实无论是Linux,MAC,Android系统都有漏洞,而且数量一点都不少,千万不要以为用了MAC,用了iPhone就可以高枕无忧,该升级的时候一定要升级。

补丁对于系统到底能带来哪些改变呢:

  1. 如上所述的安全漏洞。在这个IT安全越来越严峻的世界,这个可以说是最廉价而又十分有效的终端系统防护方案之一。

  2. 功能增强,这里包含了很多我们普通用户可能平时留意不到的内容。比如:网络性能、根证书链、特定传输协议优化(比如SMB)等等,这些看着不明显但却对用户最终使用会有明显改观的底层内容。

  3. 新功能、新版本,比如.net framework升级,以及现在MS还会推送硬件驱动。

    备注:目前Windows Update可以推送XenServer 7.x的Guest tools驱动

所以我们现在一台Windows 7SP1安装完成后如果使用Windows Update来更新补丁会发现得有差不多200个补丁需要去安装。

这就是这么多年历史积累下的各种组件的增强,可以说今天安装完成所有补丁的Windows 7 SP1和当年发布的Windows 7 SP1简直是天壤之别的两个产品。


这个时候就有朋友会说了,我现在如果真的把一个干净的Windows 7 SP1进行补丁升级,可能几天都不能完成,下载补丁过程很慢。其实这个原因很简单,因为你的系统太旧了、底层部分组件太老了。Windows 7 SP1中,系统自带的Windows Updage Agent已经不匹配现在的Windows Update系统,导致其遍历补丁速度非常慢(曾经我等过2天,说多了都是泪)所以为了加速这个过程,我们需要先手动在的系统上安装如下两个补丁:

3020369

3172605

#请先安装3020369,3020369是3172605的前序补丁。

这两补丁安装好了以后,通过Windows Update就会非常快的检索、遍历出需要安装的补丁,后续的下载速度就完全看网速了。

当然环境里面如果有WSUS/SCCM之类的管理软件就更为简单了,直接用其推送。所以在企业级环境中,强烈推荐管理员部署这类平台。其中WUSU是MS一个免费组件,简单好用。


那么说完补丁,这个只是完成了一个基础,那么接下来就需要对Windows系统进行优化。其实说是优化(这里不存在什么加速这种事情),在我看来更准确的描述其实是对于Windows系统的"裁剪",意思就是说把Windows系统在虚拟桌面体系中不需要的组件、服务、策略给删除、停用、调整。

#这个动作其实没有一个标准值,很多是基于不同用户应用再来不断调整优化。这里只是列出个人一些经验。


从我个人来说,我的基础镜像会做如下几个操作:

  1. 添加删除组件里面,删除除了: .net framework 3.5,Windows Media Player, IE 之外的所有其他组件

  2. 设定Pagefile大小(特别是在物理内存大于4G以上的场景中)

  3. 停用没有必要使用的Service,

  4. 停用没有必要使用的Schedule Task,

  5. 停用包括Aero、鼠标在内的特效等,


停用的Service、Schedule Task这个确实是个技术活,过去这个操作都是需要靠经验或者参考一些KB来设定。我曾经也做个一个PSH脚本,来完成相应工作。现在Citrix提供了一个叫Citrix Optimizer的VDA镜像优化工具,这样可以极大的方便我们一线人员的使用。(期盼好久啊。。。)

https://support.citrix.com/article/CTX224676

目前此工具支持Windows7,10, Server 2012, 2016。默认自带了相关模板,后续相信会不断完善给予更好的支持。

#Tools不是万能的,请根据实际情况调整。


完成这个之后,对于常规使用来说,VDA的母镜像就已经可以交付使用了。但是我们都知道一般情况下我们会给用户都是Administrator即管理员权限。其实在任何系统中,当你拥有了系统管理员这个权限,控制就会变的很难做,为什么大家都说Linux系统稳定,其实有一个很重要原因是在Linux设计中,其管理体系在默认情况下,用户是没有Root即超管权限的,那么其核心的系统就不会受到用户侧的各种操作的影响,进而减少系统的不稳定性。

可是在Windows体系中,无论是从系统的设计逻辑、用户使用习惯和应用的特点,我们是很难不给予用户Administrators的权限,那么就导致由于用户的误操作、应用相互干扰导致虚拟桌面无法正常工作。比如说有用户自己修改IP地址,自行删除一些桌面Agent,胡乱修改系统变量等等不一而足。

而过去,为了限制用户的操作,一般都需要借助GPO来完成这种操作,但是对于很多非MS背景的同学来说这个太复杂了。


所以Citrix通过一个叫WEM(Workspace Environment Management)来实现对于系统环境的设定。

比如,我通过设定限制用户不能使用Windows Update,Help这些功能。

#补丁应该在交付给用户前就安装好,而不是让用户去安装各种补丁。


限制用户不能使用控制面板或者面板中的一些特定组件。


这样来说,在给予用户超级管理员权限情况下,也能合理控制用户,可以使用整个桌面,以及定制化后的系统,这样才是最适合每个不同客户的系统。

其实从我个人的角度来说,虚拟桌面这种产品他还是需要和用户的管理体系对接,完全开放、完全不受控、不考虑标准化,也许初期使用没问题,到了中后期,越多不受控的虚拟桌面,对于用户方的运维压力将是史无前例。太多的用户跟我们反馈过,如果初期不受控,后面的运维工作真是一夜回到解放前。

#在这里其实要澄清一个观点,很多人说做标准化桌面一定要用标准/池化/Non-persistent桌面,其实我个人观点倒是不一定。你可以通过技术手段来做这种重启即还原的桌面,也可以给用户完全自控的专有/Persistent桌面,但是配套上企业的管理体系,比如:运行安装的软件是公司统一规定好的,安装非此清单中的软件就是违规,通过管理体系来进行控制与管理。

从我个人来说,我非常推崇虚拟桌面对于IT前端运维的管理、控制特性。操作层面推崇的是一种技术+管理融通的方式,而不是死板的只使用技术来达到最终结果。


以上这些信息对于Windows 7 SP1, Windows Server 2012都是适用的,但是对于Windows 10却不完全适用。这个主要的区别还是在Windows 10系统自身的版本更新的体系有关。

相信大家都知道,过去无论是Windows 客户端系统,7,8/8.1还是服务器系统2008R2, 2012R2都是通过Service Pack+hotfix方式来更新系统。

但是到了Windows 10,基本上每半年到一年,都会有一个完整的版本分发出来。每次新的版本发布都会带来大量的新功能、新组件、新服务。其实这也是MS为了规避过去那种Service Pack+hotfix的更新带来对于新功能的不能快速迭代的一种新时代的新方法。毕竟当前的IT发展,敏捷开发、快速迭代是一个大趋势。


从这张图我们可以看出目前发布的3个主要的Windows 10版本,其Schedule Task,Service,Default App的数量都是会有一些不同,那么进而导致其对于CPU/RAM等系统资源消耗量的不同。


那么问题来了,如果我们要使用Windows 10作为VDA的时候,我们应该选择哪个版本,RTM,Anniversary 或者Creator版本。(具体版本号请大家自行检索)


其实MS在设计Windows 10体系的时候就有考虑过这个问题,所以除了过去我们熟识的专业版、企业版之外,他还引入新的Service options,

https://blogs.technet.microsoft.com/enterprisemobility/2016/01/06/navigating-the-windows-10-servicing-options/

其中Inside Program类似于BETA版,CB就是最新版本,CBB是一个稳定版本分支,LTSB则是以稳定为主。

所以MS推荐在企业级场景中,是使用CBB和LTSB这两种版本,个人用户推荐Inside和CB版本。比如我个人电脑目前就是使用最新的CB版本1703。


那么在当下,哪些版本是CBB和LTSB版本呢。在如下的MS网站,MS给出了每个版本的状态,

https://technet.microsoft.com/en-us/windows/release-info.aspx

#请注意,这里Microsoft Recommend推荐的1703是其最新的版本,这个主要是对于个人用户使用。但是在VDA/虚拟桌面场景中,我们需要参考MS推荐优先选择CBB/LTSB版本。


所以个人建议在虚拟桌面场景中,目前比较合适的选择是:1607,1511,1507这三个版本。


以上信息,仅代表个人观点,供参考。

系统 用户 版本 桌面 补丁 管理 个人 组件 体系 就是 技术 时候 权限 问题 控制 推荐 更新 不同 企业 场景 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 恶魔之魂卡在登陆服务器 罗湖区无源网络技术开发服务标准 计算机网络技术信息管理 安装ai显示无法连接服务器 如何建立域服务器 wincc服务器的冗余区别 达梦数据库美化sql按钮 免费代理服务器ip转换 采爱孚软件开发 柳州市青羽网络技术有限公司 青少年网络安全的实际案例 国家网络安全法主题党日活动 平谷区正规软件开发价格信息 保密 网络安全简报 树立网络安全作文开头 江西数据软件开发服务郑重承诺 手机我的世界服务器被禁了怎么办 微信第三方软件开发公司 中国网络安全病毒库 软件运维转行做软件开发容易吗 弘姆互联网科技有限公司 计算机网络技术笔记本要求 林区公安局网络安全保卫大队 超微gpu服务器机箱 韶关卫星软件开发报价表 服务器80端口怎么解决 我的世界原初修真服务器QQ群 csgo僵尸服服务器 上海易递通网络技术有限公司 正在等待夸桥服务器
0