创建虚拟机模板是提升虚拟化和私有云自动化的基础方法之一,这也是微软在Azure上被普遍使用的方法。通过定制不同的虚拟机模板,可以实现直接交付基础设施即服务(IaaS)的能力,如交付不同的操作系统,包含不同的操作系统补丁,预装定制的软件等。
通过一些较为深入的规划设计,还可以实现平台即服务(PaaS)的能力,如交付IIS平台,PHP平台,Mysql平台,MSSQL平台等,对于用户而言,能够直接使用的是一种平台,至于平台如何搭建,这一点用户不关心,有趣的是,在私有云的中后期管理中,运维人员也很需要费心去特别关注这件事情。
如果仅仅只是安装一个操作系统,这对任何一个拥有WS运维经验的管理员来说,都不是一件难事,但如果将按照操作系统以及安装之后的流程自动化,降低人为参与程度,如何海量的简化重复性的劳动工作,则是SCVMM2012 R2所关注和解决的问题。
Sysprep综述
Sysprep是什么
Sysprep顾名思义是有两个单词组成的sys,prep,一般按照原意翻译为系统准备,在很多情况下,俗称系统封装。
通过Sysprep,已安装的Windows系统的唯一属性设置会被重置(例如某些应用程序所生成的数据,计算机名称,PC安全标识符(SID)等),这种操作有些类似于手机的刷机,通过刷机为硬件灌装一套定制的操作系统。重置完成的计算机会看起来像一台新的机器,但是在这之前所安装的一些软件和某些配置则可以保留,这也是其与微软官方操作系统光盘所不同的地方。由于此特性,Sysprep被广泛用在OEM厂商新出的计算机上。而组织和企业也可以通过Sysprep为不同员工分配拥有办公软件的计算机。
在私有云的部署当中,Sysprep也是非常重要的一个环节,无论是定制虚拟机模板还是服务模板,都会牵扯到Syspre。
Syspre能做什么
Sysprep的功能非常强大,其可以控制操作系统的安装前,安装中以及安装后的所有环节,在Sysprep阶段,可以实现包含但不限于如下功能。
- 自动输入序列号:通过脚本,帮助用户自动输入产品序列号,简化工作人员的工作,对于OEM厂商而言,这一点非常重要。
- 部署环境加载驱动:通过脚本调用外部程序,可以实现在部署环节自动安装或加载硬件驱动。
- 进入桌面环节运行额外程序:通过脚本调用外部程序,可以实现进入桌面后,系统自动安装特定的办公软件或行业软件。
- 操作系统的资源定制化:通过脚本控制,可以实现为操作系统增加一些独特的功能,包含组织信息的桌面背景,系统主题,定制的收藏夹,定制的预装软件等。
- 操作系统设置的定制:通过脚本,注册表等,可以实现预配置一些原本需要很多步骤的手工操作。如修改控制面板的图标,禁用某个驱动器的盘符,usb设备等。
- 重置SID:对于AD域架构来说,重置SID是一个必须的操作。SID是一台计算机在域中的唯一身份识别码。在XP时代,经常会有计算机加域失败的案例,其主要原因就是因为用户的计算机所使用的镜像是未经过Sysprep的Ghost镜像操作的。
如何为操作系统Sysprep
单纯使用Sysprep非常简单,在已安装好的操作系统(Win7以上操作系统均支持),只需使用命令提示符,前往C:\Windows\System32\Sysprep目录,运行sysprep.exe。
在弹出的系统准备工具窗户中,单击确定即开始进行sysprep操作。此时如勾选通用选项,则经过sysprep后,硬盘上数据会具有通用性,将物理硬盘摘除安装在其他计算机中,也可以正常开机而不会出现由于更好硬件造成的蓝屏现象。
等待5分钟左右,Sysprep结束后会关闭计算机或重启(取决于上一步的关机选项),需要注意的是,Sysprep会破坏唯一性数据,因此个人用户在使用Sysprep时,必须提前备份重要数据,如 我的文档,等。
通过以上操作,可以将现有的计算机去唯一,但这里只完成了Sysprep的基本操作并未实现其定制功能。
ADK综述
ADK(Windows 评估和部署工具包)的前身是AIK(Windows 自动安装工具包),在进入Windows Server 2012 时代后,ADK发布了两个版本ADK8和ADK8.1,分别对应Windows Server 2012/Windows 8 与Windows Server 2012 R2/Windows 8.1,当然,在正式版发布之前,也有Preview版本的出现。在使用当中,ADK需要与操作系统,SCVMM版本严格匹配,在不匹配的情况下,SCVMM的安装无法继续。
AIK与ADK的区别
AIK是陪伴Windows Server 2008 R2/Windows 7出现的,其功能与ADK并无二致。在AIK中,一共有5个工具。
- Windows 系统映像管理器(Windows SIM):此工具主要用来打开Windows的光盘镜像,以及创建和编辑应答文件,以实现操作系统定制功能。
- ImageX:此工具用于编辑Windows的WIM格式的映像文件,除了这款官方工具之外,WIMTools也是一个常用到的WIM格式编辑工具。
- 部署映像服务和管理(DISM):此工具用于将语言包,更新补丁,驱动应用于Windows的WIM映像。
- Windows预安装环境(Windows PE):此工具提供较少和较底层的Windows功能,主要用来在物理主机未安装系统时,提供一个过度平台,可以安装,部署和修复场景。在私有云的应用当中,该工具对于操作系统部署起到了关键作用。
- 用户状态迁移工具(USMT):此工具可以将用户的唯一数据从旧的Windows系统迁移到新的Windows系统(也可以用于相同操作系统但不同物理主机之间的数据迁移,如更换新主机)。
ADK和AIK相比,提供了一些新的功能和改变。
- 应用程序兼容性工具包(ACT):由于新的Windows8以及Windows8.1带来了新的兼容性问题,此工具可以帮助管理员了解现有的应用程序的兼容性,是否支持新的操作系统。
- 部署工具:部署工具整合了在AIK中出现的部署映像服务和管理(DISM)工具,Windows系统映像管理器(SIM),以及OSCDIMG,BCDBOOT,DISMAPI,WIMGAPI和其他工具和接口。这种整合对最终使用而言并没有太大改变。
- 批量激活管理工具(VAMT):此工具可以实现MAK或KMS激活,能够帮助企业完成Windows系统和Office的激活和管理。
- Windows性能工具包(WPT):此工具包含三个组件,分别是Windows性能记录器,Windows性能分析器,Xperf,可以帮助用户使用图形界面分析系统性能。其主要应用于物理机迁往虚拟机之前的性能评估。
- Windows评估服务:其与Windows评估工具包一起,为用户获取从物理机迁往虚拟机之前的性能评估对比数据,方便企业做出决策。
ADK对私有云的影响
ADK8和ADK8.1的差别很小,仅在于ADK8.1对新的Windows Server 2012 R2/Windows 8.1有了完整的支持。通过ADK,私有云可以很容易从以下方面获得更明显的收益。
- 通过Windows预安装环境(Windows PE),带来定制的安装环境,方便用户部署和维护Windows系统。
- 通过部署映像服务和管理工具(DISM),方便用户快速地更新Windows系统镜像的驱动,语言包,更新。
- 通过Windows系统映像管理器(Windows SIM),方便自定义部署脚本,修改操作系统的配置,如注册名,计算机名,品牌标志,大多数的注册表项,桌面,文档等个性化设置。
Windows PE的特点和缺点
Windows PE对于Windows运维工程师而言,是一种非常有用的工具,在Windows系统出现问题的时候,通过Windows PE可以很方便的拯救无法启动或被病毒感染的主机。Windows PE支持很多Windows功能,但其并不是一个完成的桌面系统,对于某些功能而言,也是无法实现的。
Windows PE可以实现和支持以下功能:
- 支持批处理文件和脚本,如BAT,CMD以及Powershell。
- 部分应用程序,主要是一些单文件的应用程序。
- 定制的驱动,可以在PE环境中支持网络,显卡以及磁盘的驱动,以方便运维操作。
- 支持在Windows PE环境下运行部署映像服务和管理(DISM)。
- 支持网络功能,在加载特定的驱动后,可以访问网络,如浏览器应用或文件共享。
- 支持存储功能,在加载特点驱动后,以及通过特定的工具,可以识别主流的文件格式,如NTFS,FAT32等。
- 支持VHD格式,方便对安装在VHD上的操作系统进行运维。
尽管Windows PE可以实现很多功能,但其依然存在很多缺点和设计上的限制,无法作为生产系统所用,Windows PE的先天缺点如下:
- 为了防止Windows PE被当作生产操作系统使用,在连续使用72小时后,系统会自动重新启动,同时该限制无法修改。
- 同样为了防止被当作生产系统使用,当Windows PE重启后,系统会丢失所有更改,包括对驱动,注册表以及Windows PE所在磁盘的数据更改。如需进行永久更改,只能修改Windows PE的WIM映像。
- 无法进行加域的操作。