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 »
Résumé: Avamar backups fail 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. ...
Symptômes
Les sauvegardes échouent et les erreurs suivantes peuvent être détectées dans les logs suivants :
Avamar Global Storage Area Network (GSAN) err.log:
[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
Avtar Journaux:
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)
2019-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 -1Cause
Les journaux GSAN indiquent que le ticket de session attribué a peut-être déjà été utilisé lors d’une sauvegarde précédente.
Cela peut se produire à partir d’un retour arrière GSAN ou MCS (Management Console Server), 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, on peut 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?Résolution
Procédez comme suit pour resynchroniser les tickets de session :
Étape 1 :
Obtenir le GSAN actuel minserial:
avmaint cat /sysinfo/security/keytable
Exemple :
root@avamar:/home/admin/#: avmaint cat /sysinfo/security/keytable |grep minimalserial
<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
(La commande utilise keytool pour lister les mcecroot alias dans le avamar_keystore, envoie le résultat à openssl pour obtenir la clé publique à partir de la paire de clés, et écrit la clé publique dans un fichier appelé mcecroot.pub.)
Exemple :
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 :
Écrire le nouveau GSAN minserial à l’aide de la commande mcecroot Clé publique. Utilisez un nombre supérieur à la valeur actuelle dans MCS :
avmaint publickey --keyfile=./mcecroot.pub --serial=<new-gsan-minserial-value> --ava
(Vous devez choisir un numéro de série suffisamment élevé pour éviter l’erreur suivante)
ERROR: avmaint: publickey: server_exception(MSG_ERR_INVALID_PARAMETERS)
Exemples :
root@avamar:/usr/local/avamar/lib/#: avmaint publickey --keyfile=./mcecroot.pub --serial=28500 --ava
ERROR: avmaint: publickey: server_exception(MSG_ERR_INVALID_PARAMETERS)
Si vous recevez l’erreur ci-dessus, continuez à choisir un nombre plus élevé jusqu’à ce qu’il n’y ait plus d’erreur.
root@avamar:/usr/local/avamar/lib/#: avmaint publickey --keyfile=./mcecroot.pub --serial=38000 --ava
Étape 5 :
Vérifiez la modification :
avmaint cat /sysinfo/security/keytable
Exemple :
root@avamar:/usr/local/avamar/lib/#: avmaint cat /sysinfo/security/keytable |grep minimalserial
<keytable minimalserial="38000"> <-- This should display the gsan minserial number entered in step 4 above
Étape 6 :
Écrivez ce minserial sur le ticket de session MCS et vérifiez :
echo -n "<new-gsan-minserial-value>" > /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.