Avamar. Резервное копирование может перестать отвечать или резервное копирование файловой системы завершится сбоем с сообщением «Fatal Server Error occurred»
Resumen: Сбой резервного копирования Avamar с ошибкой avtar FATAL <5704>: Произошла неустранимая ошибка сервера (MSG_ERR_AUTH_FAIL). Для обработки резервного копирования билеты сессий должны быть надлежащим образом синхронизированы между глобальной сетью хранения данных (GSAN) и службой консоли управления (MCS). ...
Síntomas
Резервное копирование завершается сбоем с созданием следующих журналов.
В err.log Avamar GSAN может отображаться следующее:
[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
Causa
В журналах 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?
Resolución
Необходимо снова синхронизировать билеты сеанса.
Шаг 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 alias в 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 public key, предложите использовать число, большее, чем текущее значение в 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:
Тестирование резервного копирования.