我被困在这个......我正在尝试使用appfabric为缓存集群配置第一个节点。我的架构将是:
- 4 个集群节点
- 所有机器都在一个域内
- 配置 XML 文件将位于 NAS 文件夹中
我已经创建了一个域用户并向 NAS 文件夹添加了读/写权限。在机器内部,我什至尝试将用户添加到管理员组,它是配置到缓存服务帐户的用户,但是当“配置 AppFabric”应用程序结束时出现错误,但奇怪的是应用程序开始写入 .xml 配置文件,但它只是在错误输出之前将其删除!
我得到的错误是:
System.Management.Automation.CmdletInvocationException: ErrorCode<ERRCMS0002>:SubStatus<ES0001>:Access denied while saving the changes to cluster configuration file. ---> Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode<ERRCMS0002>:SubStatus<ES0001>:Access denied while saving the changes to cluster configuration file. ---> System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
at System.Security.AccessControl.Win32.SetSecurityInfo(ResourceType type, String name, SafeHandle handle, SecurityInfos securityInformation, SecurityIdentifier owner, SecurityIdentifier group, GenericAcl sacl, GenericAcl dacl)
at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, SafeHandle handle, AccessControlSections includeSections, Object exceptionContext)
at System.Security.AccessControl.FileSystemSecurity.Persist(String fullPath)
at System.Configuration.Internal.WriteFileContext.Complete(String filename, Boolean success)
at System.Configuration.Internal.InternalConfigHost.StaticWriteCompleted(String streamName, Boolean success, Object writeContext, Boolean assertPermissions)
at System.Configuration.Internal.InternalConfigHost.System.Configuration.Internal.IInternalConfigHost.WriteCompleted(String streamName, Boolean success, Object writeContext)
at System.Configuration.MgmtConfigurationRecord.SaveAs(String filename, ConfigurationSaveMode saveMode, Boolean forceUpdateAll)
at Microsoft.ApplicationServer.Caching.GlobalConfigReaderWriter.Save()
--- End of inner exception stack trace ---
at Microsoft.ApplicationServer.Caching.GlobalConfigReaderWriter.Save()
at Microsoft.ApplicationServer.Caching.Configuration.Commands.NewCacheClusterCommand.BeginProcessing()
--- End of inner exception stack trace ---
at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
at System.Management.Automation.Runspaces.Pipeline.Invoke()
at System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
at System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
at System.Management.Automation.PowerShell.CoreInvoke[TOutput](IEnumerable input, PSDataCollection`1 output, PSInvocationSettings settings)
at System.Management.Automation.PowerShell.Invoke(IEnumerable input, PSInvocationSettings settings)
at System.Management.Automation.PowerShell.Invoke()
at Microsoft.ApplicationServer.Configuration.DistributedCacheProxy.NewCacheCluster(String provider, String connectionString, String size)
at Microsoft.ApplicationServer.Configuration.DistributedCacheNodePage.backgroundWorker_DoWork(Object sender, DoWorkEventArgs e)
有人能帮我吗?