Azure的Worker角色上osFamily =&QUOT运行; 2英寸(服务器2008R2),但上失败osFamily = QUOT; 3英寸(Server 2012中) [英] Azure Worker Role runs on osFamily="2" (Server 2008R2) but Fails on osFamily="3" (Server 2012)
问题描述
我们拥有的Azure工作者角色 - .NET 4.0 - 部署到Azure的osFamily =2(服务器2008R2)上时,运行正常。然而,当我们部署osFamily =3(服务器2012)和没有其他code变化,辅助角色不断与服务器的事件日志以下2个错误回收:
We have an Azure worker role - .NET 4.0 - that runs fine when deployed to Azure on osFamily="2" (Server 2008R2). However, when we deploy with osFamily="3" (Server 2012) and no other code changes, the worker role continually recycles with the following 2 errors in the server event logs:
错误应用程序名称:WaWorkerHost.exe,版本:6.0.6002.18488,时间戳:0x505cf7ca
错误模块名称:KERNELBASE.dll,版本:6.2.9200.16384,时间戳:0x5010ab2d
异常code:0xe0434352
故障偏移:0x00000000000189cc
出错进程ID:0xefc
错误的应用程序启动时间:0x01cdd4318f76d221
错误的应用程序路径:E:\\基地\\ 64 \\ WaWorkerHost.exe
错误模块路径:D:\\ WINDOWS \\ SYSTEM32 \\ KERNELBASE.dll
报告编号:cf1810b0-4024-11e2-93ec-00155d4250e3
断裂封装的全名:
断层包相关的应用ID:
Faulting application name: WaWorkerHost.exe, version: 6.0.6002.18488, time stamp: 0x505cf7ca Faulting module name: KERNELBASE.dll, version: 6.2.9200.16384, time stamp: 0x5010ab2d Exception code: 0xe0434352 Fault offset: 0x00000000000189cc Faulting process id: 0xefc Faulting application start time: 0x01cdd4318f76d221 Faulting application path: E:\base\x64\WaWorkerHost.exe Faulting module path: D:\Windows\system32\KERNELBASE.dll Report Id: cf1810b0-4024-11e2-93ec-00155d4250e3 Faulting package full name: Faulting package-relative application ID:
应用:WaWorkerHost.exe
Framework版本:v4.0.30319
说明:该过程由于未处理的异常终止。
异常信息信息:System.InvalidOperationException
堆栈:
在Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.b__0()
在System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object的,布尔)
在System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object的,布尔)
在System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object的)
在System.Threading.ThreadHelper.ThreadStart()
Application: WaWorkerHost.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.InvalidOperationException Stack: at Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.b__0() at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Threading.ThreadHelper.ThreadStart()
任何想法?
更新------------------发现了第3异常:
UPDATE ------------------ Found a 3rd exception:
应用:WaWorkerHost.exe Framework版本:v4.0.30319
说明:该过程由于未处理的异常终止。
异常信息:System.Security.Cryptography.CryptographicException
堆栈:在
Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.b__0()
在
System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext,
System.Threading.ContextCallback,System.Object的,布尔)在
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,
System.Threading.ContextCallback,System.Object的,布尔)在
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,
System.Threading.ContextCallback,System.Object的)在
System.Threading.ThreadHelper.ThreadStart()
Application: WaWorkerHost.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.Security.Cryptography.CryptographicException Stack: at Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.b__0() at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Threading.ThreadHelper.ThreadStart()
我们正在使用的证书中LocalComputer /我来解密连接字符串。该证书被成功部署到OsFamily =2(服务器2008R2),并具有辅助角色用户添加私钥(在RDP会话验证)。然而,对于OsFamily =3(服务器2012) - 证书没有得到部署,因此加密错误。与Azure支持跟进...啊。
We are using a certificate in LocalComputer/My to decrypt connection strings. The certificate gets deployed successfully to OsFamily="2" (Server 2008R2) and has the Worker role user added to the Private Key (verified in RDP session). However, for OsFamily="3" (Server 2012) - the certificate doesn't get deployed, hence the crypto error. Following up with Azure support...UGH.
推荐答案
从Azure支持工程师:
From Azure Support Engineers:
更深的挖掘后,我发现区别:在OS家庭2,
WaWorkerHost是由一个临时帐户下运行(与GUID名称)
按角色的初始化过程中产生的,该帐户有权
访问证书私钥;在OS家庭3,WaWorkerHost是
通过网络服务帐户下运行,该帐户没有
私钥访问权限。
After digging deeper, I found the difference: In OS Family 2, WaWorkerHost is running by a temporary account (with a GUID name) generated by Role initialization process, this account has permission to access certificate private key; In OS Family 3, WaWorkerHost is running by "NETWORK SERVICE" account, this account doesn’t have private key access permission.
我接触的生产集团,我们将调查此问题
更深。我会及时向大家发布。
I’m contacting production group, we will investigate this issue deeper. I will keep you posted.
这篇关于Azure的Worker角色上osFamily =&QUOT运行; 2英寸(服务器2008R2),但上失败osFamily = QUOT; 3英寸(Server 2012中)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!