缺少消息队列服务会导致 SnapCenter 作业出现问题
适用场景
- SnapCenter 服务器
- 适用于 Microsoft Windows 的 SnapCenter 插件
问题描述
症状 1 :
由于 " 此计算机上未安装消息队列 " , SnapCenter 作业失败。中可能会显示以下错误 SMCoreService.log/SMCore_<JobID>.log
<TIMESTAMP> ERROR SMCore PID=[<PID>] TID=[<TID>] System.InvalidOperationException: Message Queuing has not been installed on this computer.
at System.Messaging.Interop.SafeNativeMethods.MQPathNameToFormatName(String pathName, StringBuilder formatName, Int32& count)
at System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath(String queuePath, Boolean throwException)
at System.Messaging.MessageQueue.Exists(String path)
at JobManager.SmQueue..ctor(String queueName)
at JobManager.SmJobManager..ctor(String qPath, ISmJobManagerConsumer consumerImpl)
at SnapMgrCoreService.HostManagementService.<.cctor>b__4e()
at System.Lazy`1.CreateValue()
症状 2 :
SnapCenter 作业持续运行,中可能会出现以下错误 SMCoreService.log/SMCore_<JobID>.log
<TIMESTAMP> ERROR SMCore_49 PID=[<PID>] TID=[<TID>] An error occurred while adding job to jobQ: Message Queuing has not been installed on this computer.Source: System.Messaging
Stack Trace: at System.Messaging.Interop.SafeNativeMethods.MQPathNameToFormatName(String pathName, StringBuilder formatName, Int32& count)
at System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath(String queuePath, Boolean throwException)
at System.Messaging.MessageQueue.Exists(String path)
at JobManager.SmQueue..ctor(String queueName)
at JobManager.SmJobManager..ctor(String qPath, ISmJobManagerConsumer consumerImpl)
at SnapMgrCoreService.HostManagementService.<.cctor>b__39()
at System.Lazy`1.CreateValue()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Lazy`1.get_Value()
at SnapMgrCoreService.ProtectionService.AddJob(SmRequest request)
症状 3.
<TIMESTAMP> ERROR SMCore_28 PID=[328] TID=[16] An error occurred while adding job to jobQ: Source: System.Messaging Stack Trace: at System.Messaging.MessageQueue.Create(String path, Boolean transactional) at JobManager.SmQueue..ctor(String queueName) at JobManager.SmJobManager..ctor(String qPath, ISmJobManagerConsumer consumerImpl) at System.Messaging.MessageQueue.Create(String path, Boolean transactional) at System.Lazy`1.CreateValue() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Lazy`1.get_Value() at SnapMgrCoreService.ProtectionService.AddJob(SmRequest request)