Avamar: 백업이 응답하지 않거나 파일 시스템 백업이 실패하고 "Fatal Server Error occurred"가 표시될 수 있습니다.
Summary: avtar FATAL이 표시되면서 Avamar 백업 실패 <5704>: 치명적인 서버 오류가 발생했습니다(MSG_ERR_AUTH_FAIL). 백업을 처리하려면 세션 티켓이 GSAN(Global Storage Area Network)과 MCS(Management Console Service) 간에 올바르게 동기화되어야 합니다.
Symptoms
아래 로그가 생성되면서 백업에 실패합니다.
Avamar 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 로그에는 다음이 표시될 수 있습니다.
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
GSAN 로그에서 할당된 세션 티켓이 이전 백업에 이미 사용되었을 수 있음을 확인할 수 있습니다.
이는 세션 티켓의 순서가 잘못된 GSAN 또는 MCS 롤백에서 발생할 수 있습니다 .
GSAN 로그에서
WARN: <1418> sessionkeytable::setpublickey session ticket with serial=28451 was used already WARN: <1426> sessionkeytable::comparesignature incorrect signature
MCS의 세션 티켓이 GSAN보다 큰 경우, GSAN이 뒤처져 있고 이전 세션 티켓을 사용하여 고객에게 제공한다고 추론할 수 있습니다.
다음 grep 명령을 사용하여 진단할 수 있습니다.
grep -i "sessionkeytable\|minserial" /data01/cur/gsan.log.00?
Resolution
다시 동기화하려면 세션 티켓을 가져와야 합니다.
1 단계 :
현재 GSAN 최소 시리얼을 가져옵니다.
avmaint cat /sysinfo/security/keytable
예:
root@avamar:/home/admin/#: avmaint cat /sysinfo/security/keytable <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <keytable minimalserial="<minserial_less_than_mcs>">
2 단계 :
MCS에서 현재 세션 티켓 일련 번호를 가져옵니다.
cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
예:
root@avamar:/home/admin/#: cat /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl <mcs_session_ticket_larger_than_gsan>
3 단계 :
"를 사용하여 공개 키 파일을 생성합니다.mcecroot", 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
예제:
이 명령은 keytool을 사용하여 mcecroot avamar_keystore별칭을 지정하고, 결과를 openssl로 파이핑하여 키 쌍에서 공개 키를 가져오고, 공개 키를 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-----
4 단계 :
를 사용하여 새 GSAN 최소 시리얼 번호를 작성합니다. mcecroot 공개 키의 경우 MCS의 현재 값보다 큰 숫자를 사용하는 것이 좋습니다.
avmaint publickey --keyfile=./mcecroot.pub --serial=<your number> --ava
예제:
다음 오류를 피할 수 있을 만큼 충분히 높은 일련 번호를 선택해야 합니다 .
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
잘못된 매개변수 오류가 발생하면 오류가 없을 때까지 더 높은 숫자를 계속 선택합니다.
5 단계 :
변경 내용을 확인합니다.
avmaint cat /sysinfo/security/keytable
예:
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 [..]
6 단계 :
해당 최소 시리얼을 MCS 세션 티켓에 씁니다.
echo -n "<number you were able to use for mcec key>" > /usr/local/avamar/var/mc/server_data/prefs/sessionticket.srl
예:
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
7 단계 :
MCS를 재시작합니다.
mcserver.sh --restart
8 단계 :
백업을 테스트합니다.