上篇 SCCM 2012 R2安装部署过程和问题(二)

个人认为对于使用SCCM 2012的最重要的经验是耐心。

SCCM采用分布式部署的架构,不同的站点角色可以部署在不同的服务器上,站点角色之间的通信通常是异步的且需要消耗较多时间,加之SCCM的通知机制不如SCVMM那样强大,因而通过GUI界面我们很难实时了解诸如内容分发(Distribute Content),部署任务序列(Deploy)这些工作的执行状态,这不得不说是SCCM的重大缺陷,而这点在操作系统分发上将体现的更加明显。

虽然缺少实时的通知机制,但是我们还是可以通过SCCM的各种日志发现一些问题,分析其原因并解决它。有时都做对了却无法得到正确的结果,这时就要考虑角色间通讯延迟的问题,可能这时需要的只是等待了。接下来以操作系统分发为例来说明SCCM的一些功能和可能会遇到问题的解决办法。

四、SCCM 2012 R2的实战——操作系统分发

SCCM可以向具有通过网络启动功能的计算机分发操作系统,这非常适合大规模部署Windows操作系统的场景,甚至实现服务器裸机上架。

操作系统分发可以简单的理解为目标计算机安装操作系统,并进行一些必要的配置。在SCCM中操作系统分发即是在目标计算机上执行一个自定义任务序列。根据一般安装操作系统的经验可以想象这个自定义任务序列需要:格式化磁盘、安装操作系统、配置操作系统(设置账号、选择时区、输入产品密钥等),如果进一步还可能需要:安装驱动、安装软件、配置网络,加入域甚至需要一些更复杂的配置。由于SCCM通过网络部署操作系统,因而在上面的任务之前,还需要让目标计算机载入Window PE以搭建自定义任务能够执行的环境,当目标计算机通过Window PE成功引导后,剩下的工作在Windows环境中执行就显得简单得多。通过上面,现在我们知道,我们需要做的工作包括:

  • 准备Window PE映像并分发至分发点,用以引导目标计算机
  • 准备操作系统映像并分发至分发点,用以在目标计算机上进行部署
  • 准备驱动包或应用程序包并分发至分发点(非必须)
  • 准备任务序列并部署
  • 启动目标计算机通过PXE引导系统

当然在进行以上工作之前,我们应当搭建起整个部署所需要的网络环境(实现目标计算机与SCCM服务器之间的联网,确认目标计算机支持网络PXE启动,另外在准备安装SCCM的前置条件中我们还谈到在网络中安装和配置DHCP Server和Windows Deploy Servies (WDS)服务器角色等)。一切准备停当,那么接下来的工作就交由SCCM来完成了:

1. SCCM的初始配置(Administration菜单和Asses and Compliance菜单)

在这里我们需要配置网络发现方法、站点边界和站点角色,并对分发点进行一些必要配置,以支持操作系统分发功能。

在Administration > Hierarchy Configuration > Discovery Methods子菜单中,开启以下发现方法。

SCCM通过多种发现方法自行找到目标计算机并纳入管理,经过一段时间的等待,目标计算机会出现在Asses and Compliance > Devices菜单中,并自动进行简单分组。

在Administration > Boundary Groups 子菜单中新建一个站点边界组,在Administration > Boundaries子菜单中新建站点边界 ,这好比为站点服务器划分势力范围。

在Administration > Site Configuration > Sites上方的菜单中,选择Configure Site Components > Software Distribution,配置Network Access Account选项卡,配置一个账号共Configuration Manager的客户端访问网络。

在Administration > Site Configuration > Servers and Site System Roles确认各站点角色的部署情况,至少需要一个分发点角色。

在Administration > Distribution Points中选择分发点右键属性,开启PXE和多播(Multicast),配置Boundary Groups

SCCM可以通过PXE和多播(Multicast)方式进行操作系统分发。PXE是一对一方式,只要有目标计算机就发起连接就进行数据传输,多个目标计算机连接的情况下将同时发送多份数据;而多播是一对多的方式,只有达到足够多数量的目标计算机或等待限定时间后,才通过多播的方式发送一份数据,因而多播是高效的,另外如果已经开始了多播传输,这时又加入的新的目标计算机,那么该目标计算机会先接收和其他目标计算机一样的数据,缺失的部分随后再补充,这可以通过查看他们的进度看到。

为分发点开启PXE,以下设置的密码将在目标计算机PXE启动时用到:

为分发点开启多播(Multicast),在Enable scheduled multicast中设置目标计算机数量限制和时间限制:

为分发点配置站点边界组:

上面的工作准备就绪,接下来我们进入正题。可以看到在Software Library菜单中有三个子菜单,分别对应SCCM的三个主要功能,操作系统分发功能主要涉及Software Library > Operating Systems子菜单。

2. 准备Window PE映像并分发至分发点(Software Library菜单)

默认情况下,SCCM会提供两个Window PE映像(Boot Images),分别用以引导32位和64位系统,在这里我们需要对这些Window PE映像进行简单配置,并分发至分发点,以备发送并引导启动目标计算机进入PE环境,这里的分发(Distribute Content)可以简单认为是装车准备出发的意思。当然这些Window PE映像是经过特殊加工,且针对待分发的不同版本的操作系统要相匹配,但2012 R2中提供的这两个默认版本基本可以满足我们的需求,更多关于Window PE映像和待分发操作系统之间的关系,可以查阅微软的文档。下面我们以64位环境为例:

在Boot Image (x64)右键属性,配置Customization勾选Enable command support(testing only),该选项开启了命令行的支持;配置Data Source勾选Deploy this boot image from the PXE-enabled distribution point。接下来将Boot Image (x64)这个Window PE映像分发至分发点。

3. 准备操作系统映像并分发至分发点(Software Library菜单)

为了分发某个版本操作系统,我们需要事先在一台目标计算机手动安装配置好该版本操作系统,将其制作成为操作系统映像,然后将操作系统映像加入SCCM后,再分发给其他更多目标计算机。

制作操作系统映像本质上是使用Sysprep命令,但是SCCM也为我们提供了快捷途径,可以通过任务序列媒体功能创建一个任务序列媒体(可以认为是放在光盘或U盘中的小程序)在作为模板的目标计算机上运行就可以创建出操作系统映像了。那么接下来我们来看看如何创建这个任务序列媒体。

3.1. 创建捕获操作系统映像的任务序列媒体(U盘小程序)

在安装SCCM控制台的服务器中插入U盘,选择Software Library > Operating Systems > Task Sequences 右键 Create Task Sequence Media,选择Capture media

接下来选择U盘,选择启动映像和分发点(这与后面创建分发操作系统的任务序列的配置要一致),完成后即可使用该U盘进行操作系统映像的捕获了

3.2. 捕获操作系统映像

正常启动作为模板的目标计算机进入Windows系统,插入U盘运行其中名为TSMBAutorun.exe的程序,打开操作系统映像捕获向导,选择一个远程放置操作系统映像文件的网络位置。完成向导后目标计算机将重新启动并进入PE,开始操作系统的捕获。

成功完成后可以在那个网络位置发现一个.wim的Windows映像文件。

3.3. 创建系统映像并分发至分发点

在SCCM控制台中,选择Software Library > Operating Systems > Operating System Images 右键Add Operating System Image ,选择上一步创建的.wim文件。

创建完成后在Software Library > Operating Systems > Operating System Images 列表中可见上面创建的操作系统映像,右键配置Distribution Settings勾选Allow this package to be transferred via multicast(WinPE only)

接下来将该映像分发至分发点,如果向导中无法选择分发点,可能是该映像已经分发过了,如果随后又修改了属性,使用Update Distribution Points更新即可。

4. 准备驱动包或应用程序包并分发至分发点(非必须)

如果需要操作系统分发同时完成驱动和软件的安装,则可以分别在Software Library > Operating Systems > Driver Packages和Software Library > Application Management > Packages中创建驱动包和软件包,以备下一步创建任务序列中引用。这里不是操作系统分发的关键,在此略去。

5.  准备任务序列并部署

通过之前的描述我们已经知道,任务序列是整合上面准备的所有资源的关键环节。值得注意的是创建的任务序列是通过部署(Deploy)而不是分发(Distribute)的方式,只有作为内容,诸如PE映像、操作系统映像、驱动包,软件包才是分发出去的。

选择Software Library > Operating Systems > Task Sequences 右键 Create Task Sequence。这四个选项分别创建不同的默认任务序列,但随时可以增删改其中的任务:

  • 部署操作系统映像到目标计算机上
  • 部署操作系统映像后再以此制作新的映像
  • 部署操作系统映像到虚拟磁盘中
  • 完全自定义任务序列

选择Install an existing image package

选择一个用以引导启动目标计算机的Windows PE映像

选择之前准备好的操作系统映像文件(注意:Windows映像文件可以包含多个分区),设置产品密钥和管理员密码。

可以选择加入工作组或域

选择默认的Configuration Mananger Client Package

跳过State Migration、Include Updates和Install Application步骤,这些涉及状态迁移站点角色和软件分发的内容,暂不讨论。

完成创建任务序列后,通过右键编辑刚刚创建完成的任务序列,可见任务序列包含的所有任务与我们一般情况下进行操作系统安装的步骤无异。这里可以对任务进行调整,甚至可以设定任务执行的前提条件。

值得注意的是,对磁盘进行分区时需要明确目标计算机的启动引导方式是BIOS还是UEFI,在设定分区时,各分区容量之和不能超过目标计算机的实际的磁盘容量。

在应用操作系统时,由于wim映像文件中可以包含多个分区映像,需要明确选择其中作为操作系统分区的那个映像(即1-1),以及明确应用操作系统的磁盘位置(即将系统安装在之前划分好的哪个分区里),如下图是通过变量的方式确定的,Varialbe name:C 在分区时可以设定。

接下来部署(Deploy)该任务序列

在部署向导中为Collection选择All Unknown Computers,由于我们是向裸机部署,因而这些计算机还没有安装任何SCCM客户端软件,所以是Unknown Computers

接下来Purpose选择Available,可用但非必须。Make available to the following,确保选择一个包含PXE的选项,否则目标计算机将无法通过PXE启动。

其他接下来的选项可以默认并完成任务序列的部署,完成后在该任务序列下方的Deployments可以查看并操作部署的结果。如果对任务序列进行了修改,需要删除之前的部署,再重新部署。

也可以查看与该任务序列相关的内容分发情况,确保Targeted字段都为1,即代表已分发至分发点。

内容的分发和部署的状态可以通过Monitoring > Distribution Status 和 Monitoring > Deployments 查看。

6. 启动目标计算机通过PXE引导系统

启动目标计算机通过PXE引导系统。

引导成功后将载入PE映像

进入PE环境,输入之前设定的密码

选择任务序列并执行

如果一切正常,经过几次重启将最终完成操作系统的部署。如果遇到错误,可以通过错误报告和几个重要日志来分析原因。

SCCM提供了一个查看器日志的工具Configuration Manager Trace Log Tool,在SCCM默认安装路径中C:\Program Files\Microsoft System Center 2012 R2\Configuration Manager\tools\cmtrace.exe可以找到。

SCCM的日志文件在默认安装路径下C:\Program Files\Microsoft System Center 2012 R2\Configuration Manager\Logs。在操作系统分发过程中,主要可以查看SMSPXE.log和SMSProv.log文件。在目标计算机上也会产生日志文件Smsts.log文件,其在目标计算机上的位置随任务序列执行的不同阶段而不同,具体可查阅SCCM: How to copy SMSTS.log when a Task Sequence fails

SCCM 2012 R2安装部署过程和问题(三)的更多相关文章

  1. SCCM 2012 R2安装部署过程和问题(二)

    上篇:SCCM 2012 R2安装部署过程和问题(一) 在上篇我们已经完成了SCCM 2012 R2安装前的准备,其中有许多细节,关于数据库的准备和权限的设置是需要特别注意的.那么接下来我们开始安装S ...

  2. SCCM 2012 R2安装部署过程和问题(一)

    在进行Windows Server 2012 R2虚拟化测试前,由于需要安装,部署和管理很多的服务器,自然会想到该如何提高效率和有效的管理.在Windows Server 2008的时代微软已经提供称 ...

  3. Windows Server 2012 R2安装部署Office Web Apps Server

    微软官方参考地址https://technet.microsoft.com/zh-cn/library/jj219455.aspx,建议参考官方说明. 注意:每一步进行完成后重启服务器!!! 一.   ...

  4. SCCM 2012 R2实战系列之二:前提工作准备

    在上一篇中,我们完成了SQL Server 2012的安装和配置.现在跟大家分享SCCM安装前的准备工作. 2.1 SCCM 2012 R2 准备工作 2.1.1 创建并分配System Manage ...

  5. SCCM 2012 R2实战系列之一:SQL安装

    大家好,从今天开始跟大家一起分享自己学习SCCM 2012 R2的一些心得和具体的部署配置,希望能帮到大家.由于SCCM部署的步骤比较复杂,内容也比较多,所以我把SCCM整个部署过程分为以下三个章节: ...

  6. SCCM 2012 R2实战系列之三:独立主站点部署

    3.1 SCCM 2012 R2主站点的安装 SCCM 2012 R2跟以前的SCCM 2007不同的是多了一个管理中心站点的角色, 管理中心站点主要负责SCCM管理控制和报表查看. 主站点跟以往的S ...

  7. 企业IT管理员IE11升级指南【11】—— 通过SCCM 2012和WSUS部署Internet Explorer 11

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  8. loadrunner 联机跑负载 win server 2012 r2环境部署

    下列为在实际loadrunner 联机跑负载 win server 2012 r2环境部署中进行的成功案例,遇到的问题和解决方法,仅作整理和记录,如转载请署名及原文地址. ps:欢迎加q群872584 ...

  9. Windows Server 2012 R2 安装.NET Framework 3.5报错

    简单记录一下,Windows Server 2012 R2 安装.NET Framework 3.5报错,下面是解决方法 载入ISO文件Windows Server 2012 R2,而且在安装的过程中 ...

随机推荐

  1. Java操作Sqlite数据库-jdbc连接

    Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...

  2. jQuery-1.9.1源码分析系列(一)整体架构

    不废话,直接上关键.这个系列中有好些直接借用别人的资料,我将他们整合在自认为比较合理的地方.所以在此先谢谢那些前辈. 注意:后续系列中jQuery实例多用$(...)来表示 1.    初始化与链式调 ...

  3. jQuery-1.9.1源码分析系列(十) 事件系统——事件委托

    jQuery的事件绑定有几个比较优秀的特点: 1. 可以绑定不限数量的处理函数 2. 事件可以委托到祖先节点,不必一定要绑到对应的节点,这样后添加的节点也照样能被处理. 3. 链式操作 下面主要分析事 ...

  4. linux源码分析(四)-start_kernel-cgroup

    前置:这里使用的linux版本是4.8,x86体系. cgroup_init_early(); 聊这个函数就需要先了解cgroup. cgroup概念 这个函数就是初始化cgroup所需要的参数的.c ...

  5. 自己实现简单的AOP(二)引入Attribute 为方法指定增强对象

    话续前文 : 自己实现简单的AOP(一)简介 在前一篇文章中,对AOP的实现方式做了一个简单介绍.接下来,引入Attribute 为方法指定增强对象,由此实现一个简单的AOP. 注意:指定的是增强对象 ...

  6. 【WCF】WCF中的InstanceContext与ConcurrencyMode【转】

    一.前言 最近忙于公司的在线升级项目,一个人要负责公司四大产品的在线升级,这四个产品是在Revit中以插件形式存在的,目前基于WCF来实现.等客户总量突破5万了,再重新用socket实现. 由于有服务 ...

  7. sessionPageState与视图状态存储

    这个配置节甚是简单,在MSDN中的介绍也甚是简单:为 ASP.NET 应用程序配置页的视图状态设置. historySize的作用是设置要存储在页历史记录中的项数. 但是这根本是看不明白他是干嘛的,百 ...

  8. 异步编程系列第02章 你有什么理由使用Async异步编程

    p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...

  9. 找不到方法:"!!0[] System.Array.Empty()".

    找不到方法:"!!0[] System.Array.Empty()". 这个原因是没装.net framework 4.6

  10. 【python环境配置1】 环境变量与常用模块

    1. 安装python27 2. 配置环境变量 找到python.exe的安装文件夹,复制路径(C:\python27\Arcgis10.2): 将该路径粘贴到 "控制面板\系统和安全\系统 ...