ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

域控搭建与FSMO角色迁移:从dcpromo到ntdsutil完整指南

域控搭建与FSMO角色迁移:从dcpromo到ntdsutil完整指南 简介面向系统运维与网络管理员以及正在备考 Windows Server 域控实验的初学者。内容围绕主域控、辅助域控的搭建以及主域控制器迁移与五大操作主机角色转移展开基于 Windows Server 2003 给出完整流程。从主辅域控的环境准备、目录服务安装向导配置开始逐步介绍新域创建、额外域控制器添加、IP 与 DNS 设置、主辅联通检查等操作在迁移部分既讲解利用活动目录用户和计算机、域和信任关系等图形界面完成 RID、PDC、基础结构、架构及域命名主机转移也提供了 ntdsutil 命令行方式中转移与占用命令的对照并涵盖系统状态备份、全局编录设置等关键前置步骤可帮助减少实际迁移中的误操作风险。资源包共 1 个 docx 文档大小约 566KB步骤清晰、命令完整适合作为域控部署与迁移的操作手册或实验笔记。目前已有 2060 人学习/下载尤其适合需要搭建域控实验环境、演练主辅域控切换或交接维护任务的工程师参考。1. 域控搭建与迁移从dcpromo到FSMO接管的完整链路在 Windows Server 2003 时代搭主域控、加辅助域控、再把五大 FSMO 角色迁过来是每个域环境运维都绕不开的活。这套方案把整条链路完整串起来了先把主域控 DCA 上建好林根域 Jiajie.com再让辅助域控 DCB 以额外域控制器身份加入最后通过图形界面和 ntdsutil 两种方式把 RID、PDC、基础结构、域命名、架构五大角色以及全局编录全部迁到 DCB 上。做完这套操作DCA 关机下线域还能照常认证、照常下发组策略。适合在换 DC、整合域环境时照着复现的系统工程师。2. 主域控搭建为Jiajie.com配置首台DC的五个关键选项2.1 环境准备两台Server 2003与双机角色定位动手之前先盘清楚环境。方案使用的是 Microsoft Windows Server 2003 Enterprise Edition主域控主机名记为 DCA原文中也写作 A辅助域控记为 DCB原文中也写作 B。这两个主机名最好在装系统时一锤定音不要装完域控再改机器名。域控制器改一次主机名虽然系统会尝试自动修正 SPN 和 DNS 记录但复制链路和 Kerberos 信任经常出现解释不清的异常排查起来极其消耗时间。IP 规划上主域控 DCA 使用固定 IP 1.1.1.1子网掩码 255.0.0.0。辅助域控在后续章节会配置为 1.1.1.2DNS 指向 DCA。这里的关键在于域内所有 DC 都必须是静态 IP不要交由 DHCP 动态分配。DHCP 下发的 IP 一旦变化DNS 里的 A 记录和 SRV 记录会集体错乱域控之间找不到彼此复制直接断掉。运行 dcpromo 之前还有两件容易被忽略的准备工作。第一检查系统日期、时间和时区是否正确。域控之间的 Kerberos 认证要求时间偏差不能超过 5 分钟差多了各种认证报错。第二把 DSRM 密码和管理员密码先想好并记录下来。实验环境可以都用 adchina生产环境建议至少把 DSRM 密码单独设一个强密码并写进密码本因为后面辅助域控安装、系统状态还原都会用到它。2.2 域控制器类型与林类型两个不能选错的选项在 DCA 上打开开始→运行输入 dcpromo 并回车进入 Active Directory 安装向导。第一个关键选项出现在域控制器类型页选择新域的域控制器。这个选项表示当前机器将成为一个新的域的第一台域控。同一页的现有域的额外域控制器选项是给这个域里后续的 DC 用的第一台绝对不能选它。继续到创建一个新域页选择在新林中的域。这一步决定了整片 AD 林的根后续所有域都挂在这棵树下。如果企业已经有一个林根域新建子域时应该选在现有林中的子域但本文场景是从零搭建 Jiajie.com选新林没有争议。之后向导询问新域的 DNS 全名输入 Jiajie.com。NetBIOS 域名会自动带出 JIAJIE保持默认就好。有一点要注意NetBIOS 名不要和任何已存在的计算机名或 DNS 域名相同否则在 NetBIOS 名称解析和 DNS 解析之间会产生冲突部分客户端会出现无法定位域控的现象。2.3 数据库、日志与SYSVOL路径怎么放向导接下来要选择活动目录数据库和日志文件的存储位置。原文方案采用的是默认路径但我在实际部署时会尽量把这两项放到非系统盘比如 D 盘单独一块磁盘或分区。原因是 AD 数据库的读写频率不低与系统文件混在一起后一旦系统盘剩余空间跌破安全线AD 会先行告警甚至数据库进入只读状态。日志文件独立出来还有一个好处排错时可以快速判断是数据库写入问题还是日志增长问题。共享系统卷的位置指的是 SYSVOL 文件夹默认在 C:\Windows\SYSVOL。SYSVOL 承载着域内组策略对象和脚本的复制路径一旦定下来就不要随意移动。移动 SYSVOL 需要操作注册表、重设共享权限并触发全量复制不是改个路径那么简单。所以选择路径时想清楚选完之后尽量别动。2.4 DNS注册诊断与权限兼容按原文选第二项DNS 注册诊断这步原文方案选择的是第二项。向导这一步会根据当前网卡的 DNS 设置给出诊断提示如果本机还没有安装 DNS 服务第二项通常对应由向导安装 DNS 或稍后手动处理。无论具体文案是什么最终目标是让 DNS 服务装上并且 Jiajie.com 区域能正常生成和注册 SRV 记录。AD 对 DNS 的依赖是硬性的域控定位、复制、登录都靠 SRV 记录这一步不能省。再往下是权限兼容性选择原文选的是Windows 2000 或 Windows Server 2003 兼容。如果域里后续会出现 Windows 2000 老服务器或者一时确定不了客户端范围选这个模式最稳妥。之后输入目录服务还原模式管理员密码DSRM 密码adchina向导开始安装。安装结束后重启 DCA。重启回来用两个动作验证主域控是否正常一是打开事件查看器查看 Directory Service 日志确认没有大量红色错误事件二是在命令行执行nltest /dsgetdc:jiajie.com如果返回当前域控是 DCA说明域控定位正常。到这一步DCA 同时持有全部 FSMO 角色、DNS 服务和全局编录主域控搭建完成。3. 辅助域控搭建1.1.1.2加入Jiajie.com并完成复制3.1 网络配置与连通性检查辅助域控 DCB 在加入域之前先把网络配置改对。打开网卡 TCP/IP 属性IP 地址设为 1.1.1.2子网掩码 255.0.0.0首选 DNS 服务器填主域控 DCA 的 1.1.1.1。这里的 DNS 指向和主域控不一样DCA 的首选 DNS 指向自己因为它本身就是 DNS 服务器而 DCB 必须指向 DCA否则 dcpromo 向导连域都找不到。配置完成后在 DCB 上先 ping 一下 1.1.1.1确认链路通。ping 通了只能说明 IP 层没问题DNS 层还要单独验证。打开命令提示符执行nslookup jiajie.com 1.1.1.1如果返回了域名的记录信息说明 DCA 上的 DNS 服务正常响应。如果报错或者超时先检查 DCA 的 DNS 服务是否启动再检查防火墙是否放行了 UDP 和 TCP 53 端口。这个问题在跑 dcpromo 之前解决比装到一半报找不到域控制器再回头查要省时间得多。另外建议顺手把 DCB 的主机名和 DNS 后缀确认一遍。确保系统属性里的 DNS 后缀设置为 jiajie.com避免后面连接域控时因为后缀解析不全而 connect 失败。这个细节我见过不止一次翻车DNS 后缀没加看起来每台机器都在域里但互相解析总是慢半拍。3.2 dcpromo选择额外域控制器与2.2完全不同的路径DCB 的网络和 DNS 确认无误后同样打开运行输入 dcpromo。这一步的域控制器类型必须选择现有域的额外域控制器这是辅助域控与主域控搭建的核心分叉点。选成新域的域控制器会导致向导尝试在 DCB 上再建一个同名或不同名的新域最后得到两个独立的域而不是一个域两台 DC。向导接下来要求提供安装权限。输入有权限把计算机提升为域控的账号和密码一般是域管理员账号如 JIAJIE\administrator密码对应 DCA 上的域管理员密码。然后是额外域控制器的目标域名输入 Jiajie.com。目录服务还原密码DSRM同样输入 adchina与主域控保持一致。两台 DC 的 DSRM 密码不一定非要相同但统一的话在后续用 DSRM 模式排错时会少很多麻烦。安装过程会执行 DNS 区域复制、AD 数据库初始同步最后提示重启。重启完成DCB 已经是 Jiajie.com 域内的第二台域控。注意首次开机后不要急着操作等两分钟让复制链路建立起来再开始下一步验证。3.3 验证复制事件日志与复制检查原文方案在 DCB 装完后做过一次测试结论是主域控的数据能及时复制到辅助域控上。动手复现时验证复制是否正常主要看三处。第一处是事件查看器。在 DCB 上打开 Directory Service 日志如果能看到大量 Event ID 1904、1905 这类复制正常的条目说明与 DCA 的入站复制是通的。如果出现 Event ID 2042 或 1988 这类复制冲突和墓碑记录问题需要单独处理。第二处是 Active Directory 站点和服务。展开 Sites → Default-First-Site-Name → Servers确认 DCA 和 DCB 两个服务器节点下面都有 NTDS Settings 对象并且两个 NTDS Settings 之间没有显示红色的连接错误。第三处是用 repadmin 查看复制状态。在 DCB 上打开命令提示符执行repadmin /showreps DCB输出里可以看到 DCB 从 DCA 拉取目录分区的复制状态last success 时间应该是几分钟以内。如果 last success 是旧时间或者显示 no more replication优先查 DNS 和两边的时间同步。复制验证过了再去做 FSMO 迁移才有意义。主域控和辅助域控的数据不一致时强行迁移角色等于把一份残缺的目录数据库交给新的角色持有者后患无穷。4. FSMO五大角色迁移图形界面里的关键操作4.1 迁移前备份ntbackup与System State是后悔药角色迁移前备份这一步不能跳。在 DCA 上打开运行输入 ntbackup进入备份工具。备份类型选择 System State系统状态它会把注册表、活动目录数据库、SYSVOL、COM 类和启动文件整体打包。备份文件可以命名为 DCA_before.bkf存到非系统盘或网络共享位置。这份备份的定位就是后悔药。迁移过程中如果出现 AD 数据库损坏、复制异常或者角色转移后新持有者状态不对可以用备份还原向导把 DCA 恢复到迁移前的状态。虽然 FSMO 迁移本身是可逆的转出去还能转回来但现场排错的时间成本远高于提前备份的几分钟。备份完成后建议把 DCA 和 DCB 都重启一次再做迁移。重启的目的不是仪式感而是清掉长期运行积累的临时状态让复制链路在干净的环境下工作。如果域里存在大量复制积压先等复制数据追平再动手否则角色转过去后新持有者拿到的是不完整的目录数据。4.2 RID、PDC、基础结构主机迁移AD用户和计算机的连续三步图形界面迁移 FSMO最常用的入口是 MMC 管理单元。第一步迁移 RID、PDC 和基础结构主机在 DCB 上打开Active Directory 用户和计算机。在域名 Jiajie.com 上右击选择连接到域控制器对话框里输入 DCB 并确认。这步的意义是让当前管理单元的实际操作对象变成 DCB而不是默认连接到的任意 DC。如果忘了执行这一操作后续切角色时界面上的按钮可能是灰色的或者提示没有权限。连接完成后再次在域名上右击选择操作主机。弹出的对话框有三个标签页RID、PDC、基础结构。先切到 RID 标签页点击更改弹出确认框后点击确定RID 主机就从 DCA 转到了 DCB。接着切到 PDC 标签页同样点更改确认。最后切到基础结构标签页重复同样的操作。三个角色迁移完成后回到操作主机对话框三个标签页上显示的当前主机应该都已经变成 DCB。这里我个人的习惯是每转一个角色就确认一次不要三个一起点完再看万一某个角色没转成功回头还得重新连接才能定位是哪一步出了问题。4.3 域命名主机迁移AD域和信任关系的操作路径域命名主机在Active Directory 域和信任关系里迁移。在 DCB 上打开这个管理单元右击根节点Active Directory 域和信任关系选择连接到域控制器输入 DCB确定。然后再次右击根节点选择操作主机弹出对话框后点击更改按提示确认。域命名主机角色管理的是域的添加、删除和跨域信任关系。生产环境里这个角色所在 DC 宕机后平时不明显但一旦要加子域或调整信任关系操作立刻卡住。所以它虽然迁移操作只有几步但角色本身的分量不轻。4.4 架构主机迁移先注册schmmgmt.dll再改域控制器架构主机迁移比前面几个角色多一步准备动作注册架构管理单元。在 DCB 上打开命令提示符执行regsvr32 schmmgmt.dll注册成功后打开 MMC 控制台运行 mmc按 CtrlM 打开添加/删除管理单元在可用的管理单元列表里找到Active Directory 架构点击添加并确定。此时 MMC 里就多了一个Active Directory 架构节点。在Active Directory 架构节点上右击选择更改域控制器在弹出的页面里选择指定名称输入 DCB 的计算机名点击确定。这一步是把管理单元的操作指向 DCB。操作切换完成后再次右击Active Directory 架构选择操作主机点击更改按提示确认架构主机就迁移到了 DCB。这里有个常见报错更改域控制器时输入了不可解析的名字。原因通常是目标 DC 的 DNS 记录还没有完全注册或者当前机器找 DNS 服务器时解析不到 DCB。解决办法是先在命令行用 nslookup 检查 DCB.jiajie.com 能否解析确保解析正常后再回来执行更改。4.5 全局编录切换先摘再挂顺序别搞反全局编录GC的切换是 FSMO 迁移之外另一个必须做的动作。在 DCB 上打开Active Directory 站点和服务右击根节点选择连接到域控制器输入 DCB确定。然后依次展开 Sites → Default-First-Site-Name → Servers → DCA右击 DCA 节点下的NTDS Settings选择属性把全局编录前的勾去掉确定。注意这里操作顺序是先在 DCA 上移除 GC 标记再到 DCB 上勾上 GC。反过来先勾 DCB 的话域内会出现两台 GC 并存复制流量和角色持有状态都会变得混乱。虽然网络层面也能收敛但没必要给自己添乱。接着展开 Servers → DCB右击 DCB 下的NTDS Settings选择属性勾选全局编录确定。勾选完成后DCB 开始复制全局编录数据这个过程根据域内对象数量可能需要几分钟到几十分钟。判断 GC 是否就绪可以用repadmin /showreps DCB看 GC 分区Schema、Configuration 和域分区的复制状态last success 更新时间近于当前时间就是 OK 的。至此五大 FSMO 角色和 GC 全部从 DCA 迁到了 DCB。5. 常见问题与避坑ntdsutil转移FSMO时区分transfer与seize5.1 用ntdsutil转移RID角色的完整命令流程图形界面能做的迁移ntdsutil 命令行一样能做而且更适合脚本化和远程操作。以转移 RID 主机角色为例在 DCB 上打开命令提示符按顺序输入以下命令ntdsutil roles connection connect to server DCB.jiajie.com quit transfer RID master逐条解释命令含义。ntdsutil 进入 Active Directory 维护工具roles 进入 FSMO 维护模式提示符变成 fsmo maintenanceconnection 进入服务器连接模式connect to server DCB.jiajie.com 指定本次命令连接的目标域控也就是角色转移的目标所在机器quit 从服务器连接模式返回 fsmo 维护模式最后执行 transfer RID master把 RID 主机角色转移到已连接的服务器 DCB 上。connect to server 后面要写完整 FQDN这是我在多套环境里反复确认过的经验。只写 DCB 短主机名偶尔也能连通但一旦遇到 DNS 后缀搜索顺序问题命令可能连到了错误的域控角色就在不知不觉中转错了地方。其他角色的转移命令对应关系如下表命令作用transfer PDC转移 PDC 仿真主机transfer RID master转移 RID 主机transfer infrastructure master转移基础结构主机transfer domain naming master转移域命名主机transfer schema master转移架构主机所有 transfer 命令的共同前提是源 DC 和目标 DC 都能正常通信。如果目标 DC 不可达命令会立即报错常见的报错信息包括服务器连接失败或网络路径不可用。这时候不要反复尝试 transfer先解决网络和 DNS 问题。5.2 transfer与seize一个走正常流程一个强拆当源 DC 彻底损坏、无法恢复联网时transfer 就没法用了。这种情况下需要用 seize 命令强制夺取角色。还是以 RID 为例命令流程的前半段与 transfer 完全一样只是最后一步不同ntdsutil roles connection connect to server DCB.jiajie.com quit seize RID mastertransfer 和 seize 的本质区别在于transfer 是源 DC 主动放弃角色整个过程在两个 DC 协调下完成角色数据交接干净seize 是目标 DC 在源 DC 可能不在线的情况下强制接管角色不需要源 DC 配合。seize 用在源 DC 宕机且确认不会恢复的场景。原 DC 如果只是一时断网或临时故障不要乱用 seize。强行夺取后如果原 DC 某天重新上线两个 DC 会同时认为自己是这个角色的持有者域内出现角色多主冲突复制日志里会刷出一堆 NTDS 错误。这种状态收拾起来很费劲所以 seize 之前务必确认旧 DC 已经物理离线或永久退役。seize 命令对应表命令作用seize PDC占用 PDC 仿真主机seize RID master占用 RID 主机seize infrastructure master占用基础结构主机seize domain naming master占用域命名主机seize schema master占用架构主机我在实际运维中遇到过这样一次翻车一台老 DC 硬件损坏我判断它短期起不来直接用 seize 把全部角色抢到了新 DC。结果两个月后老机器被修复又被误开机域里立刻出现两个 PDC 持有者客户端的 GPO 应用和密码策略开始飘忽不定。处理办法是当场把老 DC 断网用 ntdsutil 清理元数据。从那以后旧 DC 能不能回来这个前提我在执行 seize 之前都会反复确认。5.3 三个最容易踩的坑第一个坑ntdsutil 连接失败。现象是执行 connect to server 时报错提示无法连接或超时。原因一般是 DNS 指向了已经不存在的 DC或者目标 FQDN 解析出了错误的 IP。解决方法是先确认当前操作机器本身的 DNS 设置是否正确再用 nslookup 解析目标 FQDN确认指向正确 IP 后再重新 connect。第二个坑转移角色时出现复制积压。现象是命令执行成功但角色转移后新持有者上的部分目录属性还是旧值。原因是转移前两 DC 之间的复制没有追平大量未复制的变更还在队列里。解决方法是转移前先执行repadmin /showreps看复制状态直到 last success 时间更新到近期再做角色转移。第三个坑seize 后原 DC 复活。现象是旧 DC 重新上线后事件日志里出现大量 NTDS 错误多个 DC 各自声称持有同一角色。原因就是没有在 seize 前确认旧 DC 永久下线。解决方法是立即将旧 DC 断网或关机然后在任一 DC 上执行ntdsutil metadata cleanup清理旧 DC 的服务器对象让元数据从 AD 里彻底移除。6. 迁移后的验证用dcdiag与netdom确认DCB接管成功角色迁完不算完验证通过了才能让 DCA 下线。在 DCB 上打开命令提示符先跑域控诊断工具dcdiag /v这个命令会做一整套域控健康检查包括 DNS 解析、复制连接、目录服务可用性等。输出很长重点看末尾汇总里有没有 failed 的项。如果某个测试项失败提示信息里多半会写明是 DNS 还是复制问题先处理问题再复跑。接下来用 netdom 确认 FSMO 角色归属netdom query fsmo输出会列出五个角色Schema、Domain、PDC、RID、Infrastructure各自对应的 DC 名称。正常情况下这五行都应该显示 DCB。如果有个别角色还显示 DCA且 DCA 仍可连通回到第 5 章用 transfer 重新转移如果 DCA 已不可达就只能用 seize 补齐。服务层面也不能漏。在 DCB 上打开服务管理器确认 AD Domain Services、DNS Server、Kerberos Key Distribution Center 这三个服务都在运行。DNS 尤其关键DCB 自己如果解析不了 Jiajie.com 的 SRV 记录客户端依然找不到这台新 DC。最后做一次客户端验证。找一台已加域的机器在命令行输入nltest /dsgetdc:jiajie.com正常情况下返回的 DC 名称应该是 DCB。接着用普通域账号在这台机器上登录一次能登录且组策略正常下发说明整个认证链路已经被 DCB 接管。此时 DCA 才能安全下线。我自己在每次 DC 迁移里都会强制把这条验证链路走完整迁移前备份 System State迁移完成后 dcdiag、netdom、nltest 三连查再实测客户端登录最后才拔旧 DC 的电。这套流程看起来多花了半小时但换来的是每一次都能放心地下线老机器。希望帮到你。本文还有配套的精品资源点击获取
返回列表