IDPA:「dpacli -servicemode」命令在 DP4400 裝置上失敗,並顯示錯誤「無法執行 DPA CLI 命令:null」
Summary: DPATOOLS 公用程式安裝在 DP4400 裝置的 ACM 上,此公用程式可用於在 IDPA 上執行韌體升級。此知識文章會引導您解決以下問題:當 DPA 處於未設定狀態,使得發出命令「dpacli -servicemode」時,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-16 或更低版本的已知問題,若已在 DPATOOLS 版本 2.0.0-17 中修正。安裝新的 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
主意:KB 文章