问题背景
公司使用 Windows Server 2019 搭建 AD 域环境,主域控 DC01 + 辅助域控 DC02。全公司约 300 台电脑加入域管理。9 月中旬 IT 部门按计划部署了 30 台新笔记本电脑,完成系统安装后逐一加入域。
故障现象
9 月 15 日早上,所有新部署的 30 台电脑出现相同问题:域用户登录时提示:
|
|
已有的旧电脑不受影响,但旧电脑上修改密码后新密码不生效(只能用旧密码登录)。新员工入职当天无法开工,IT 服务台被打爆。
排查过程
第一步:检查域加入状态
|
|
安全通道断裂。尝试修复:
|
|
连不上域控。但 ping dc01.company.com 正常,
第二步:检查域控 Netlogon 服务
|
|
Netlogon 服务显示 Running,共享也在。但:
|
|
状态一切正常。但为什么客户端连不上?
第三步:检查 Sysvol 复制
|
|
dcdiag 说 Netlogon 共享不可用!但 net share 又显示它在共享列表中……
第四步:定位真因——磁盘空间
|
|
DC01 的 C 盘 100% 满。检查空间占用:
|
|
Sysvol 的 staging areas 文件夹堆积了超过 12 万个文件,占用了 58GB 空间。这是因为之前一次域策略更新时 DFSR(分布式文件复制)复制失败,大量的暂存文件被无限保留。
虽然 Netlogon 服务在运行、共享在列表中,但 由于 C 盘空间为 0,SMB 服务在尝试读取 Netlogon 共享内容时返回了 “磁盘空间不足” 错误,客户端端无法读取登录脚本和策略文件。
第五步:为什么旧电脑似乎不受影响?
旧电脑已经缓存了之前的域策略和计算机账户凭据(凭证缓存默认 10 次登录),因此在短期内仍然可以使用缓存凭据登录。但新加入域的电脑没有缓存,首次登录必须通过 Netlogon 同步策略和凭据——于是全部失败。
解决方案
- 清理 Staging Areas:
|
|
释放出 58GB 空间后,Netlogon 共享立即恢复正常。
-
新电脑重新登录:所有新电脑无需重新加入域,直接在登录界面输入域账号密码即可成功登录。
-
扩展 C 盘空间:将 C 盘从 60GB 扩展到 120GB。
根因分析
直接原因:DFS 复制失败导致 Sysvol staging areas 无限堆积文件,占满 C 盘。虽然 Netlogon 共享在列表中显示正常,但 SMB 实际无法读取文件内容,导致新电脑加入域时无法下载策略和建立安全通道。
深层原因:
- 域控 C 盘初始分配仅 60GB,未考虑 Sysvol 增长空间
- DFSR 复制失败后缺少清理 staging 的机制
- 域控磁盘监控只关注了系统日志和事件日志,忽略了 Sysvol 目录
预防措施
- DFSR 健康监控:通过
dcdiag /test:DFSREvent监控 DFS 复制状态 - Staging Area 自动清理:配置 DFSR 的 Staging Area 配额(默认 4GB),超出自动清理最旧文件
- 域控磁盘独立监控:对
C:\Windows\SYSVOL目录的大小单独监控 - 域控 C 盘最小规格:新部署域控 C 盘至少 120GB,Sysvol 放独立分区
- 定期 dcdiag 巡检:每月执行一次
dcdiag /v全面体检
总结
域控的 Netlogon 共享是整个 AD 域的命脉——没有它,新电脑加不了域、密码改不了、策略推送不了。而这一次,只是因为 C 盘满了。net share 显示共享存在不代表它能正常提供服务,就像一辆车有引擎不代表它能跑。域控的磁盘监控不能只看传统的"剩余空间",还需要关注 Sysvol 和 DFSR Staging Areas 的健康状态——它们才是真正的隐藏炸弹。