Avamar: os backups podem parar de responder ou os backups do file system falham com a mensagem "Fatal Server Error occurred"
Riepilogo: Os backups do Avamar falham MSG_ERR_AUTH_FAIL). Os tíquetes de sessão devem ser sincronizados corretamente entre a Global Storage Area Network (GSAN) e o Management Console Service (MCS) para processar um backup. ...
Sintomi
Os backups estão falhando e os seguintes erros podem ser vistos nos seguintes logs:
Storage Area Network (GSAN) global do Avamar 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 Logs:
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 -1Causa
Os logs do GSAN mostram que o tíquete de sessão atribuído pode já ter sido usado para um backup anterior.
Isso pode ocorrer a partir de uma reversão do GSAN ou do Management Console Server (MCS), colocando o tíquete de sessão fora de ordem.
No log do GSAN:
WARN: <1418> sessionkeytable::setpublickey session ticket with serial=28451 was used already
WARN: <1426> sessionkeytable::comparesignature incorrect signature
Quando o MCS tem um tíquete de sessão maior do que o GSAN, pode-se inferir que o GSAN está atrasado e usando tíquetes de sessão antigos para dar aos clientes.
Use o seguinte comando grep para ajudar a diagnosticar:
grep -i "sessionkeytable\|minserial" /data01/cur/gsan.log.00?Risoluzione
Faça o seguinte para ressincronizar os tíquetes de sessão:
Etapa 1:
Obter o GSAN atual minserial:
avmaint cat /sysinfo/security/keytable
Exemplo:
root@avamar:/home/admin/#: avmaint cat /sysinfo/security/keytable |grep minimalserial
<keytable minimalserial="<minserial_less_than_mcs>">
Etapa 2:
Obtenha a série do tíquete de sessão atual do MCS.
cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
Exemplo:
root@avamar:/home/admin/#: cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
<mcs_session_ticket_larger_than_gsan>
Etapa 3:
Crie um arquivo de chave pública com "mcecroot", e use-o com 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
(O comando usa keytool para listar os mcecroot alias no avamar_keystore, envia o resultado para openssl para obter a chave pública do par de chaves e leva a chave pública a um arquivo chamado mcecroot.pub.)
Exemplo:
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-----
Etapa 4:
Escreva o novo GSAN minserial usando o mcecroot chave pública. Use um número maior que o valor atual no MCS:
avmaint publickey --keyfile=./mcecroot.pub --serial=<new-gsan-minserial-value> --ava
(Um número de série alto o suficiente para evitar o seguinte erro deve ser escolhido)
ERROR: avmaint: publickey: server_exception(MSG_ERR_INVALID_PARAMETERS)
Exemplos:
root@avamar:/usr/local/avamar/lib/#: avmaint publickey --keyfile=./mcecroot.pub --serial=28500 --ava
ERROR: avmaint: publickey: server_exception(MSG_ERR_INVALID_PARAMETERS)
Se o erro acima for recebido, continue escolhendo um número maior até que não haja nenhum erro.
root@avamar:/usr/local/avamar/lib/#: avmaint publickey --keyfile=./mcecroot.pub --serial=38000 --ava
Etapa 5:
Verifique a alteração:
avmaint cat /sysinfo/security/keytable
Exemplo:
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
Etapa 6:
Grave essa minserial no tíquete da sessão do MCS e verifique:
echo -n "<new-gsan-minserial-value>" > /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
Exemplo:
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
Etapa 7:
Reinicie o MCS:
mcserver.sh --restart
Etapa 8:
Testar backups.