Avamar: Tworzenie kopii zapasowych klienta SQL kończy się losowym niepowodzeniem z błędem sslcontext::loadCert z włączonymi zabezpieczeniami sesji
Summary: W wersjach Avamar wcześniejszych niż 19.8 klienci SQL wdrożeni na platformie Microsoft Azure przy użyciu Data Domain Virtual Edition (DDVE) tworzenie kopii zapasowych może losowo kończyć się niepowodzeniem z włączonymi zabezpieczeniami sesji. Błędy występują z powodu błędów sprawdzania poprawności certyfikatu SSL i klucza prywatnego spowodowanych nieprawidłowym wyborem adresu IP, gdy klient jest rozpoznawany jako adres sprzężenia zwrotnego IPv6 zamiast IPv4. ...
Symptoms
Gdy zabezpieczenia sesji są włączone, tworzenie kopii zapasowych klienta SQL sporadycznie kończy się niepowodzeniem z powodu błędów związanych z protokołem SSL. W ramach tego samego zadania tworzenia kopii zapasowej niektóre wątki kończą się pomyślnie, podczas gdy inne kończą się niepowodzeniem.
- Pakiet
avsqlDzienniki pokazują następujące błędy:
2023-01-11 12:02:10.99399 [avsql] uflags::parsefile Printing flags from C:\Program Files\avs\var\avsql.cmd: .cmd flag [1]: --debug=true .cmd flag [2]: --verbose=1 .cmd flag [3]: --x14=32768 2023-01-11 12:02:10.99399 [avsql] sock::libinit(enc="tls", encrypt_strength="high", verify=0) socktype="sock_ssl" 2023-01-11 12:02:10.99399 [avsql] sockimpl::libinit(usessl=1, verify=0, encrypt_strength="high", pemdir="C:\Program Files\avs\etc") 2023-01-11 12:02:10.99399 [avsql] sslcontext::libinit 2023-01-11 12:02:10.99399 [avsql] sslcontext::libinit verifypeer=0, encrypt_strength="high", global_sslctx=0000000001950D90, global_sslctx->ctx=000000000119B630 2023-01-11 12:02:10.99399 [avsql] sslcontext::libinit load cert: C:\Program Files\avs\etc\cert.pem 2023-01-11 12:02:10.99399 [avsql] sslcontext::libinit load key: C:\Program Files\avs\etc\key.pem 2023-01-11 12:02:10.99399 [avsql] ERROR: <0001> sslcontext::loadCert certificate/key not found or invalid cert=C:\Program Files\avs\etc\cert.pem key=C:\Program Files\avs\etc\key.pem 2023-01-11 12:02:10 avsql Error <5664>: SSL certificate/key not found or invalid. 2023-01-11 12:02:10 avsql Error <16154>: Unable to initialize socket library
- W tym samym zleceniu pracy niektóre
avtarWątki kończą się pomyślnie, podczas gdy inne kończą się niepowodzeniem z błędami certyfikatów.
Pomyślne avtar Przykładowy wątek:
2023-01-11 12:02:11 avtar Info <5008>: Logging to C:\Program Files\avs\var\SCH-60-G-TLOG-SQL-60-1673449200555#2-3006-SQL.avtar.log 2023-01-11 12:02:11 avtar Info <5174>: - Reading C:\Program Files\avs\var\avtar.cmd 2023-01-11 12:02:11 avtar Info <5551>: Command Line: avtar --ddr-auth-enabled=false --ddr-encrypt-strength=none --ddr-auth-mode=3 --case_sensitive=false --max-streams=1 --backup-type=incremental --cacheprefix=avsql_t1 --ctlcallport=64502 --ctlinterface=3006-SCH-60-G-TLOG-SQL-60-1673449200555#2 --check-stdin-path=false --logfile="C:\Program Files\avs\var\SCH-60-G-TLOG-SQL-60-1673449200555#2-3006-SQL.avtar.log" --vardir="C:\Program Files\avs\var" --bindir="C:\Program Files\avs\bin" --sysdir="C:\Program Files\avs\etc" --account=/Azure/AZ-Prod/cldsrv1088.arcorgroup.com --id=backuponly --password=**************** --server=cldlnx0063.arcorgroup.com --ctlusessl=true 2023-01-11 12:02:11 avtar Info <7977>: Starting at 2023-01-11 12:02:11 Argentina Standard Time [avtar Oct 16 2020 15:51:11 19.4.100-116 Windows Server 2019 Datacenter Server Edition (No Service Pack) 64-bit-AMD64] 2023/01/11-15:02:11.03500 [avtar] <1291> FIPS mode enabled 2023-01-11 12:02:11 avtar Info <10684>: Setting ctl message version to 3 (from 1) 2023-01-11 12:02:11 avtar Info <16136>: Setting ctl max message size to 268435456 2023-01-11 12:02:11 avtar Info <6767>: Successfully connected to 127.0.0.1:64502
avtar Przykładowy wątek:
2023-01-11 12:02:30 avtar Info <5008>: Logging to C:\Program Files\avs\var\SCH-60-G-TLOG-SQL-60-1673449200555#0-3006-SQL.avtar.log 2023-01-11 12:02:30 avtar Info <5174>: - Reading C:\Program Files\avs\var\avtar.cmd 2023-01-11 12:02:30 avtar Info <5551>: Command Line: avtar --ddr-auth-enabled=false --ddr-encrypt-strength=none --ddr-auth-mode=3 --case_sensitive=false --max-streams=1 --backup-type=incremental_full --ctlcallport=64502 --ctlinterface=3006-SCH-60-G-TLOG-SQL-60-1673449200555 --check-stdin-path=false --logfile="C:\Program Files\avs\var\SCH-60-G-TLOG-SQL-60-1673449200555#0-3006-SQL.avtar.log" --vardir="C:\Program Files\avs\var" --bindir="C:\Program Files\avs\bin" --sysdir="C:\Program Files\avs\etc" --account=/Azure/AZ-Prod/cldsrv1088.arcorgroup.com --id=backuponly --password=**************** --server=cldlnx0063.arcorgroup.com --ctlusessl=true 2023-01-11 12:02:30 avtar Info <7977>: Starting at 2023-01-11 12:02:30 Argentina Standard Time [avtar Oct 16 2020 15:51:11 19.4.100-116 Windows Server 2019 Datacenter Server Edition (No Service Pack) 64-bit-AMD64] 2023/01/11-15:02:30.86500 [avtar] <1291> FIPS mode enabled 2023/01/11-15:02:30.86500 [avtar] ERROR: <0001> sslcontext::loadCert certificate/key not found or invalid cert=C:\Program Files\avs\etc\cert.pem key=C:\Program Files\avs\etc\key.pem 2023-01-11 12:02:30 avtar Error <5664>: SSL certificate/key not found or invalid. 2023-01-11 12:02:30 avtar FATAL <19035>: Unable to initialize socket library for CTL.
Zachowanie jest niespójne, a błędy występują losowo w wątkach kopii zapasowej.
Cause
W przypadku awarii klucz prywatny otrzymany z serwera Avamar jest nieprawidłowy. W związku z tym funkcja OpenSSL SSL_CTX_use_PrivateKey_file() Nie powiedzie się.
Agent klienta Avamar wybiera pierwszy osiągalny adres hosta, którym może być adres sprzężenia zwrotnego IPv6 (::1), ponieważ znajduje się na liście nazw hostów. Mimo że klient wysyła adres IPv6 do konsoli zarządzającej (MC), MC przechowuje tylko adres IPv4. Ta niezgodność adresów powoduje niepowodzenia weryfikacji certyfikatu SSL.
Resolution
Dodaj następujące flagi w avagent.cmd na kliencie, którego dotyczy problem, i uruchom ponownie avagent Aby obejść ten problem:
--ipupdateinterval=43200 (Number of minutes between IP address update) --addr-family=4 (Force to use IPv4) --netbind=10.x.x.x (Force association with this network address rather than OS autoselection)
Opisy parametrów:
--ipupdateintervalOkreśla interwał (w minutach) aktualizowania adresu IP klienta.--addr-family=4wymusza na kliencie korzystanie z protokołu IPv4.--netbindwiąże agenta z określonym adresem IPv4 zamiast automatycznego wyboru systemu operacyjnego.
Po zastosowaniu zmian uruchom ponownie agenta Avamar i ponownie uruchom kopię zapasową.
Trwała naprawa
Ten problem został rozwiązany w wersji 19.8. Zmiany kodu zostały wprowadzone w celu zignorowania adresu stronicowania hosta lokalnego.