Avamar: Sikkerhedskopieringer kan holde op med at reagere, eller sikkerhedskopieringer af filsystemet mislykkes med meddelelsen "Der opstod en alvorlig serverfejl"
Summary: Avamar-sikkerhedskopieringer mislykkes med avtar FATAL <5704>: Der opstod en alvorlig serverfejl (MSG_ERR_AUTH_FAIL). Sessionsbilletter skal synkroniseres korrekt mellem GSAN (Global Storage Area Network) og Management Console Service (MCS) for at kunne behandle en sikkerhedskopi. ...
Symptoms
Sikkerhedskopieringer mislykkes, og nedenstående logfiler genereres.
Avamar GSAN err.log kan vise:
[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-logfiler kan vise:
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
Cause
Du kan se i GSAN-logfilerne, at den tildelte sessionsbillet muligvis allerede er blevet brugt til en tidligere sikkerhedskopiering.
Dette kan ske ved, at en GSAN- eller MCS-annullering sætter sessionsbilletten ude af drift.
Fra GSAN-loggen
WARN: <1418> sessionkeytable::setpublickey session ticket with serial=28451 was used already WARN: <1426> sessionkeytable::comparesignature incorrect signature
Når MCS har en større sessionsbillet end GSAN, kan vi udlede, at GSAN er bagud og bruger gamle sessionsbilletter til at give til klienter.
Brug følgende grep-kommando til at hjælpe med at diagnosticere.
grep -i "sessionkeytable\|minserial" /data01/cur/gsan.log.00?
Resolution
Vi skal have sessionsbilletterne synkroniseret igen.
Trin 1:
Hent det aktuelle GSAN-minserial.
avmaint cat /sysinfo/security/keytable
Eksempel:
root@avamar:/home/admin/#: avmaint cat /sysinfo/security/keytable <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <keytable minimalserial="<minserial_less_than_mcs>">
Trin 2:
Hent den aktuelle sessionsbilletserie fra MCS.
cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
Eksempel:
root@avamar:/home/admin/#: cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl <mcs_session_ticket_larger_than_gsan>
Trin 3:
Opret en offentlig nøglefil med "mcecroot", og brug det med 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
Eksempel:
Kommandoen bruger keytool til at liste mcecroot alias i avamar_keystore, der rører resultatet til openssl for at få fat i den offentlige nøgle fra nøgleparret og skriver den offentlige nøgle til en fil kaldet 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-----
Trin 4:
Skriv det nye GSAN minserial ved hjælp af mcecroot offentlig nøgle, foreslår du at bruge et tal, der er større end den aktuelle værdi i MCS.
avmaint publickey --keyfile=./mcecroot.pub --serial=<your number> --ava
Eksempel:
Vi skal vælge et serienummer, der er højt nok til at undgå følgende fejl.
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
Hvis du modtager fejlen ugyldige parametre, skal du fortsætte med at vælge et højere tal, indtil der ikke er nogen fejl.
Trin 5:
Bekræft ændringen.
avmaint cat /sysinfo/security/keytable
Eksempel:
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 [..]
Trin 6:
Skriv den pågældende minserial til MCS-sessionsbilletten.
echo -n "<number you were able to use for mcec key>" > /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
Eksempel:
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
Trin 7:
Genstart MCS.
mcserver.sh --restart
Trin 8:
Test sikkerhedskopieringer.