Резервне копіювання Avamar DB2 не дає результату «Неможливо викликати Avdb2 для резервного копіювання», і помилка SQL2025N в журналі db2diag
概要: Резервне копіювання Avamar DB2 не вдається або завершується з винятками. db2diag.log показує помилку постачальника та помилку SQL2025N введення/виведення незабаром після початку резервного копіювання. З увімкненим avdb2 debug з'являється помилка блокування файлу процесу. ...
現象
Резервне копіювання Avamar DB2 не вдається або завершується з винятками. Повідомлення 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