Avamar. Пользовательский интерфейс Avamar (AUI) и консоль администрирования Avamar — некорректный ответ при создании или изменении группы резервного копирования

Riepilogo: В этой статье рассматривается проблема с базой данных Avamar Management Console (MCDB), связанная со значением столбца в таблице retention_policies.

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Sintomi

Попытка создать или изменить группу резервного копирования не приводит к ответу.
В журналах службы консоли управления (MCS), кроме журналов REST API, ничего не указывается.

Ниже приведен журнал API-интерфейса REST Avamar.
/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

Causa

MCDB записала значение 0 в столбце единиц измерения таблицы 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)

Risoluzione

Шаг 1:
Создайте резервную копию MCS.
mcserver.sh --flush


Шаг 2:
Остановите MCS.
mcserver.sh --stop --force


Шаг 3:
Вызовите MCDB вручную.
dbmaint.sh  --db=on --dbname=mcdb


Шаг 4:
Измените значение единицы измерения политик хранения с 0 на 1.
psql -d mcdb -p 5555 -c "update retention_policies set unit=1 where unit=0"


Шаг 5:
Запустите MCS.
mcserver.sh --start


Шаг 6:
Убедитесь, что теперь вы можете добавить или изменить политику резервного копирования в AUI или Avamar Administrator и запустить планировщик резервного копирования.

Informazioni aggiuntive

Смотрите это видео:

Вы также можете посмотреть это видео на YouTube.

Prodotti interessati

Avamar
Proprietà dell'articolo
Numero articolo: 000200096
Tipo di articolo: Solution
Ultima modifica: 09 lug 2026
Versione:  7
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.