IDPA:DP4400 一体机上的“dpacli -servicemode”命令失败,并显示错误“无法执行 DPA CLI 命令: null”
Summary: DPATOOLS 实用程序安装在 DP4400 一体机的 ACM 上,此实用程序可用于在 IDPA 上执行固件升级。本知识库文章将引导您解决以下问题:当您发出命令“dpacli -servicemode”时,由于 DPA 处于未配置状态,IDPA 无法进入服务模式,并且 DPACLI 仍向 DPA 发出测试连接查询,但该查询失败。这是 dpacli 2.0.0.16 版本的已知问题。 ...
Symptoms
发出“dpacli”命令以将设备置于服务模式时,命令失败并显示以下错误:
xxxxxxacm:/usr/local/dpatools/logs # dpacli -servicemode
Failed to execute DPA CLI command: null
usage: Data Protection Appliance Tools
-servicemode Shut down VMs (IDPA components) except ACM and ESXi. It's
a prerequisite for FRU/CRU operations and FW update in
service-mode
可以验证“dpacli.log”以查看此问题的错误:(位置:/usr/local/dpatools/logs/dpacli.log)
在dpacli.log中可以看到以下错误:
2019-11-04T19:53:18.958Z ERROR [] [DPACLI-System-akka.actor.default-dispatcher-4] [][][][][] com.emc.dpa.dputils.DPAUtils - Exception occured while test connection of DPA app server {} java.lang.NullPointerException: null at com.emc.dpa.dputils.persistence.ACMConfigUtils.getServiceIP(ACMConfigUtils.java:181) at com.emc.dpa.dputils.DPAUtils.testDPAAppServerOutOfSyncWhileShutDown(DPAUtils.java:77) at com.emc.dpa.dputils.DPApplianceUtils.testDPAOutOfSync(DPApplianceUtils.java:173) at com.emc.dpa.dputils.DPApplianceUtils.testOutOfSync(DPApplianceUtils.java:270) at com.emc.dpa.dputils.DPApplianceUtils.isOKShutdown(DPApplianceUtils.java:57) at com.emc.dpa.dputils.DPApplianceUtils.shutdownServices(DPApplianceUtils.java:87) at com.emc.dpa.ptresources.DPAResourceBuilder.shutdownServices(DPAResourceBuilder.java:977) at com.emc.dpa.ptresources.PTCLIService.shutdownServices(PTCLIService.java:98) at com.emc.dpa.common.akka.DPAHostAdapter.receiveDPAOpMessage(DPAHostAdapter.java:76) at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:26) at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:21) at scala.PartialFunction.applyOrElse(PartialFunction.scala:123) at scala.PartialFunction.applyOrElse$(PartialFunction.scala:122) at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21) at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171) at akka.actor.Actor.aroundReceive(Actor.scala:517) at akka.actor.Actor.aroundReceive$(Actor.scala:515) at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:180) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:588) at akka.actor.ActorCell.invoke(ActorCell.scala:557) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258) at akka.dispatch.Mailbox.run(Mailbox.scala:225) at akka.dispatch.Mailbox.exec(Mailbox.scala:235) at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 2019-11-04T19:53:18.958Z INFO [] [DPACLI-System-akka.actor.default-dispatcher-4] [][][][][] com.emc.dpa.dputils.DPAUtils - Checking connection with DPA datastore. 2019-11-04T19:55:20.380Z ERROR [] [main] [][][][][] com.emc.dpa.dpacli.DPACliUtils - Exception is thrown when parsing CLI command: {}
以上日志表明,与 DPA 应用程序服务器和 DPA 数据存储服务器的测试连接失败。验证是否在此 IDPA 上配置了 DPA。登录到 IDPA ACM UI,并验证是否在“Data Protection Advisor”控制面板上配置了 DPA。此外,还可以验证“selskuconfig.xml”文件,以检查此设备上是否配置了 DPA:位置:/usr/local/dataprotection/var/configmgr/server_data/skuconfig/selskuconfig.xml head -50 /usr/local/dataprotection/var/configmgr/server_data/skuconfig/selskuconfig.xml 验证 DPA 是否显示为未配置,如下所示:
<ConfiguredProducts> <DPS>true</DPS> <DPA>false</DPA> <Avamar>true</Avamar> <DD>true</DD> <DPC>true</DPC> <DDCDR>true</DDCDR> <IDPA_VAPP>true</IDPA_VAPP> </ConfiguredProducts>
根据上述输出,很明显,此设备上未配置 DPA,但 dpatools 仍会对 DPA 执行测试查询,这是 DPATOOLS 上的一个问题。此问题已在 dpatools 版本 2.0.0-17 上修复。
Cause
如果在 DPATOOLS 版本 2.0.0-17 中修复此问题,则这是 DPATOOLS 版本 2.0.0-16 或更低版本的已知问题。安装新的 DPATOOLS rpm 以解决此问题。
Resolution
-
使用“root 用户”身份登录到 ACM ssh 会话
-
使用以下命令验证 ACM 上的 dpatools 版本:
rpm -qa | grep -i dpatools
-
如果 dpatools 版本为 2.0.0-16 或更低版本,请联系 IDPA 支持以安装较新版本的 dpatools。
-
将 dpatools 更新到版本 2.0.0-17 或更高版本后,再次重试以下命令:
dpacli -servicemode
Additional Information
此外,验证“dpacli -servicemode”是否由于文件未正确填充而失败DataProtectionConfig.xml。
分辨率:知识库文章