Avamar. Пользовательский интерфейс Avamar (AUI) и консоль администрирования Avamar — некорректный ответ при создании или изменении группы резервного копирования
Summary: В этой статье рассматривается проблема с базой данных Avamar Management Console (MCDB), связанная со значением столбца в таблице retention_policies.
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
Попытка создать или изменить группу резервного копирования не приводит к ответу.
В журналах службы консоли управления (MCS), кроме журналов REST API, ничего не указывается.
Ниже приведен журнал API-интерфейса REST Avamar.
Внимание к ошибке:
В журналах службы консоли управления (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
Cause
MCDB записала значение 0 в столбце единиц измерения таблицы retention_policies.
Значение 0 в этом столбце означает, что срок хранения измеряется в часах. Однако единица измерения срока хранения определяется четырьмя значениями: дни [1], недели [2], месяцы [3] и годы [4].
В Java нет постоянного значения, установленного для единицы часов, поэтому оно не является допустимым постоянным значением при запуске метода
enum.valueOf().Вы можете увидеть DurationUnits.HOURS, где он выдает ошибку о том, что не существует константы перечисления часов.
Пример:
MCDB с ошибочными записями
Значение 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)
Resolution
Шаг 1:
Создайте резервную копию MCS.
Шаг 2:
Остановите MCS.
Шаг 3:
Вызовите MCDB вручную.
Шаг 4:
Измените значение единицы измерения политик хранения с 0 на 1.
Шаг 5:
Запустите MCS.
Шаг 6:
Убедитесь, что теперь вы можете добавить или изменить политику резервного копирования в AUI или Avamar Administrator и запустить планировщик резервного копирования.
Создайте резервную копию 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 и запустить планировщик резервного копирования.
Additional Information
Affected Products
AvamarArticle Properties
Article Number: 000200096
Article Type: Solution
Last Modified: 03 Feb 2025
Version: 6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.