|
|
||||||||||||||||
| | 网站首页 | 考试商城 | 考证信息 | 技术文档 | 资料下载 | 考试留言 | IT资讯 | QQ咨询1 QQ咨询2 | ||
|
||
|
|||||
| Automated Deployment Services (ADS)实录 | |||||
作者:ourexam 技术文档来源:ourexam 点击数: 更新时间:2006-6-26 ![]() |
|||||
|
实录背景 ADS发布已经有一段时间,早先曾做过ADS1.0的实验,但因技术参考资料贫乏,而且了解的人不多无法共同学习讨论。那段时间几乎都在看技术资料,MVP文章,Webcast课程,反复实验但都总因为不知名的错误而停滞不前,最后几乎走火入魔(英文阅读能力差,机器配置低,反复实验经常要等待,而且要重复很多步骤),实在无法继续下去,决定暂停!待有更加全面的资料公布或新版本发布后再作实验。 1个多月过去了,偶然发现微软在其网站发布了ADS1.1,于是兴奋的下载下来准备再次准备实验。在经过前期准备后开始了此次利用 ADS来部署WinSrv2003的实验。中间也遇到了很多问题,反复查资料看KB最终换来了成功。而这篇文章实际意义主要是为了给自己的实验作备忘,汇总每个资料中的关键信息,并通过每个实验细节的介绍使那些希望学习ADS的朋友们不必再因为参考资料的某些问题而走弯路。 希望大家能从此篇文章中获得有价值的东西。因本人并不是微软的技术专家,所以篇中用词可能并不规范并且不免有遗漏或错误,还请大家谅解指正。 ADS 简要概述 Automated Deployment Services,自动化部署服务,简称ADS. 在Windows Server 2003中,Microsoft对平台进行了扩展,管理员可以通过它容易地构建和管理超大型的可伸缩Windows服务器部署。自动部署服务(Automated Deployment Services,ADS)包括一组Microsoft开发的新映像工具,以及一个可以用来在裸机服务器上快速部署Windows 2000 Server和Windows Server 2003的、更安全且具有远程操作能力的基础结构。此外,ADS提供了一个更加安全、可靠的脚本执行,允许管理员像管理一台服务器那样简单地在1000台服务器上执行基于脚本的管理工作。 ADS 产品特性 在ADS中,计算机被称之为设备(Device),所有被管理的设备都需要安装ADS中的Administration Agent(简称:代理程序)。ADS服务器需要由三部分组成,它们是:Controller Service(用来集中管理设备)、Network Boot Services(简称NBS,用来客户端的远程计算机启动)、Image Distribution Services(负责映像创建和部署)。这三个部分可以被分散在多台计算机,也可以集中安装在一台计算机。 ADS使用数据库来存储信息,在ADS安装源中包含有他的本地MSDE,或者使用一个本地或远程的SQL Server 2000服务器。 ADS需要一台DHCP服务器来为客户端作引导服务,同时ADS服务器本身也支持动态IP分配,因此ADS服务器静态IP配置不是必须的。另外建议不要在ADS服务器上部署DHCP服务。 ADS客户端需要支持PXE引导,或被利用RIS工具创建PXE引导盘,前提是你的网卡在RIS所支持的清单中。 ADS不依赖微软的活动目录,一个简单的LAN环境就可以实现ADS.它的任务脚本强大,可以实现对客户端更加细微的管理能力(如:为客户端分区)。 ADS的设计目标前面提过了,主要是用来大规模部署服务器。但是在微软讲师和MVP的技术资料中提及ADS同样可以用来部署Win2000Pro或XPPro,不过我想可能会有很多需要修改的地方,这也是我以后的实验目标。 以下是ADS的关键属性表,大家可以参考: ADS关键属性表 典型场景 数据中心,计算机中心,大规模部署 部署的操作系统 Windows Server 2003:所有32位版本 Windows 2000:所有服务器版本(SP3以上) 可用性 可以运行在Windows Server 2003企业版和数据中心版 部署方式 基于映像 部署初始化 部署控制服务,推模式 支持多播部署 是 每服务器部署的并发数量 最大128(多播),部署速度不受服务器并发部署数量影响 每计算机多个卷的部署 是 部署映像文件格式 NTFS,FAT16,FAT32 映像编辑工具 是 根据硬件抽象层(HAL)自动映像过滤 否 DHCP服务器类型 任意 活动目录需求 否 配置信息存储源 Microsoft SQL Server 编程可扩展性 是 为了方便在有防火墙的环境下实验,以下列出ADS所涉及到的端口: Communication ports used by ADS Device to the DHCP server Protocol Direction Port Notes DHCP Device (PXE firmware) to DHCP service UDP 67 DHCP DHCP service to Device UDP 68 Device to Network Boot Services Protocol Direction Port Notes PXE Device (PXE firmware) to the ADS PXE service UDP 67 and/or UDP 4011 Required to support a device's boot to the Deployment Agent (using PXE)。 You can configure the use of port 4011 using the \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetServices\ADSPXE\Parameters\PxeUseDhcpPort registry entry. PXE ADS PXE service to the device UDP 68 TFTP Device (PXE firmware) to the TFTPD service UDP 69 Required to download Startnbs into RAM. DHCP Device running Startnbs to the Deployment Agent Builder service UDP 4012 You can configure the use of port 4012 using the \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetServices\ADSBUILDER\parameters\ServerPort registry entry. DHCP Device (Ntldr) to the Deployment Agent Builder service UDP random port TFTP Device (Ntldr) to the TFTPD service UDP 69 Required to download the Deployment Agent image into RAM. Device to the Image Distribution service Protocol Direction Port Notes Image download (multicast) Device to the Image Distribution service UDP 30877 or 30878 Required for image capture and deployment. Requires DHCP multicast address allocation. IP addresses are not the device's, but allocated multicast address. Image download (unicast) Device to the Image Distribution service TCP 30877 Image transfer Image Distribution service to the device UDP 30877 through 31878 Device to the Controller Protocol Direction Port Notes BMDP Device to the Controller UDP 8197 Required for remote execution of jobs on the device (both in Deployment Agent and in Administration Agent)。 You can configure the use of port 8197 using the \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetControl\BMSS\BmdpIpPort registry entry. BMDP Controller to the device TCP 8198 You can configure the use of port 8197 using the \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetControl\BMSS\BmcpIpPort registry entry. BmFileXfer file transfer Controller to the device TCP 19778 Controller to Network Boot Services Protocol Direction Port Notes BMDP UDP 8197 Required to support NBS. You can configure the use of port 8197 using the \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetControl\BMSS\bmdpIpPort registry entry. BMDP TCP 8198 You can configure the use of port 8197 using the \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetControl\BMSS\BmcpIpPort registry entry. Controller to the Image Distribution service Protocol Direction Port Notes BMDP UDP 8197 Required to support the Image Distribution service. You can configure the use of port 8197 using the \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetControl\BMSS\bmdpIpPort registry entry. BMDP TCP 8198 You can configure the use of port 8197 using the \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetControl\BMSS\BmcpIpPort registry entry. 实验环境介绍 因为我没有实际的测试环境所以需要依靠虚拟系统来搭建实验环境,为了提高虚拟机的运算性能,我在VMwareGSX下部署ADS服务器,在Virtual PC部署客户端。每台虚拟机都会分配128M内存,并为ADS服务器和原型机部署Windows Server 2003企业版。DHCP则使用实际环境下的服务器。因为服务器和客户端都使用动态IP分配,所以在这里就不再只能每台设备的IP地址。当然大家也可以根据自己的习惯选择虚拟机软件。 呵呵,忘记介绍我做实验用的宿主机配置。PIV2.4G/512M/80G,跑两个虚拟机是没有问题的,就这样的配置曾经还跑过三台虚拟机作群集实验,不过我想磁盘寿命估计已经大大减少。 部署 ADS 服务器 微软为我们提供了ADS的免费下载,你可以从本文相关链接中获取它的下载地址。下载得到的文件是一个自解压文件包,我将其解压缩在系统所在磁盘并将目录命名为ADS_Setup.当解压缩完毕后ADS的安装主界面会自动载入。
准备原型机 上面我们已经安装好了ADS服务器,并将原型机添加至设备中。但是如果要成功捕获原型机的系统映像,则必须在原型机上安装ADS代理程序,之后还要再作其他设置。
创建原型机系统映像 在安装完代理程序后,可以回到ADS服务器上,这时你会发现设备中的计算机上的红叉消失了,如果还没有请刷新或者进入此设备属性中填写原型机的IP地址,确认后你的原型机GUID值和正确的计算机名称将被传递过来。在此实验中我是先添加的设备后安装的代理程序,你可以反向操作,这样可以直接成功,ADS也支持自动查找,只要安装有ADS代理程序都能被ADS服务器查找到。另外需要注明的是:如果你要为一台设备部署操作系统,那么只要添加设备时直接填写MAC和名称就可以。
首先,在C盘下建立名为sysprep的目录,将系统安装盘下deploy.cab文件中的setupcl.exe、sysprep.exe、setupmgr.exe提取拷贝至C:\sysprep目录下。 然后,使用setupmgr.exe制作sysprep方式的全自动应答文件,保存在C:\sysprep目录下,并命名为sysprep.inf.对比ADS自带的应答文件你会发现有所不同,ADS自带的应答文件中没有包含OemSkipEula的值,这样将直接导致在客户端设备进入最小化安装后,会提示你确认协议。另外关键的地方在产品安装钥匙、计算机名、超级用户密码、工作组名这四处。(其中最关键的是前三项,不过我实验过程中发现如果在原型机上已经设置了超级用户的密码,那么你只需要关注前两项就可以了,因为就算你在应答文件中重新输入新的密码仍然不会更该之前的密码。)他们是类似^ADS_Computer_Name^这样的字符串,这就是ADS变量。而我做的自动应答文件是不会被ADS所识别的,必须修改其中关键的那四项字符串。为此请对照两个文件修改! 最后,一定要在C:\sysprep目录下建立一个名为i386的目录并在其下建立名为$oem$的子目录,否则你的自动应答文件写的再好,sysprep后进入最小化安装模式也不会被应用。就这个问题,我实在不知道该怎么泄愤了,也许官方的资料并没有错,而是我哪里疏忽了,但实际中却必须要这样做。具体可以参考我的一篇Blog:http://goxia.maytide.net/p/sysprep.php
如果要卸载这个磁盘则运行:imgmount /u filesname.img,更多的命令可以使用/?来查看。 为客户端部署映像 完成了系统映像的捕获实验,大家是不是心里很开心。映像得到了,我们就该完成此次ADS实验的最后一个环节。这样心里才舒坦,您说是不!俏皮话就不多说了,我只是为了缓解一下我写此文时的疲劳感! 我用Virtual PC创建了一台虚拟机使用client命名计算机,分配了16G的硬盘空间,内存还是128M,首次开机引导之后将其关闭,然后打开。vmc文件,也就是虚拟机的配置文件。记录下MAC地址以备之用。(不这样做,你新创建好的虚拟机配置文件中是不会产生MAC地址的。)
自带的这个模板默认是5G的分区,如果你的原型机分区与之不符就会导致部署失败,所以在此修改容量值。
至此使用ADS部署WinSrv2003的实验就成功完成了。大家心里怎么想的?希望能来五月时节社区参与讨论,网址是:http://forum.maytide.net 实录感想 从第一次开始ADS实验到最终成功完成实验到完成这篇文章,历时近2个月,实际中试验用就去了了1个多星期的时间。其间真是波折起伏,总想放弃但又实在狠不下心,就这样跌跌撞撞中完成了实验。不过好赖总算给自己了一个完美的交代,心里也畅快了很多。 机器配置差,中文资料不丰富,英文资料读不全照实让我吃了一次亏。我想大部分的朋友也跟我差不多少。该反思一下了,反思之后发现做这行对我真没什么前途,具体的心思保密啦,个人隐私! 回到主题,让我们回忆一下之前的操作步骤,其实并不十分繁琐。相反利用微软的ADS完全可以实现我们的自动化部署任务。怪不得微软谈到利用ADS使管理员可以轻松的完成1000台服务器的部署。我很希望能尽快完成客户端的部署实验,大家可能更加关注的也是这个话题。假设,在一个200台客户端的企业环境中,如果使用的是相同的硬件并支持PXE引导,那么管理员对系统的部署将会多么轻松。一切都是在服务器端控制下完成,客户端只需要完成PXE的引导设置就可以。而且利用ADS还可以搭建一个管理平台,利用ADS强大的脚本功能来控制管理客户端,这些都等待着大家去发掘,不要去考虑ADS能干什么,完全看你利用ADS都做了什么,这才是最关键的。如何有效利用工具才是真理。 从这次实验中再次证明!!! 只有敢于攀登顶峰的人,才能将顶峰踩在脚下。 不怕失败,超越自我 文章到此也该结束,实在太累了!本人文学功底不强,技术能力也是在学习中得以提高。斗胆写此文章,希望没有浪费大家的宝贵时间,反而更希望能帮助到大家,这才能激励我、鼓舞我。 |
|||||
|
|
|||||
| 技术文档录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 考试地图 | 资料地图 | 下载地图 | |||
|