Avamar: Es posible que los respaldos dejen de responder o que los respaldos del sistema de archivos fallen con el mensaje "Fatal Server Error occurred "
Resumen: Los respaldos de Avamar fallan con avtar FATAL <5704>: Se produjo un error irrecuperable del servidor (MSG_ERR_AUTH_FAIL). Los vales de sesión se deben sincronizar correctamente entre la red de área de almacenamiento global (GSAN) y el servicio de consola de administración (MCS) para procesar un respaldo. ...
Síntomas
Los respaldos fallan con la generación de los siguientes registros.
El err.log de Avamar GSAN puede mostrar lo siguiente:
[srvm-518654#srv:481] WARN: <1479> sessionkeytable::setpublickey new serial=<x> less than current minserial=<y> ... [srvm-525136#srv:775] WARN: <1426> sessionkeytable::comparesignature incorrect signature
Los registros de Avtar pueden mostrar lo siguiente:
2019-12-31 07:35:23 avtar Error <8609>: Connection killed from GSAN. (Log #1) 2019-12-31 07:35:23 avtar FATAL <5704>: Fatal Server Error occurred (MSG_ERR_AUTH_FAIL), aborting execution (SECURETICKETLOGIN=452 serial=1 seq=0 flags=R:H:0 kind=0 rsp=MSG_ERR_AUTH_FAIL) (Log #1) 2019-12-31 07:35:23 avtar Error <5126>: Login error 5: Authorization failure (Session Ticket login) (Log #1) 2019-12-31 07:35:23 avtar FATAL <8941>: Fatal server connection problem, aborting initialization. Verify correct server address and login credentials. (Log #1) 2019-12-31 07:35:23 avtar Error <7001>: Exiting avtar with run-at-end script failure -1 (Log #1)
9-12-31 07:35:23 avtar Info <8474>: - Log file path: /usr/local/avamar/var/clientlogs/some-Unix.log 2019-12-31 07:35:23 avtar Info <6555>: Initializing connection 2019-12-31 07:35:23 avtar Info <5552>: Connecting to Avamar Server (avamar.com) 2019-12-31 07:35:23 avtar Info <5554>: Connecting to one node in each datacenter 2019-12-31 07:35:23 avtar Info <5993>: - Connect: Connected to 10.x.x.x:29000, Priv=0, SSL Cipher=AES256-SHA 2019-12-31 07:35:23 avtar Info <5993>: - Datacenter 0 has 1 nodes: Connected to 10.x.x.x:29000, Priv=0, SSL Cipher=AES256-SHA 2019-12-31 07:35:23 avtar Info <5581>: Logging in on connection 0 with Session Ticket 2019-12-31 07:35:23 avtar Info <18854>: Using Secure Session Ticket Format 2019-12-31 07:35:23 avtar Error <8609>: Connection killed from GSAN. 2019-12-31 07:35:23 avtar Info <9772>: Starting graceful (staged) termination, KILL event received (wrap-up stage) 2019-12-31 07:35:23 avtar FATAL <5704>: Fatal Server Error occurred (MSG_ERR_AUTH_FAIL), aborting execution (SECURETICKETLOGIN=452 serial=1 seq=0 flags=R:H:0 kind=0 rsp=MSG_ERR_AUTH_FAIL) 2019-12-31 07:35:23 avtar Error <5126>: Login error 5: Authorization failure (Session Ticket login) 2019-12-31 07:35:23 avtar FATAL <8941>: Fatal server connection problem, aborting initialization. Verify correct server address and login credentials. 2019-12-31 07:35:23 avtar Info <6149>: Error summary: 4 errors: 8941, 5704, 5126, 8609 2019-12-31 07:35:23 avtar Info <5917>: Back from run-at-end, exit code -1 2019-12-31 07:35:23 avtar Error <7001>: Exiting avtar with run-at-end script failure -1
Causa
Puede ver en los registros de GSAN que es posible que el vale de sesión asignado ya se haya utilizado para un respaldo anterior.
Esto podría ocurrir debido a una reversión de GSAN o MCS que pone el vale de sesión fuera de servicio.
En el registro de GSAN
WARN: <1418> sessionkeytable::setpublickey session ticket with serial=28451 was used already WARN: <1426> sessionkeytable::comparesignature incorrect signature
Cuando MCS tiene un vale de sesión más grande que GSAN, podríamos inferir que GSAN está atrasado y utiliza vales de sesión antiguos para dárselos a los clientes.
Utilice el siguiente comando grep para ayudar a diagnosticar.
grep -i "sessionkeytable\|minserial" /data01/cur/gsan.log.00?
Resolución
Debemos hacer que los tickets de sesión se sincronicen nuevamente.
Paso 1:
Obtenga el miniserial de GSAN actual.
avmaint cat /sysinfo/security/keytable
Ejemplo:
root@avamar:/home/admin/#: avmaint cat /sysinfo/security/keytable <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <keytable minimalserial="<minserial_less_than_mcs>">
Paso 2:
Obtenga la serie del vale de sesión actual de MCS.
cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
Ejemplo:
root@avamar:/home/admin/#: cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl <mcs_session_ticket_larger_than_gsan>
Paso 3:
Cree un archivo de clave pública con "mcecroot", y úsalo con avmaint.
cd /usr/local/avamar/lib keytool -list -rfc -keystore /usr/local/avamar/lib/avamar_keystore -storepass `avlockbox.sh -r keystore_passphrase` -alias mcecroot | openssl x509 -pubkey -noout > mcecroot.pub
Ejemplo:
El comando utiliza keytool para enumerar el mcecroot alias en el avamar_keystore, canalizando el resultado a openssl para tomar la clave pública del par de claves y escribiendo la clave pública en un archivo llamado mcecroot.pub.
root@avamar:/usr/local/avamar/lib/#: keytool -list -rfc -keystore /usr/local/avamar/lib/avamar_keystore -storepass `avlockbox.sh -r keystore_passphrase` -alias mcecroot | openssl x509 -pubkey -noout > mcecroot.pub root@avamar:/usr/local/avamar/lib/#: cat mcecroot.pub -----BEGIN PUBLIC KEY----- MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEicGAqiHQQ8DRi0ZkgsvEA8fCEeqW/DIr k53CFakwbOtTejb2Okk+2VTkY5H4gfLEKd4Gtq5gPP2OcpaUf/SrIc4MO3bn8OhC l/vQKfAeJvrPPEvcIG0GiLyLtwJykeUq -----END PUBLIC KEY-----
Paso 4:
Escriba el nuevo miniserial de GSAN mediante mcecroot public key, sugiera usar un número mayor que el valor actual en MCS.
avmaint publickey --keyfile=./mcecroot.pub --serial=<your number> --ava
Ejemplo:
Debemos elegir un número de serie lo suficientemente alto como para evitar el siguiente error.
root@avamar:/usr/local/avamar/lib/#: avmaint publickey --keyfile=./mcecroot.pub --serial=28500 --ava ERROR: avmaint: publickey: server_exception(MSG_ERR_INVALID_PARAMETERS) root@avamar:/usr/local/avamar/lib/#: avmaint publickey --keyfile=./mcecroot.pub --serial=38000 --ava
Si recibe el error de parámetros no válidos, siga eligiendo un número mayor hasta que no se produzca ningún error.
Paso 5:
Verifique el cambio.
avmaint cat /sysinfo/security/keytable
Ejemplo:
root@avamar:/usr/local/avamar/lib/#: avmaint cat /sysinfo/security/keytable <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <keytable minimalserial="38000"> <-- new gsan minserial [..]
Paso 6:
Escriba esa miniserial en el vale de sesión de MCS.
echo -n "<number you were able to use for mcec key>" > /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
Ejemplo:
root@avamar:/usr/local/avamar/lib/#: echo -n "38000" > /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl root@avamar:/usr/local/avamar/lib/#: cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl 38000
Paso 7:
Reinicie MCS.
mcserver.sh --restart
Paso 8:
Respaldos de prueba.