Avamar:建立或編輯備份群組時,UI 和 Avamar 管理主控台回應不佳

摘要: 本文解決 Avamar 使用者介面 (AUI) 和 Avamar 管理主控台資料庫 (MCDB) 關於 retention_policies 表格中欄值的問題。

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

症狀

嘗試建立或編輯備份群組時沒有回應:

Nothing is referenced in the Management Console Service (MCS) logs, but in the rest api logs.

下圖為 Avamar REST API log:

/usr/local/avamar/var/mc/server_log/mc-rest-api.log

java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS
  at java.lang.Enum.valueOf(Unknown Source)
  at com.avamar.mc.api.replication.dto.DurationUnits.valueOf(DurationUnits.java:3)
  at com.avamar.mc.api.retention.service.RetentionServiceImpl.convertRetentionPolicyDescriptor(RetentionServiceImpl.java:194)
  at com.avamar.mc.api.retention.service.RetentionServiceImpl.getRetentions(RetentionServiceImpl.java:65)
  at com.avamar.mc.api.retention.web.RetentionController.getRetentions(RetentionController.java:48)
  at com.avamar.mc.api.retention.web.RetentionController$$FastClassBySpringCGLIB$$5ac7ec93.invoke(<generated>)
  at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
  at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
  at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69)
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
  at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
  at com.avamar.mc.api.retention.web.RetentionController$$EnhancerBySpringCGLIB$$ebae7189.getRetentions(<generated>)
  at sun.reflect.GeneratedMethodAccessor4160.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)

注意錯誤:

java.lang.IllegalArgumentException: No enum constant com.avamar.mc.api.replication.dto.DurationUnits.HOURS

原因

MCDB 在 retention_policies 表格

此列中的值 0 表示保留期以小時為單位。但是,保留期單位由四個值定義:天 [1]、周 [2]、月 [3] 和年 [4]。

Java 沒有為小時單位設置常量值,因此在運行時它不是有效的常量值 enum.valueOf() 方法。

你可以看到 DurationUnits.HOURS,其中它拋出一個錯誤,說不存在小時枚舉常量。

範例:具有錯誤項目的 MCDB:

admin@avamar:~/>: psql -p 5555 mcdb
psql (10.6)
Type "help" for help.

mcdb=# select id,name,duration,unit from retention_policies;
        id        |             name             | duration | unit
------------------+------------------------------+----------+------
 MONTHLY:PolicyID | Monthly Retention            |        1 |    3
 WEEKLY:PolicyID  | Weekly Retention             |        1 |    2
 Default:POLICYID | Default Retention            |       60 |    1
 EndUser:PolicyID | End User On Demand Retention |       60 |    1
 Minimal:PolicyID | Minimal Retention            |       60 |    1
 RP1652848159766  | Platinum                     |       60 |    0 <-- These 0s
 RP1652848162931  | Gold                         |       60 |    0 <-- These 0s
 RP1652848166086  | Silver                       |       60 |    0 <-- These 0s
 RP1652848169312  | Bronze                       |       60 |    0 <-- These 0s
(9 rows)

解析度

程序:

  1. 第 1 步: 備份 MCS。
mcserver.sh --flush
  1. 第 2 步: 停止 MCS:
mcserver.sh --stop --force
  1. 第 3 步: 手動叫出 MCDB:
dbmaint.sh  --db=on --dbname=mcdb
  1. 第 4 步: 將保留原則單位的值從 0 更新為 1:
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"
  1. 步驟 5:開始 MCS 復原
mcserver.sh --start
  1. 第 6 步: 確定您現在可以在 AUI 或 Avamar 系統管理員中新增或編輯備份原則,並啟動備份排程器。

其他資訊

觀看本影片:

您也可以在YouTube 上觀看此視頻(外部連結

受影響的產品

Avamar
文章屬性
文章編號: 000200096
文章類型: Solution
上次修改時間: 20 8月 2026
版本:  8
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。