Avamar - FLR - Linux FLR wget-komentosarjat epäonnistuvat, kun HTTP-välityspalvelin on määritetty virtuaalikoneessa.
Summary: Avamar - FLR - Tiedostojen palautus verkon kautta epäonnistui, koska Linux-kohdevirtuaalikone käytti sisäistä Internet-välityspalvelinta wget-liikennettä varten
Symptoms
avvmwfile Error <0000>: Failed to restore files via network, check proxy log for details avvmwfile Error <0000>: assist_restore error. ret: 157Avamar proxy flr -lokeissa: /usr/local/avamaravamarclient/logs/VmwareFlr.log FLR-komentosarjan automaattisesti luotu "flrTBow8V" suoritetaan virtuaalikoneiden vieraskäyttöjärjestelmässä. Komentosarja ei kuitenkaan onnistunut ( Huomautus: vain poistumiskoodi 0 tarkoittaa onnistumista , mikä tahansa muu numero on virhekoodi) Tässä lokissa virheen poistumiskoodi oli 8.
ExecuteProgram failed. script text:/bin/bash /root/flrTBow8V, Return: 0, script return code: 8 FLRBase:: ScriptUploadAndExecute failed
Avamar FLR -komentosarjan lokissa näkyy seuraava /usr/local/avamaravamarclient/logs/flrTBow8V.err
<DATE> https://Avamar-proxy-IP/download/<uuid> Resolving internetproxy.example.com (internetproxy.example.com)... 10.2.3.4 Connecting to internetproxy.example.com (internetproxy.example.com )|10.2.3.4|:3128... connected. WARNING: cannot verify 10.1.4.50's certificate, issued by ‘/C=US/ST=California/L=Irvine/O=Dell Technologies/OU=Dell EMC/CN=Administrator’: Self-signed certificate encountered. WARNING: certificate common name ‘Administrator’ doesn't match requested host name ‘10.1.4.50’.Proxy request sent, awaiting response... HTTP/1.1 500 Failed to exec CGI Connection: close X-Frame-Options: SAMEORIGIN X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000;includeSubDomains X-XSS-Protection: 1; mode=block Cache-Control: must-revalidate,no-cache,no-store Content-Type: text/html;charset=iso-8859-1 Content-Length: 368 Server: Jetty(9.4.19.v20190610) <DATE> ERROR 500: Failed to exec CGI. ecode: "8"
Cause
Tämä on epätyypillisen Linux-kokoonpanon aiheuttama ympäristöongelma.
Flr-komentosarjan tulostustiedostossa ( flrTBow8V.err ) voimme nähdä, että liikenne kulkee asiakkaan Internet-http-välityspalvelimen internetproxy.example.com kautta.
Ongelma: Turvallisuussyistä vain kohdevirtuaalikone saa ladata tiedostoja tätä tiettyä FLR-työtä/komentosarjaa varten.
HTTP-välityspalvelin aiheuttaa sen, että saapuvan postin osoite EI vastaa kohdevirtuaalikoneen IP-osoitetta, ja laukaisee HTTP-tilakoodin 500.
Määritys:
Virtuaalikoneen vieraskäyttöjärjestelmässä wget-määritystiedostoon ( ~/.wgetrc tai /usr/local/etc/wgetrc) on määritetty HTTP-välityspalvelin.
https_proxy = http://internetproxy.example.com:3128
Resolution
Ratkaisu:
Tämän ongelman ratkaisemiseksi meidän on varmistettava, että FLR-komentosarja EI käytä http-välityspalvelinta muuttamalla wget-komentosarjan määritysmallia.
Vaiheet:
1. Muodosta SSH-yhteys Avamar-välityspalvelimeen
2. Muokkaa wget-mallin komentosarjaa seuraavassa sijainnissa:
/usr/local/avamarclient/bin/wget_linux_script.template3. Lisää komentokytkin "--no-proxy"
Esimerkki määrityksestä ennen muutosta:
#!/bin/bash
logfile=$0.err
url=https://%s/download
token=%s
files=(%s)
exit_code=0
for file in "${files[@]}";do
IFS='","' read filepath dest <<< "$file"
wget "$url/$filepath" -N -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>$logfile
let exit_code=$exit_code+$?
if Avamar_PlaceHolderFile=$filepath; then
rm -f "$dest/$filepath"
fi
done
# delete it self after finish execution
rm -f "$0"
echo "ecode: \"$exit_code\"" >> $logfile
exit $exit_code
Esimerkki määrityksestä MUUTOKSEN JÄLKEEN:
#!/bin/bash
logfile=$0.err
url=https://%s/download
token=%s
files=(%s)
exit_code=0
for file in "${files[@]}";do
IFS='","' read filepath dest <<< "$file"
wget "$url/$filepath" -N --no-proxy -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>$logfile
let exit_code=$exit_code+$?
if Avamar_PlaceHolderFile=$filepath; then
rm -f "$dest/$filepath"
fi
done
# delete it self after finish execution
rm -f "$0"
echo "ecode: \"$exit_code\"" >> $logfile
exit $exit_code 4. Käynnistä vmwareflr-verkkopalvelu uudelleen välityspalvelimessa. ( tai käynnistä välityspalvelin uudelleen)
192proxy:~ # systemctl restart vmwareflr.service