大概两个月前在做P2V测试的时候,一直都不成功,困扰了我好久;包括在MSDN、Technet上等各大论坛都发出了提问,也请教了一直做虚拟化产品测试的工程师现场帮忙调试,都没有得到很好的解决。经过多次折腾,多次改变环境的测试和对比,只判断出问题出在域控制器上,但是具体出在哪方面,不得而知。就在前几天,在排查一个“警告事件 ID 1202 ”的时候,也让我意外的得到了收获,将这个问题很好的解决了。

问题就出在域控器的域策略上,“执行卷维护任务”指定的用户不匹配导致。

 一、生产环境及目的:
说明:除域控制器外其他机器均加入域:test.com,操作过程中都是Domain admin组的成员进行登录操作。
1、 主辅域控制器两台(Windows Server 2003 企业版)
2、 OCS2007前端服务器一台(Windows Server 2003 企业版+SQL2005+OCS2007企业版)
3、 SCVMM R2服务器一台(Windows 2008 Enterprise R2  +Hyper-v +SCVMM+SQL2008)
目的:利用微软虚拟化技术实现对OCS2007前端服务器进行P2V的平滑迁移。
 
二、出现问题
问题1、 在SCVMM 管理控制台上新建虚拟机,VHD文件可以被正常生成,但有12700警告:

 
Ø 警告详细信息:
Warning (12700)
VMM cannot complete the Hyper-V operation on the scvmmtest.test.com server because of the error: 'The system failed to mount ' E:\Hyper-V\SCVMMP2V\test\test_disk_1.vhd '. Error Code: A required privilege is not held by the client.
(A required privilege is not held by the client (0x80070522))
 
Recommended Action
Resolve the issue in Hyper-V and then try the operation again.
 
Ø 警告中文解释:
警告  (12700)
由于以下错误,VMM 无法在 scvmmtest.test.com服务器上完成 Hyper-V 操作: '系统安装      “E:\Hyper-V\SCVMMP2V\test\test_disk_1.vhd”失败。错误代码为 客户端没有所需的特权。 详细信息  (客户端没有所需的特权。 (0x80070522))
 
建议的操作
请在 Hyper-V 中解决此问题,然后重试该操作。
 
Ø 系统报错日志:
日志名称:          Microsoft-Windows-Hyper-V-Image-Management-Service-Admin
来源:            Microsoft-Windows-Hyper-V-Image-Management-Service
日期:            2010/3/22 14:14:00
事件 ID:         15068
任务类别:          无
级别:            错误
关键字:          
用户:            SYSTEM
计算机:           scvmmtest.test.com
描述:
'系统安装“E:\Hyper-V\SCVMM P2V\mrbjsocs\C_2010-03-22T042954.vhd”失败。错误代码为 2424869
事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Hyper-V-Image-Management-Service" Guid="{9193A773-E60D-4171-8468-05C000581B71}" />
    <EventID>15068</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000000</Keywords>
    <TimeCreated SystemTime="2010-03-22T06:14:00.755564600Z" />
    <EventRecordID>29</EventRecordID>
    <Correlation />
    <Execution ProcessID="1888" ThreadID="2100" />
    <Channel>Microsoft-Windows-Hyper-V-Image-Management-Service-Admin</Channel>
    <Computer>scvmmtest.test.com</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <UserData>
    <VmlEventLog xmlns:auto-ns2="
http://schemas.microsoft.com/win/2004/08/events" xmlns="http://www.microsoft.com/Windows/Virtualization/Events">
      <PathName>E:\Hyper-V\SCVMM P2V\mrbjsocs\C_2010-03-22T042954.vhd</PathName>
      <ErrorCode>2424869</ErrorCode>
    </VmlEventLog>
  </UserData>
</Event>
 
问题2、 在SCVMM 管理控制台上进行对OCS2007前端服务器P2V调试,当VHD创建完之后,每到进程的60%就出现错误:

 
出现该错误的信息和创建新的虚拟机给的信息是一样的,都是12700的错误,由此可判断,该错误是同一个问题导致的。就是在磁盘撒上创建VHD失败,提醒客户端没有所需特权。
 
三、问题解决
在SCVMM 服务器上运行:RSOP.MSC看到如下图:

 这个就是由于域策略正常被分发下来,由于找不到Dmain users(说到底还是我不够仔细、认真),策略无法被正常执行,那么同时涉及到对卷进行维护也无法进行。应此无论新建虚拟机还是P2V的都需要对该磁盘上的卷有权限创建才可以的。在域控制器上赋予该权限或者取消该策略即可
 
再次对OCS 2007 前端服务器进行P2V,结果一切正常。