首次接触Provisioning Services时,让笔者想起了以前。不知是一九九几年,笔者已记不清。那时,个人电脑还很贵。为了节约成本,好多局域网采取无盘工作站。记得当时使用是Novell的NetWare 3.12,当时还是用的DOS。当时,无盘工作站的部署过程非常复杂。相比以前,现在Provisioning Services 部署要容易得很多。
目前大多数企业都在努力应对环境中计算机数量激增及管理工作日益繁杂的难题。无论是台式 PC、数据中心的服务器还是自助式设备,每台计算机都必须作为一个单独的实体进行管理。 要想获得分布式处理的优势,则必须对分布式管理加大投入力度。设置、更新、支持以及最终停用每台计算机都需要耗费时间和财力。 在高昂的运营成本面前,计算机的购置成本往往不值一提。
Provisioning Services 采用了一种与传统映像解决方案截然不同的方法,从根本上改变了硬件与依托硬件而运行的软件之间的关系。 Provisioning Services 通过流技术推送单个共享磁盘映像(虚拟磁盘),而非将映像复制到各台计算机中,使组织能够减少所管理的磁盘映像数目,即使计算机数目持续增加也不会对此产生影响,这种方式兼具集中式管理的效率以及分布式处理的优势。
此外,由于计算机通过流技术动态、实时地从单个共享映像推送磁盘数据,因而确保了计算机映像的一致性,同时,大型计算机池可以在计算机重新引导时彻底更改其配置、应用程序甚至是操作系统。
通过Provisioning Services,任何虚拟磁盘都可以配置为标准映像模式。 处于标准映像模式的虚拟磁盘允许多台计算机同时通过该虚拟磁盘引导,这大大减少了必须维护的映像数目以及所需的存储空间。虚拟磁盘采用只读格式,目标设备不能更改其映像。
目前Provisioning Services的最新版本为7.8,为了熟悉Provisioning Services,笔者在虚拟化环境时行了部署安装。以下是笔者的部署环境:
物理机:联想笔记本,4核I5,内存8G,Windows 10专业版。
虚拟化平台:Windows 10自带的Hyper-V。笔者开始学习时,曾试图使用VMware Workstation V12,但在映像捕获后,启动客户机,总出现如下错误:
通过分析,笔者认为捕获的映像磁盘的启动文件(BCD)有问题。(这个笔者的观点,希望广大IT爱好者能分析其原因,找出解决方案)。所以,笔者就放弃了使用VMware Workstation。
Provisioning Services v7.8的要求:
1、需要活动目录域环境。笔者使用Windows Server 2012 R2,安装AD。
2、需要DHCP服务器。在域控制器DC上实现。
3、需要数据库服务器。使用Sql Server 2012 R2,在DC上安装。在生产环境中,建议将数据库部署在单独的一台计算机。
4、Citrix许可服务器。在DC上安装实现。
5、同时,为了实现存储的高可用性,笔者在DC上安装了iSCSI目标服务器,以及安装Provisioning Services管理控制台。
6、需要安装 Provisioning Services Server.通过两台加入域的Windows Server 2012 R2的虚拟机来实现。
为了熟悉Provisioning Services的高可用性,笔者用了两台服务器。在学习部署中,如果不需要了解其高可用性,我们完可以将Provisioning Services安装在DC上,以节约资源。
7、目标设备安装。两台虚拟机,一台安装Windows 2008R2,一台安装Windows Server 2012 R2,启用DHCP。通过捕获不同的操作系统映像,熟悉相关功能。
考虑到笔者的计算机内存有限,所以对于所有虚拟机都启用了动态内存,其中DC分配了2G,其他计算机都分配了1G内存,刚好刚刚够用。
注意事项:
1、相同操作系统的计算机尽可能用差异磁盘、动态磁盘的方式来部署产生相关虚拟机。这样的目的是为了节约硬盘空间。但差异磁盘启动计算机后,计算机的SID会一样,因此需要重新SySprep程序。否则,会出现无法加入域等错。
对于动态磁盘这种方式,尽管能节约磁盘空间,但影响了部署操作速度,因此在实际生产环境中,建议使用固定大小的磁盘。
2、临时关闭防火墙。整个环境需要用到好多端口,为了保证顺利部署,建议关闭防火墙。在生产环境中不推荐。
3、用来准备映像捕获以及测试的虚拟机,在产生虚拟机、安装系统或者使用前,需要将原网络适配器删除,增加旧版的网络适配器,因为在Hyper-V只有旧版的网络适配器才支持PXE启动。
4、建立虚拟专用网络,将所有虚拟机连接到专用网络上。这样的目标,防止其他DHCP服务器的影响。
5、针对SQL SEVER数据库引擎服务、Stream服务以及SOAP服务,建立专门的服务帐户,不要使用默认的网络服务账户。如果使用默认的网络服务账户,部署时可能出现一些错误、造成不能成功。由于是学习环境,笔者使用是管理员账户来充当(生产环境不建议,这样有安全隐患)