Avamar 和云灾难恢复集成:由于 SNMPv2 社区字符串为空,无法将 Avamar 添加到云灾难恢复应用装置
Summary: 由于 Avamar 上连接的 Data Domain 上配置了空的 SNMPv2 社区字符串,因此无法将 Avamar 添加到 Cloud Disaster Recovery Appliance (CDRA)。
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
无法将 Avamar 添加为 Cloud Disaster Recovery Appliance (CDRA) 的备份服务器。
CDRA 日志文件中可能会出现以下错误:
在 Avamar Server 上,mcserver 日志记录了以下 SOAP API 调用:
在 Avamar Server 上,完整的例外堆栈记录在 axis2 日志中:
CDRA 日志文件中可能会出现以下错误:
cdra/logs/cdra/cdra.log ERROR [2023-05-22 19:07:53,734] [taskScheduler-18] [AvamarBackupService:reconnectAndGetHealthDetails:166]: Avamar is unhealthy; no connectivity. No response due to invalid hostname: avamar.example.com, or port number 9443, org.apache.axis2.AxisFault: Connection refused (Connection refused)
cdra/logs/cdra/cdra.log
DEBUG [2023-04-27 16:14:04,931] [taskScheduler-28] [AvamarSoapClientAPI:connect:88]: Trying to connect to avamar with host name: avamar.example.com
ERROR [2023-04-27 16:14:05,109] [taskScheduler-28] [AvamarSoapClientAPI:connect:99]: RemoteException caught in AvamarSoapClientAPI due to invalid host or port number Connection or outbound has closed
ERROR [2023-04-27 16:14:05,109] [taskScheduler-28] [BackupServersManager:addAdapter:194]: Could not initialize Avamar adapter.
com.emc.cloud_dr.cdr.commons.common_models.exceptions.NoConnectivityException: No response due to invalid host name: avamar.example.com, or port number 9443, org.apache.axis2.AxisFault: Connection or outbound has closed
at com.emc.cloud_dr.cdr.adapters.avamar_adapter_soap.AvamarSoapClientAPI.connect(AvamarSoapClientAPI.java:102)
at com.emc.cloud_dr.cdr.commons.backup_service.impl.avamar.AvamarBackupService.init(AvamarBackupService.java:46)
at com.emc.cloud_dr.cdr.commons.backup_servers_manager.impl.BackupServersManager.addAdapter(BackupServersManager.java:189)
at com.emc.cloud_dr.cdr.cdra.cdra_backup_servers_manager.CdraBackupServersManager.addAdapter(CdraBackupServersManager.java:96)
at com.emc.cloud_dr.cdr.commons.remote_server.model.AbstractRemoteServersManager.getAdapterInstance(AbstractRemoteServersManager.java:154)
at com.emc.cloud_dr.cdr.commons.monitor.impl.collectors.AbstractRemoteServerDataCollector.getAdapterDetails(AbstractRemoteServerDataCollector.java:52)
at com.emc.cloud_dr.cdr.commons.monitor.impl.collectors.AbstractRemoteServerDataCollector.lambda$collectData$2(AbstractRemoteServerDataCollector.java:
41)
ERROR [2023-04-27 16:14:05,109] [taskScheduler-28] [AbstractRemoteServersManager:getAdapterInstance:157]: could not initialize adapter 2b356007-de19-42c4-9346
-067ce80f68ab
在 Avamar Server 上,mcserver 日志记录了以下 SOAP API 调用:
/usr/local/avamar/var/mc/server_log/mcserver.log.0 05/25-08:30:43.00047 [MCWebServices-MCSDK-QueuedThreadPool-295#295] com.avamar.mc.axis2.logging.LogHandler.invoke WARNING: MCSDK[mcsdk20] Call[urn:getTaskInfo][urn:uuid:3362594b-c177-4fe9-89eb-a042c6f8e889] end with error. SOAP output: soapenv:Receiver java.lang.RuntimeException: Can not serialize OM Element Envelope
在 Avamar Server 上,完整的例外堆栈记录在 axis2 日志中:
/usr/local/avamar/var/mc/server_log/axis2.log 2023-05-25 09:21:56,914 [MCWebServices-MCSDK-QueuedThreadPool-293] ERROR org.apache.axis2.transport.http.AxisServlet - Can not serialize OM Element Envelope java.lang.RuntimeException: Can not serialize OM Element Envelope at org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:963) at org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler.invoke(SOAPMonitorHandler.java:101) at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) at org.apache.axis2.engine.Phase.invoke(Phase.java:313) at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:427) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:43) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:505) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:427) at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:321) at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:786) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:743) at java.lang.Thread.run(Unknown Source) Caused by: org.apache.axis2.databinding.ADBException: snmpCommunity cannot be null!! at com.avamar.mc.sdk20.DdrConfigInfo.serialize(DdrConfigInfo.java:675) at com.avamar.mc.sdk20.TaskInfo.serialize(TaskInfo.java:619) at com.avamar.mc.sdk20.TaskInfo.serialize(TaskInfo.java:476) at com.avamar.mc.sdk20.GetTaskInfoResponse.serialize(GetTaskInfoResponse.java:120) at com.avamar.mc.sdk20.GetTaskInfoResponse.serialize(GetTaskInfoResponse.java:81) at org.apache.axis2.databinding.ADBDataSource.serialize(ADBDataSource.java:90) at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(OMSourcedElementImpl.java:635) at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556) at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:846) at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:214) at org.apache.axiom.om.impl.llom.OMSerializableImpl.serialize(OMSerializableImpl.java:120) at org.apache.axiom.om.impl.llom.OMSerializableImpl.serialize(OMSerializableImpl.java:108) at org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:957) ... 49 more
Cause
错误的根本原因由以下例外定义:
在 Avamar 和 Data Domain 之间配置 SNMP 的过程中,必须在 Avamar 用户界面中提供社区字符串。
图 1:为 Avamar 提供的 SNMP 社区字符串
Caused by: org.apache.axis2.databinding.ADBException: snmpCommunity cannot be null!!当 Data Domain 与 Avamar 集成时,将配置 SNMP,以便 Avamar 可以查询 Data Domain 的信息,并且 Data Domain 将 Avamar 存储为陷阱主机。
在 Avamar 和 Data Domain 之间配置 SNMP 的过程中,必须在 Avamar 用户界面中提供社区字符串。
图 1:为 Avamar 提供的 SNMP 社区字符串
Resolution
转至 Avamar Administrator > 导航 > Server > Server Management > Edit Data Domain System > SNMP 。
配置 SNMP 团体字符串,如本文的“原因”部分所示的图像。
配置 SNMP 团体字符串,如本文的“原因”部分所示的图像。
Affected Products
Avamar, Cloud Disaster RecoveryArticle Properties
Article Number: 000214335
Article Type: Solution
Last Modified: 17 Aug 2023
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.