欢迎光临,这里是 gOxiA=苏繁=SuFan 独立的个人博客。
本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!

logo_winserver2012

HOWTO: 解决 Windows Server 2012 Hyper-V 实时迁移时遇到的 0x80090303 故障

        当我们在测试 Windows Server 2012 Hyper-V 实时迁移(如:无需共享存储的实时迁移)过程中可能会遇到 0x80090303 故障,错误如下图所示:

0x80090303

        具体内容大致为“迁移源上的虚拟机迁移操作失败。无法验证源主机上的连接:指定的目标未知或无法达到(0x80090303)。”由于 0x80090303 故障与之前日志中提到的 0x8009030E 故障极为相似,如果不加注意我们便会按照实时迁移时 kerberos 权限委派的步骤进行排错解决,去为主机委派设置添加“Microsoft Virtual System Migration Service”服务类型。gOxiA 当初就走入了这个误区,当使用 ADUC 为 Hyper-V 主机去做委派时发现在主机委派服务类型中并未找到“Microsoft Virtual System Migration Service”。

        检查 Hyper-V 主机事件日志发现在“应用程序和服务日志”-“Microsoft”-“Windows”-“Hyper-V-VMMS”-“Admin”下记录有错误的事件ID:14050,来源为:Hyper-V-VMMS。具体内容是“无法注册服务主体名称“Microsoft Virtual System Migration Service”。”

image

        此外,还包含其他几个相关的 SPN(服务主体名称)错误日志:“Hyper-V Replica Service”、“Microsoft Virtual Console Service”。之后使用 setspn –l hostname 进行检查,发现当前主机确实缺少这些 SPN,而“Microsoft Virtual System Migration Service”是我们迁移虚机所必须的。

        那么什么是 SPN 呢?!引用一篇微软官方 Blog 的解释:SPN 即“服务主体名称”,是一种名称,唯一标识一个服务实例。用来验证 Kerberos 身份验证的 SPN 的必须正确设置。SPN 是 Active Birectory 属性,但不暴露在 AD 的管理单元。那么 SPN 的作用是什么呢?!gOxiA 推荐这篇微软 Blog http://blogs.technet.com/b/crmchina/archive/2010/01/29/crm-spn.aspx 供大家参考,虽然与 Hyper-V 没有直接关系,但他们之间的概念是相通的,便于我们更好的理解该故障发生的原因。

        要解决该实时迁移过程中遇到的 0x80090303 故障,我们只需要手工在 Hyper-V 主机上对“Microsoft Virtual System Migration Service”进行 SPN 注册即可。为此,我们需要用到 setspn –s spnname/hostname(and FQDN) NetBIOSName 命令行,参考命令行如下:

setspn –s “microsoft virtual system migration service/hv3”hv3

setspn –s “microsoft virtual system migration service/hv3.contoso.com”hv3

        完成“Microsoft Virtual System Migration Service”的 SPN 注册后,我们便可以正常执行实时迁移,0x80090303 故障消失!按理说 SPN 的注册应该是自动的,但是为什么在 gOxiA 的实验环境下出现失败注册,可能跟 DC 是 SBS2011 有关,因为网上能找到类似的故障都是使用的 SBS2011 作为域控。当然也不排除其他可能存在的因素,在微软的 KB2761899 中就提及到了这个事件 ID,如果你也遇到这个问题,并排除 SBS2011 的原因,那么可以参考:http://support.microsoft.com/kb/2761899?wa=wsignin1.0 解决!

        关于 SPN 自动注册失败的原因及解决办法,gOxiA 会继续关注,一有答案便会跟大家分享!目前的办法只有使用 setspn 命令手工注册来解决!

WS08-R2_v_rgb  HOWTO:解决 WinRM 服务无法创建以下SPN… 的 WinRM ID10154 警告

        当在 Windows Server 2008 R2 上安装 Active Directory 服务后,重新启动服务器会收到类似“WinRM 服务无法创建以下 SPN: /WSMAN/DC.contoso.com; WSMAN/DC。”的警告!来自于系统日志,事件来源:Windows Remote Management,事件ID:10154。具体的错误信息如下图所示。

WinRM_SPN_Error

        根据事件属性中的提示使用 setspn.exe 创建了相关的 SPN 未果,又在网上使用中文关键词进行了查询仍没有任何收获,而使用英文时能找到几篇相关的帖子,根据提示进行了排错也都未能解决问题(让使用 Adsiedit 修改 CN=AdminSDHolder 的安全属性)。最后没辙,通过微软中文技术论坛向 Partner Support 寻求帮助,得到的解答与网上搜索到使用 Adsiedit 修改相关安全属性的方法一致,但是唯一不同的是要修改 CN=ServerName 的安全属性,赋予 Network Service 账号对该对象有”已验证的到服务主体名称的写入(Validated Write to service principal name)”的权限。由于解答中权限部分使用的是英文,害得 gOxiA 理解了半天,不过还好最终算是解决了!赋予了账号权限后,重新启动 WinRM 服务,会发现“WinRM ID10154”警告消失(出现的“WinRM ID10149”警告可以忽略)。

image
        最后补充一下出现该警告的原因是:Network Service 在这个 Object 上没有相关的 ACE,所以 WinRM 没能建立日志中提到的 SPNs。

分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]