Сбой резервного копирования DB2 в Avamar «Не удается создать Avdb2 для резервного копирования», и в журнале db2diag SQL2025N ошибка
概要: Резервное копирование DB2 Avamar завершается сбоем или завершается с исключениями. Вскоре после начала резервного копирования в db2diag.log отображается ошибка производителя и ошибка ввода-вывода SQL2025N. При включенной отладке avdb2 отображается ошибка блокировки файла процесса. ...
現象
Резервное копирование DB2 Avamar завершается сбоем или завершается с исключениями. В строке db2diag.log показывает ошибку производителя и SQL2025N I/O Ошибка вскоре после начала резервного копирования.
В строке avdb2 log Отображается следующее:
2023-01-13 02:30:10 avdb2 Info <6688>: Process 965860 (/usr/local/avamar/bin/avdb2) finished (code 170: completed with errors, client log should be examined)
2023-01-13 02:30:10 avdb2 Warning <6690>: CTL workorder "DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#1" non-zero exit status 'code 170: completed with errors, client log should be examined'
2023-01-13 02:30:10 avdb2 Error <16720>: Unable to spawn Avdb2 for backup/restore of [db2inst1/DBNAME db2inst1/DBNAME].
2023-01-13 02:30:10 avdb2 Info <6686>: Process 966206 (/usr/local/avamar/bin/avtar) for workorder DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#201 started
2023-01-13 02:30:10 avdb2 Info <10684>: Setting ctl message version to 3 (from 1)
2023-01-13 02:30:10 avdb2 Info <16136>: Setting ctl max message size to 268435456
2023-01-13 02:30:13 avdb2 Info <6688>: Process 966206 (/usr/local/avamar/bin/avtar) finished (code 0: success)
2023-01-13 02:30:13 avdb2 Error <16729>: Unable to get the list of backup images from the child process.
2023-01-13 02:30:13 avdb2 Info <9772>: Starting graceful (staged) termination, Unable to get the list of backup images from the child process. (wrap-up stage)
При включенной отладке также могут отображаться ошибки, аналогичные этой, касающиеся блокировки файла процесса:
2023/01/12-18:20:04.79408 [ctl_conn_recv-DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#1] ctl_connection::lowdata:
recv:<status_wrapup_summary pid="Hidden DB2 backup" exitcode="22" numbytes="0" startUTC="2023-01-12 18:20:04" pidnum="1055" newbytes="0" backuptime="0" finishUTC="2023-01-12 18:20:04" errorcode="10003" key=
"1009-DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#1" cid="DBNAMExds01" mid="965949/965949/33" last_ctl_man_key="1009-DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#1" wid="DB2_DB_0220-DBNAMEXDS01_DB-1673547600007#1"
errormessage="code 153: lock error - process already running or error creating local lock file" errorrealm="">
Ошибки от db2diag.log Сразу после резервного копирования запускается:
2023-01-17-03.30.03.849521+480 I300934E909 LEVEL: Error
PID : 9696 TID : 140540540610304 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DBNAME
APPHDL : 0-55065 APPID: *LOCAL.db2inst1.230116193009
AUTHID : DB2INST1 HOSTNAME: db2hostname
EDUID : 32933 EDUNAME: db2med.30870.0 (DBNAME) 0
FUNCTION: DB2 UDB, database utilities, sqluMapVend2MediaRCWithLog, probe:699
DATA #1 : String, 144 bytes
Vendor error: rc = 25 returned from function sqluvput.
Return_code structure from vendor library /usr/local/avamar/lib/libdb2_avamarloader.so:
DATA #2 : Hexdump, 48 bytes
0x00007FD47978F350 : 1701 0000 4176 7461 7220 496E 7075 742F ....Avtar Input/
0x00007FD47978F360 : 4F75 7470 7574 2065 7272 6F72 2E00 0000 Output error....
0x00007FD47978F370 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
2023-01-17-03.30.04.850521+480 E301844E535 LEVEL: Error
PID : 9696 TID : 140540540610304 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DBNAME
APPHDL : 0-55065 APPID: *LOCAL.db2inst1.230116193009
AUTHID : DB2INST1 HOSTNAME: db2hostname
EDUID : 32933 EDUNAME: db2med.30870.0 (DBNAME) 0
FUNCTION: DB2 UDB, database utilities, sqluMCWriteToDevice, probe:1304
MESSAGE : Media controller -- problem writing to vendor device. rc = -2025
2023-01-17-03.30.04.850898+480 E302380E571 LEVEL: Error
PID : 9696 TID : 140540540610304 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DBNAME
APPHDL : 0-55065 APPID: *LOCAL.db2inst1.230116193009
AUTHID : DB2INST1 HOSTNAME: db2hostname
EDUID : 32933 EDUNAME: db2med.30870.0 (DBNAME) 0
FUNCTION: DB2 UDB, database utilities, sqluMCWriteToDevice, probe:1304
MESSAGE : SQL2025N An I/O error occurred. Error code: "". Media on which this
error occurred: "".原因
Эта ошибка возникает из-за неверного пользователя или разрешений для Avamar /usr/local/avamar/var/clientlogs каталог.
Пример неправильных разрешений, вызвавших проблему в данном случае:
drwxr-xr-x 2 root root 20480 Jan 17 08:00 clientlogs
解決方法
Для каталога требуется как минимум разрешение на чтение+выполнение для пользователя db2 и группы, используемых для задания резервного копирования.
Ниже приведен пример команды, которую можно использовать для устранения проблемы. Это значение необходимо настроить в соответствии с путем операционной системы Avamar и именем группы администраторов db2.
Команды должны выполняться от имени пользователя root.
chown root:db2iadm1 /usr/local/avamar/var/clientlogs
Пример команды для установки минимальных разрешений:
chmod 755 /usr/local/avamar/var/clientlogs