Échec de la sauvegarde Avamar DB2 « Impossible de générer Avdb2 pour la sauvegarde » et une erreur SQL2025N dans le log db2diag
Résumé: La sauvegarde Avamar DB2 échoue ou se termine avec des exceptions. Le db2diag.log affiche une erreur de fournisseur et une erreur d’E/S SQL2025N peu après le démarrage de la sauvegarde. Lorsque le débogage avdb2 est activé, une erreur de verrouillage de fichier de processus s’affiche. ...
Symptômes
La sauvegarde Avamar DB2 échoue ou se termine avec des exceptions. Les touches db2diag.log Affiche une erreur du fournisseur et un SQL2025N I/O Une erreur s’est produite peu après le démarrage de la sauvegarde.
Les touches avdb2 log affiche les éléments suivants :
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)
Lorsque le débogage est activé, peut également voir des erreurs similaires à celle-ci concernant le verrouillage du fichier de processus :
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="">
Erreurs de db2diag.log Juste après le lancement de la sauvegarde :
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: "".Cause
Cette erreur se produit en raison d’un utilisateur ou d’autorisations incorrects pour Avamar /usr/local/avamar/var/clientlogs .
Exemple d’autorisations incorrectes à l’origine du problème dans ce cas :
drwxr-xr-x 2 root root 20480 Jan 17 08:00 clientlogs
Résolution
Le répertoire doit disposer au minimum d’une autorisation de lecture + exécution pour l’utilisateur et le groupe db2 utilisés pour la procédure de sauvegarde.
Vous trouverez ci-dessous un exemple de commande qui peut être utilisé pour résoudre le problème. Ce paramètre doit être ajusté pour correspondre au chemin d’accès Avamar du système d’exploitation et au nom du groupe d’administrateurs db2.
Les commandes doivent être exécutées en tant qu’utilisateur root.
chown root:db2iadm1 /usr/local/avamar/var/clientlogs
Exemple de commande pour définir les autorisations minimales :
chmod 755 /usr/local/avamar/var/clientlogs