Avamar : Les sauvegardes peuvent cesser de répondre ou les sauvegardes du système de fichiers échouent avec le message « Une erreur fatale de serveur s’est produite »
Resumen: Avamar backups fail with avtar FATAL <5704>: Une erreur fatale de serveur s’est produite (MSG_ERR_AUTH_FAIL). Les tickets de session doivent être correctement synchronisés entre le réseau GSAN (Global Storage Area Network) et le service MCS (Management Console Service) afin de traiter une sauvegarde. ...
Síntomas
Les sauvegardes échouent avec les journaux ci-dessous en cours de génération.
Le err.log Avamar GSAN peut afficher :
[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
Les journaux Avtar peuvent afficher les éléments suivants :
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
Vous pouvez voir dans les journaux GSAN que le ticket de session attribué a peut-être déjà été utilisé pour une sauvegarde précédente.
Cela peut se produire à la suite d’un retour arrière GSAN ou MCS mettant le ticket de session hors service.
À partir du journal GSAN
WARN: <1418> sessionkeytable::setpublickey session ticket with serial=28451 was used already WARN: <1426> sessionkeytable::comparesignature incorrect signature
Lorsque MCS dispose d’un ticket de session plus important que GSAN, nous pouvons en déduire que GSAN est en retard et qu’il utilise d’anciens tickets de session pour les donner aux clients.
Utilisez la commande grep suivante pour vous aider à diagnostiquer.
grep -i "sessionkeytable\|minserial" /data01/cur/gsan.log.00?
Resolución
Nous devons faire en sorte que les tickets de session se synchronisent à nouveau.
Étape 1 :
Obtenez la série ministérielle GSAN actuelle.
avmaint cat /sysinfo/security/keytable
Exemple :
root@avamar:/home/admin/#: avmaint cat /sysinfo/security/keytable <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <keytable minimalserial="<minserial_less_than_mcs>">
Étape 2 :
Obtenez le numéro de série du ticket de session en cours auprès de MCS.
cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
Exemple :
root@avamar:/home/admin/#: cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl <mcs_session_ticket_larger_than_gsan>
Étape 3 :
Créez un fichier de clé publique avec "mcecroot» et utilisez-le avec 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
Exemple:
La commande utilise keytool pour répertorier les mcecroot alias dans le avamar_keystore, en achetant le résultat à openssl pour récupérer la clé publique à partir de la paire de clés et en écrivant la clé publique dans un fichier appelé 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-----
Étape 4 :
Écrivez le nouveau minserial GSAN à l’aide de la commande mcecroot public key, suggère d’utiliser un nombre supérieur à la valeur actuelle dans MCS.
avmaint publickey --keyfile=./mcecroot.pub --serial=<your number> --ava
Exemple:
Nous devons choisir un numéro de série suffisamment élevé pour éviter l’erreur suivante.
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 vous recevez l’erreur de paramètres non valides, continuez à choisir un nombre plus élevé jusqu’à ce qu’il n’y ait plus d’erreur.
Étape 5 :
Vérifiez la modification.
avmaint cat /sysinfo/security/keytable
Exemple :
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 [..]
Étape 6 :
Écrivez ce minserial sur le ticket de session MCS.
echo -n "<number you were able to use for mcec key>" > /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
Exemple :
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
Étape 7 :
Redémarrez MCS.
mcserver.sh --restart
Étape 8 :
Testez les sauvegardes.