在前面的文章中老王反复的和大家强调过CNO,VCO起到的作用
基本上,CNO和VCO,主要负责提供群集的Kerberos验证,作为管理访问点的一部分,提供用户访问
CNO VCO每次启动联机时需要联系到域控制器,CNO会与AD同步自己的计算机密码,也会帮助VCO同步密码,CNO负责维护与VCO的关联关系
可以说,如果我们的群集模型部署为传统AD架构,那么CNO和VCO将是非常重要的,一旦我们不小心删除了CNO或VCO对象,就会导致群集无法正常联机,应用无法和群集进行Kerberos验证。
在2008R2之后,AD域推出了回收站的功能,开启回收站功能后,允许AD对象在墓碑时间之内,可以被恢复回来,但恢复回来后的计算机对象,大多情况需要重新同步密码
本文老王将为大家介绍,一旦误删了CNO对象应该如何进行恢复
实验环境
DC&iscsi
lan:10.0.0.2 255.0.0.0
iscsi:30.0.0.2 255.0.0.0
HV03
MGMET:10.0.0.11 255.0.0.0 DNS 10.0.0.2
ISCSI:30.0.0.11 255.0.0.0
CLUS:18.0.0.11 255.0.0.0
HV04
MGMET:10.0.0.12 255.0.0.0 DNS 10.0.0.2
ISCSI:30.0.0.12 255.0.0.0
CLUS:18.0.0.12 255.0.0.0
当前域控制器为2008R2,已开启回收站功能,2012之后可通过GUI界面启动回收站功能
群集名称当前为BJcluster,上面跑了一个DTC,名称为hello
AD中CNO/VCO信息如下
在2008之后的AD中,默认情况下,当我们创建AD对象时,可以选择是否要使用防止意外删除功能
默认情况下,当我们创建OU时,该功能被默认启用,除非我们手动修改它,勾选了防止意外删除选项后,该OU将不能被随便删除,除非取消放置意外删除选项
但是对于用户对象和计算机对象,默认情况下并未启动该功能,即是说,只要对于AD有权限的管理员,就可以删除我们的计算机对象
要规避误删计算机对象,有两种方案可以选择
- 针对于CNO,VCO计算机对象,勾选防止被意外删除
2. 统一设定群集计算机OU层面,拒绝Everyone删除计算机对象
两者区别在于,一个是OU级,一个是对象级别,一旦设置了该功能之后,那么普通管理员将不能随便删除计算机对象
这是预防措施,那么我们就来看下,如果没有做这些预防措施,就是某个管理员不小心删除了CNO的情况,应该如何处理
删除CNO对象
这时如果群集当前名称在线,则并不会立即提示报错,但是当下一次群集故障转移或冷启动时,就会出现报错,打开事件查看器,可以看到1685错误
查看Cluster Log可以看到,群集名称,CNO当前无法进行验证
使用ADRecycleBin工具恢复误删除对象(2012开始可通过自带AD管理中心恢复)
恢复完成后可以在AD中看到被恢复的CNO对象
恢复完成计算机对象后,通常我们需要重置计算机对象的密码,让CNO计算机对象可以重新正常工作
WSFC2008时代开始,群集帮我们内置了重置计算机密码的修复机制,我们可以在群集中,通过修复来对CNO,或VCO执行重置计算机密码操作
针对CNO执行修复,需要对于CNO具备管理权限的账户,因为我们需要连接到AD中,重置该计算机账户的密码
针对于VCO执行修复,需要对于VCO账户具备权限CNO账户来执行,因此需要确保CNO账户对VCO账户具备重置密码权限
打开故障转移群集管理工具->群集核心资源->群集名称->更多操作->修复
点击修复之后,可以看到群集正在处理,处理完成后,群集计算机对象会变成正常联机状态
查看日志中可以看到,修复过程群集使用我们的账户,连接到AD,重新帮我们设置CNO的密码及身份
现在群集CNO已经被恢复,可以正常工作,正常接受Kerberos验证
对于VCO的误删恢复操作,其实和CNO差不多,假设我们不小心误删除了VCO对象,如果事先VCO名称是联机的,那么可能短时间内,不会在事件管理器中看到报错,但是如果对VCO对象进行Kerberos验证,则会立刻发现无法验证,所以VCO对象的误删除,通常会是应用开发人员报告身份验证无法进行才会被发现,或者管理员查看Cluster Log也能够看到VCO计算机对象无法找到,无法执行身份验证的报错
针对于VCO对象的恢复过程,误删之后,首先使用恢复工具,恢复VCO计算机对象
恢复完成后,在故障转移群集管理工具中,首先对于VCO名称脱机
右键点击服务器名称->更多操作->修复
注意,这里的修复,实际上是拿着CNO计算机账号,去帮助我们重置同步VCO的计算机密码,因此需要确保CNO对象对于VCO计算机对象具备重置密码权限,默认创建VCO之后是有的
修复完成后,群集角色正常联机
查看Cluster Log可以看到 hello VCO对象已经被CNO重置计算机密码,现在可以正常进行Kerberos身份验证了
如上,为误删除CNO,VCO对象后的修复方式,希望大家看到后可以有所收获,虽然WSFC 2008之后有了很好的修复机制,但还是建议大家做好防止误删的操作,可以做在计算机级别或OU级别。