前言
"重装是最好、最快的解决方法"。在使用Windows操作系统一段时间之后,尤其是经常频繁打补丁、升级、添加删除软件后,系统会比较慢,有的可能会出现一些"莫名其妙"的问题,这个时候,果断备份、重装、恢复系统,是我们经常做的方法。但是,企业网络中的服务器,如果使用几年之后出问题,你能下定决心重装吗?如果重装,怎么重装才能不丢失数据、在重装过程中不影响使用。本文通过一个具体的案例,介绍通过迁移的方法彻底解决Active Directory服务器存在问题的方法。
正文
Active Directory服务器是企业网络中的基础,网络中的身份验证、文件和打印共享、Exchange Server、SharePoint、OCS等产品也都需要Active Directory。如果你单位的信息化比较早,单位的网络可能是从Windows Server 2003甚至是Windows 2000 Server一路升级过来的。Windows的产品升级做的相当不错,可以将低版本产品升级到当前最新的版本,例如现在的一些单位的服务器都已经是Windows Server 2012 R2 With Update的版本,工作站是Windows 8.1,也有的管理员安装了Windows 10的预览版进行测试。但随着从版本升级到高版本的过程中,尤其是在原来的服务器、通过"升级安装"的方式,进行升级的Windows Server,可能会有一些问题。例如,目前我的网络中主要有三台服务器:
A:Active Directory服务器,升级到Windows Server 2012 R2,同时是DHCP、证书服务器、Windows部署服务器。
B:WSUS服务器,同时是第二台DHCP服务器。
C:Hyper-V Server,在这台服务器中跑着几个虚拟机,放置网站。
这三台(A、B、C)服务器已经使用多年,以前都是从Windows Server 2008升级到Windows Server 2008 R2,再升级到Windows Server 2012,再升级到Windows Server 2012 R2。在Windows Server 2008 的时候,A、B、C还配置了"分布式文件系统",做文件服务器。但自从频繁升级,也可能有其他原因导致,现在作为Active Directory服务器的A出现一些问题,表现在:
(1)分布式文件系统仍然可以使用,但使用"DFS复制组"的文件夹已经不能同步,这个问题可能在升级到Windows Server 2008 R2的时候就开始出现了。直到升级到Windows Server 2012 R2 With Update仍然没有解决。
(2)A服务器过段时间就不能访问Internet,但重新启动就又能解决,而过段时间就再次不能访问外网,但访问局域网没有问题。
目前B、C还没有发现问题,可以使用。因为笔者有大量的资料放在服务器中,主要是Microsoft及VMware的一些软件,以及其他的一些第三方软件或其他的一些资料,一直想使用DFS在三个服务器之间同步(现在每台服务器都加装了一个2T的硬盘专门做数据盘,用于文件存储)。
经过我的分析,我想问题可能出在A服务器的操作系统上,因为A服务器的Active Directory服务、Windows部署服务、DHCP及证书服务都没有问题,工作站加入与退出域也没有问题,Active Directory帐户、身份验证也一直正常,我想问题可能出在A服务器的操作系统中,可能服务器在多次升级的过程中,有些遗留问题,而要彻底解决这个问题只能通过重新安装操作系统来解决,但由于Active Directory、证书、DHCP等这些服务的应用(尤其最重要的是Active Directory帐户信息),又不能通过简单的"重装"解决,所以就想通过"备份"→"迁移"→"恢复"的方式,解决A服务器的操作系统问题。而在解决问题的过程中,整个网络的服务又不能"中断"、也不能影响各工作站业务系统的运行(例如工作站登录、身份验证、DNS解析),所以引入"中转"服务器,在迁移、安装的过程中,让"中转"服务器保存Active Directory帐户信息、代替原来的服务器进行DNS解析及Active Directory帐户身份验证,等原来的服务器重新安装完毕,再恢复Active Directory、DHCP及证书等服务(及数据)。经过实际操作验证,问题得以解决。下面我们通过图1-1的实验拓扑,模拟我的网络,告诉大家解决方法及操作步骤,如果大家有类似问题,可能参考我的方法解决。
图1-1 实验网络
在图1-1中,分别有A、B、C、D四台服务器,其中A是Active Directory服务器,在A上安装了Windows Server 2012 R2,升级到Active Directory,安装了DHCP及企业证书服务器。模拟笔者网络中的Active Directory服务器。B是Windows Server 2012 R2,加入到Active Directory,模拟Active Directory中的一台成员服务器;C是Windows 7,也加入到Active Directory,模拟工作站。其中D是引入的"中转服务器",用于本次迁移升级的"中转"。主要的步骤与流程如下:
(1)备份A服务器的DHCP与证书CA及数据库,用于以后操作系统重装后的恢复。而Windows部署服务,在重新安装后重新配置即可。
(2)在D安装Windows Server 2012 R2,命名计算机名称为dcbackup,设置IP地址为172.16.20.110,DNS为A的IP地址172.16.20.1。并将D升级到Active Directory,作为现有林的额外的域控制器。
(3)将D升级到主域,即作为RID、PDC、基础架构主机、以及作为"全局编录"服务器。
(4)在A上卸载企业证书服务器。
(5)在A上将Active Directory服务器降级,将A降级为"成员服务器"。此时,为了保证客户端登录,可以将A的IP地址由172.16.20.1改为网络中一个不使用的地址例如172.16.20.109;在D中添加172.16.20.1的IP地址,这样可以保证"成员服务器"及"工作站"不进行任何修改的前提下,保证网络的正常运转不受影响。
(6)将A从域中脱离,然后重新安装Windows Server 2012 R2。
(7)将A升级为主域、将D降级。从D上删除172.16.20.1的IP地址,在A中添加172.16.20.1的IP地址。最后在A上删除172.16.20.109的"临时IP地址"。
(8)在A上安装DHCP及企业证书服务,恢复DHCP及证书备份。
【说明】:(1)在整个迁移的过程中,需要增加两个临时的地址,这些地址在升级的过程中用于"中转",并且根据角色的不,会设置在不同的服务器上。例如,用于中转的D服务器的IP地址是172.16.20.110,当D服务器升级到主域控制器的时候,会在A服务器上添加172.16.20.109的IP地址,删除172.16.20.1的IP地址,而将172.16.20.1添加在D服务器上,此时D服务器有两个IP地址。这样原来的客户端或其他服务器的域名解析、身份验证不会中断;当A服务器通过重新安装、再次升级到域控制器、升级到主域时,则在D服务器上删除172.16.20.1的IP地址,再在A上添加172.16.20.1的IP地址。同样也是避免网络的中断。等所有的迁移完成后,会释放D服务器、172.16.20.109及172.16.20.110的IP地址。(2)因为网络中一般不止有一台DHCP服务器,所以在下面的过程中,删除其中一台服务器的DHCP,不会影响整个网络。(3)在我们这个案例中,只有一台Active Directory服务器,在大多数的生产环境中,我们推荐至少要有两台Active Directory服务器。
1 迁移Active Directory前的准备工作
在迁移Active Directory服务器之前,需要做一系列的准备工作,这主要包括备份原来Active Directory服务器中的其他服务,这包括备份DHCP服务器、备份与证书服务器的私钥、颁发的证书的数据库。在备份Active Directory证书私钥及数据库之后,卸载Active Directory证书服务。下面我们一一介绍。
在重新安装Active Directory服务器之前,需要备份服务器上的DHCP服务器、已经颁发的证书、证书私钥。首先检查服务器的配置是否正确。
(1)A服务器的Active Directory计算机的IP地址、子网掩码与网关配置如图1-2所示。
图1-2 IP地址设置
(2)Active Directory系统属性,如图1-3所示。
(3)检查之后,打开"DHCP"服务器管理器,右击计算机名称,选择备份"DHCP"服务器。
图1-4 备份DHCP
(4)在D盘新建一个文件夹,例如d:\backup\dhcp-20.1,在此文件夹备份DHCP。备份位置必须是一个"空"文件夹。
图1-5 选择DHCP备份位置
(5)在"服务器管理器"中打开"证书颁发机构",如图1-6所示。
图1-6 证书颁发机构
(6)右击计算机名称,在"所有任务"中选择"备份CA",如图1-7所示。
图1-7 备份CA
(7)在"要备份的项目"对话框中,选择要备份的项目,这包括"私钥和CA证书"、"证书数据库和证书数据库日志",并且选择一个"空"文件夹,如图1-8所示。
图1-8 备份选项及备份位置
(8)在"选择密码"对话框,为备份设置密钥,如图1-9所示。
图1-9 设置备份及恢复密码
(9)在"完成证书颁发机构备份向导"对话框,单击"完成"按钮,如图1-10所示。
图1-10 备份完成
打开"Active Directory用户和计算机",在"Domain Controllers(域控制器)"列表中,可以看到,当前只有一个名为dcser的域控制器,如图1-11所示。
图1-11 域控制器