前言:     
      最近在网上瞎逛了一下,发现有不少SCCM的部署文章,并且诸位网友都写的不错,不过大家介绍的是比较简单的环境,都是所有角色放在一台服务器上面。一般来说,单台服务器的模式只适合比较小规模的环境,对于一些大、中型的环境,单台服务器的模式可能在性能方面满足不了需求,特别是SCCM和SQL Server放置在一台服务器中会给服务器带来很大的性能压力。因此,针对大、中型的环境,我们非常有必要将SCCM和SQL Server分别使用不同的服务器,这就是今天讨论的话题。
环境介绍:
      本次实验涉及到3台虚机
      域控制器:       dc.coreio.com
      sccm服务器:   sccm.coreio.com       成员服务器
      数据库服务器: sql2005.coreio.com   成员服务器
      以上虚机操作系统版本均为Windows Server 2003 R2 32bit with SP2,数据库版本为Sql2005 & sp2。SQL2005的安装操作不在本文章的讨论范围,已经先行安装好。
部署前准备工作:
     首先,我们需要在ADUC中的System容器给sccm服务器赋于权限,考虑到以后我们可能还会在环境中增加SCCM的服务器,为了方便日后的部署,减少重复性的劳动,在此,我们使用用户组的方式来赋于权限,以下为具体操作步骤:
     1.在ADUC中创建一个名称为“SccmServer”的安全组,然后将SCCM计算机帐户加入到该组中,如下图所示:
     image
 
     2.接着,我们需要将SccmServer这个组赋于System容器以及子容器的完全控制权限,如下图所示:
       image
 
 
        image
 
        image
 
        image
        同样,在Properties页面也需要设置完全控制的权限,如下图所示:
        image
        至此,在AD中给SCCM赋权限的操作已经完成。
        3.由于SCCM服务器和数据库服务器是分开的,为了能够让SCCM服务器正常连接上SQL服务器,在此,我们还需要登录sql2005服务器,在计算机管理中将SCCM服务器的计算机帐户加入到sql2005服务器的本地管理员组中,如下图所示:
       image
       细心的看官可能有疑问“为什么在AD中赋权限采用组,而在SQL服务器是赋权限采用独立的计算机帐户?”在此稍微解释一下,因为无论是部署SCCM的主站点或者辅助站点都需要这些计算机帐户对AD中System Management容器有相应权限,在大型环境中,如果采用计算机赋于计算机帐户权限的方式,我们需要将每一台用于安装SCCM的服务器帐户都赋权限一遍,所以在AD中赋权限采用组的方式能够减少重复性的劳动,并且也更符合管理规范。SQL权限与AD权限需求不同,SCCM的辅助站点是不需要数据库的,所以在此,我们采用赋于独立计算机帐户的方式能够避免将SQL权限赋于一些并不需求数据库权限的计算机,提高了SQL数据库的安全性,降低安全隐患。
 
先决性检查:
      第一次部署SCCM服务器必要满足一些先决性条件,关于这部分内容,可以参考:安装 Configuration Manager 的先决条件
      经过前面的一些准备之后,现在登录SCCM服务器,运行“Run the Prerequiste Checker”来检查目前服务器是否满足SCCM的部署条件,如下图所示:
      image
      image
      image
      当出现红叉的时候,说明没有满足必须的部署条件,这时候OK键为灰色不可选状态,不能继续下去……
      经过半个小时的折腾……终于把警告和错误解决的差不多啦:
      image
      比较讨厌的是上面截图中的警告会一直重复出现,虽然已经安装了A hotfix rollup package is available for Microsoft Management Console (MMC) in Windows Server 2003, in Windows XP, and in Windows Vista
      关于“MMC updates for Configuration Manager (Software Updates)”警告的解决方法,google了一下,原来国外有人解决过这个问题,就是通过修改注册表的方式,在此借花献佛一下……
      打开注册表编辑器,找到以下键值:
      HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB940848-v3
      image
      将KB940848-V3后面的-V3去掉重命名为KB940848,刷新一下,返回到SCCM的先决性检查窗口中再次单击一下“Run Check”按钮,终于……完美的结果出现了:
      image
 
开始部署:
      经过前面的一番苦战,现在我们正式开始SCCM的部署之旅,回到欢迎界面中,单击“Configuration Manager 2007 SP1”开启SCCM的安装程序:
     image
     在安装向导窗口单击“下一步”,如下图所示:
     image
     在安装选项窗口中选择“Install a Configuration Manager site server”后,单击“下一步”,如下图所示:
     image
     在License窗口中选择同意后单击“下一步”,如下图所示:
     image
     在安装设置窗口中选择自定义安装,单击“下一步”,如下图所示:
     image
     在站点类型窗口中选择“主站点”,单击“下一步”,如下图所示:
     image
     image
     image
     在下面窗口为SCCM安装程序选择一个目标路径后单击“下一步”,如下图所示:
     image
     在“site settings”窗口中输入site code和site name后单击“下一步”,如下图所示:
     image
     在site mode窗口中选择混合模式后单击“下一步”,如下图所示:
     image
     在Client Agent Selection窗口中选择需要安装的功能模块后单击“下一步”,如下图所示:
     image
     在Database Server窗口中输入需要连接的数据库服务器名称和安装过程中创建的SCCM数据库名称,单击“下一步”,如下图所示:
     image
     在SMS Provider Settings窗口中保留默认,单击“下一步”,如下图所示:
     image
     在Management point窗口中输入SCCM管理点的FQDN后单击“下一步”,如下图所示:
     image
     在Port Settings窗口中保留默认的80端口,单击“下一步”,如下图所示:
     image
     在Update Prerequisite Components窗口中选择SCCM更新包的下载方式,由于我之前已经将这些内容下载到本地,所以在此选择第2项,单击“下一步”,如下图所示:
     image
     在弹出的选择窗口中指定更新包的位置后单击OK,如下图所示:
     image
     在Settings Summary窗口中检查无误后单击“下一步”,如下图所示:
     image
     在Installation Prerequisite Check窗口中单击“Begin Install”后程序开始安装,如下图所示:
     image
     image
     image
     在完成窗口中单击“完成”后,至此,SCCM 2007 SP1已经安装完成。
     image
     完成SCCM 2007 SP1的安装之后,在这个基础上接着安装SCCM 2007 R2,在R2的欢迎页面中单击“Configuration Manager 2007 R2”,如下图所示:
     image
     在程序安装向导窗口中单击“下一步”,如下图所示:
     image
     在授权窗口中选择同意之后单击“下一步”,如下图所示:
     image
     在注册信息窗口中输入相关信息后单击“下一步”,如下图所示:
     image
     image
     image
     在完成窗口中单击“完成”后SCCM 2007 R2安装完成,如下图所示:
     image
 
迁移SCCM数据库:
      如果当初安装SQL服务器时候使用默认路径来安装,在部署完SCCM之后,我们需要将数据迁移一下,因为默认数据库会存放在C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data目录下,随着SCCM数据库的不断增长,很容易把C盘写满。
     登录SQL2005服务器,打开Microsoft SQL Server Management Studio连接到数据库服务器,如下图所示:
     image
     展开数据库列表,定位到SCCM的数据库,右键选择Tasks –> Detach将SCCM数据库进行分离,如下图所示:
     image
     在弹出的Detach Database窗口中选中Drop Connections之后单击OK,如下图所示:
     image
     SCCM数据库成功分离之后,定位到C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data目录,将SCCM的数据库文件移动到新的位置。
     数据库文件移动到新位置之后,在Microsoft SQL Server Management Studio中将数据库附加,操作如下:
     image
    
     image
    
     image
    
     image
     至此,SCCM数据库的迁移操作顺利完成。
 
初始化SCCM配置:
      经过前面的一系列操作,SCCM的部署工作已经全部搞定,现在来进行一下SCCM的初始化配置以便让SCCM能够开始工作起来。
      登录到SCCM服务器上,打开Configuration Manager Console,首先来创建一个站点边界,如下图所示:
      image
      在New Site Boundary窗口中输入描述和选择Site Code、Type、Site name之后单击OK,如下图所示:
      image
      创建完站点边界之后,接着配置一下发现方法,如下图所示:
      image
       配置完发现方法之后,更新一下集合看看SCCM能否正常发现AD中的计算机,如下图所示:
       image
     
       从上图能够看出,目前SCCM已经能够开始工作,至此,SCCM的部署工作已经全部完成,累了半天,终于写完了^_^