HTTP 프록시가 가상 머신에 구성되어 있으면 Avamar - FLR - Linux FLR wget 스크립트가 실패합니다.
Summary: Avamar - FLR - "wget" 트래픽에 내부 인터넷 프록시를 사용하는 대상 Linux VM으로 인해 네트워크를 통해 파일을 복원하지 못했습니다.
Symptoms
avvmwfile Error <0000>: Failed to restore files via network, check proxy log for details avvmwfile Error <0000>: assist_restore error. ret: 157Avamar 프록시 flr 로그에서 다음을 수행합니다. /usr/local/avamaravamarclient/logs/VmwareFlr.log 가상 머신 게스트 운영 체제 내에서 FLR 스크립트 자동 생성 "flrTBow8V"가 실행되는 것을 볼 수 있습니다. 그러나 스크립트가 성공하지 못했습니다 (참고: 종료 코드 0만 성공을 나타내고 다른 숫자는 모두 실패 코드임). 이 로그의 실패 종료 코드는 8입니다.
ExecuteProgram failed. script text:/bin/bash /root/flrTBow8V, Return: 0, script return code: 8 FLRBase:: ScriptUploadAndExecute failed
Avamar FLR 스크립트 로그에는 /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
이는 비표준 Linux 구성으로 인해 발생하는 환경 문제입니다.
FLR 스크립트 출력 파일(flrTBow8V.err)에서 고객의 인터넷 http 프록시 internetproxy.example.com 통해 트래픽이 흐르는 것을 확인할 수 있습니다.
문제: 보안상의 이유로 타겟 가상 머신만 이 특정 FLR 작업/스크립트에 대한 파일을 다운로드할 수 있습니다.
HTTP PROXY는 들어오는 IP 주소가 대상 VM의 IP 주소와 일치하지 않도록 하고 HTTP 상태 코드 500을 트리거합니다.
구성:
가상 머신의 게스트 운영 체제에서 wget 구성 파일(~/.wgetrc 또는 /usr/local/etc/wgetrc)에는 HTTP 프록시가 구성되어 있습니다.
https_proxy = http://internetproxy.example.com:3128
Resolution
해결 방법:
이 문제를 해결하려면 wget 스크립트 사양 템플릿을 변경하여 FLR 스크립트가 http 프록시를 사용하지 않도록 해야 합니다.
단계:
1. SSH를 통해 Avamar 프록시
에 연결합니다. 2. 다음 위치에서 wget 템플릿 스크립트를 편집합니다.
/usr/local/avamarclient/bin/wget_linux_script.template3. wget 명령 스위치 "--no-proxy"를 추가합니다.
변경 전 구성의 예:
#!/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
변경 후 구성의 예:
#!/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. 프록시에서 vmwareflr 웹 서비스를 다시 시작합니다. (또는 프록시 재부팅)
192proxy:~ # systemctl restart vmwareflr.service