FusionAccessR3虚拟机VDA服务向DDC注册失败

发布时间:  2014-10-27 浏览次数:  256 下载次数:  0
问题描述
用户通过WI登录虚拟机报错,在FusionAccess portal上检查虚拟机状态为“未注册”。
告警信息
通过远程桌面登录虚拟机,查看“windows日志-〉应用程序日志”,有以下报错:
日志名称:          Application
来源:            Citrix Desktop Service
日期:            2014/8/29 10:55:28
事件 ID:         1002
任务类别:          无
级别:            警告
关键字:           经典
用户:            暂缺
计算机:           guotianlong001.dongsheng.com
描述:
The Citrix Desktop Service cannot connect to the delivery controller 'http://VDS_DB_1.dongsheng.com:80/Citrix/CdsController/IRegistrar' (IP Address '10.22.110.11')

Check that the system clock is in sync between this machine and the delivery controller. If this does not resolve the problem, please refer to Citrix Knowledge Base article CTX117248 for further information.

Error Details:
Exception '使用客户端身份验证方案“Anonymous”禁止 HTTP 请求。' of type 'System.ServiceModel.Security.MessageSecurityException'..
事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Citrix Desktop Service" />
    <EventID Qualifiers="32768">1002</EventID>
    <Level>3</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-08-29T02:55:28.000000000Z" />
    <EventRecordID>7831</EventRecordID>
    <Channel>Application</Channel>
    <Computer>guotianlong001.dongsheng.com</Computer>
    <Security />
  </System>
  <EventData>
    <Data>http://VDS_DB_1.dongsheng.com:80/Citrix/CdsController/IRegistrar</Data>
    <Data>10.22.110.11</Data>
    <Data>使用客户端身份验证方案“Anonymous”禁止 HTTP 请求。</Data>
    <Data>System.ServiceModel.Security.MessageSecurityException</Data>
  </EventData>
</Event>
处理过程
1. 通过远程桌面登录虚拟机,查看“windows日志-〉应用程序日志”,有以下报错:
日志名称:          Application
来源:            Citrix Desktop Service
日期:            2014/8/29 10:55:28
事件 ID:         1002
任务类别:          无
级别:            警告
关键字:           经典
用户:            暂缺
计算机:           guotianlong001.dongsheng.com
描述:
The Citrix Desktop Service cannot connect to the delivery controller 'http://VDS_DB_1.dongsheng.com:80/Citrix/CdsController/IRegistrar' (IP Address '10.22.110.11')

Check that the system clock is in sync between this machine and the delivery controller. If this does not resolve the problem, please refer to Citrix Knowledge Base article CTX117248 for further information.

Error Details:
Exception '使用客户端身份验证方案“Anonymous”禁止 HTTP 请求。' of type 'System.ServiceModel.Security.MessageSecurityException'..
事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Citrix Desktop Service" />
    <EventID Qualifiers="32768">1002</EventID>
    <Level>3</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-08-29T02:55:28.000000000Z" />
    <EventRecordID>7831</EventRecordID>
    <Channel>Application</Channel>
    <Computer>guotianlong001.dongsheng.com</Computer>
    <Security />
  </System>
  <EventData>
    <Data>http://VDS_DB_1.dongsheng.com:80/Citrix/CdsController/IRegistrar</Data>
    <Data>10.22.110.11</Data>
    <Data>使用客户端身份验证方案“Anonymous”禁止 HTTP 请求。</Data>
    <Data>System.ServiceModel.Security.MessageSecurityException</Data>
  </EventData>
</Event>
2. 查看虚拟机时间与DDC时间是一致的(可用w32tm /resync查看与AD是否正常同步),虚拟机也未脱域。
3. 从开始菜单找到Log Agent打开虚拟机VDA日志,打开成功会自动重启VDA服务。
4. 取vda.log进行分析,找到问题原因为“C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp”路径不存在
[   4] 29/08/14 11:17:21.4153 : Workstation Agent:VDARegistryBasedFarm: found endpoint pattern:
<?xml version='1.0' encoding='utf-16'?><RegistrarEndpointInfo xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><Address>http://{0}:8080/Citrix/CdsController/IRegistrar</Address><Binding>WsHttpBindingIRegistrarEndpoint</Binding><Contract>Citrix.Cds.Protocol.Controller.IRegistrar</Contract></RegistrarEndpointInfo>
[   4] 29/08/14 11:17:21.4231 : Workstation Agent:VDARegistryBasedFarm: Endpoint pattern is not valid. Defaults will be tried.
System.IO.DirectoryNotFoundException: 未能找到路径“C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\nbamglw7.tmp”的一部分。
   在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
   在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
   在 System.CodeDom.Compiler.TempFileCollection.EnsureTempNameCreated()
   在 System.CodeDom.Compiler.TempFileCollection.AddExtension(String fileExtension, Boolean keepFile)
   在 System.CodeDom.Compiler.TempFileCollection.AddExtension(String fileExtension)
   在 Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources)
   在 Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources)
   在 System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(CompilerParameters options, String[] sources)
   在 System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
   在 System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
   在 System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
   在 System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
   在 System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
   在 System.Xml.Serialization.XmlSerializer..ctor(Type type)
   在 Citrix.Cds.ADSupport.VdaRegistryBasedFarm.Initialize(ReadOnlyCollection`1 ddcs, Int32 port, ReadOnlyCollection`1 sids, String endpointPattern, Boolean supportMultipleForestEnvironment)
【解决方法】:
1. 手工创建目录“C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp”。
2. 从启VDA服务后,虚拟机注册正常。
建议与总结

END