VIDEO
通常來說,針對 NetWorker 伺服器上 .../nsr/logs/policy/[policy name] 內的原則紀錄進分析十分實用,但有時需要分析 vProxy 裝置本身上的紀錄,更有可能需要將紀錄層級增加至「debug」,以明確瞭解故障的原因。通常只有在 NetWorker 支援介入,支援工程師要求將除錯設定為特定程序以進行故障診斷時,才需要進行此操作。
vProxy 裝置的 NVP-vProxy 紀錄檔位於下列目錄中:
/opt/emc/vproxy/runtime/logs
vProxy 裝置上用於 NetWorker 作業的每個原則程序都有一個子目錄:
vbackupd
vflrd
vrapid
vrecoverd
舉例來說,在 vbackupd 子目錄中,您會有這些紀錄:
[session-uuid].log 工作階段的處理詳細資料
vbackupd-engine.log 要求與問題事件,包括工作階段紀錄的錯誤與當機訊息。
vbackupd-boost.log DDBoost 紀錄
vbackupd-snapmgr.log 快照紀錄
vbackupd-vddk.log VDDK 紀錄 - VMware Virtual Disk Development Kit
有關 vProxy 紀錄和收集的其他資訊,請參閱:
NVP-vProxy 分級指南:NetWorker VMware Protection vProxy 分級和紀錄收集指南
套用服務除錯方法 1:
此方法適用於 vProxy 4.3.x 及更新版本。
1.使用 vProxy 的系統管理員 帳戶,透過 SSH 連線至 vProxy。
2.切換至 root:sudo su -
3.變更至 vProxy 代理程式 bin 目錄: cd /opt/emc/vproxy/bin
4. 針對您想要除錯的服務 (vbackupd, vflrd, vrapid, vrecoverd) 執行下列命令:
./vProxy_debug.sh -s -d SERVICE_NAME -p program -l debug
引擎等級:{ debug, trace, info, warn } (預設為「trace」)
將 vflrd 放入除錯的範例:
注意: DEBUG 訊息應會出現在服務的 engine.log 中,如上所示。
若要停用除錯,您可以將服務重設回「trace」
./vProxy_debug.sh -s -d SERVICE_NAME -p program -l trace
套用服務除錯方法 2:
可用的紀錄層級為:none,error,warn,info,trace,debug
為了將 vbackupd 程序設為紀錄層級「debug」:
1.以系統管理員身分透過 ssh 或主控台登入 vProxy 應用裝置,然後切換至 root: sudo su -
2. 前往系統目錄: cd /usr/lib/systemd/system/
注意: 每一個服務檔案都位於此處:vbackupd.service、vfrld.service、vrapid.service、vrecoverd.service 等
3.開啟您想要套用除錯的服務檔案,例如: vi vbackupd.service
4. 找到 ExecStart= 行,並在後方加入 --program-log-level=debug
其他參數:
--engine-log-level=string
vProxy 2.x 引擎紀錄層級:{ debug, trace, info, warn }。
--program-log-level=string (vbackupd)
vProxy 3.x 及更新版本引擎層級:{ debug, trace, info, warn } (預設為「trace」)
--version
顯示版本
注意: NVP-vProxy 版本會顯示在 NetWorker Management Console 內的 Vproxy 內容「組態」標籤中:
- NMC -> 裝置 -> VMware 代理 -> 在 vProxy 裝置上按一下滑鼠右鍵 -> 屬性 -> 組態標籤 -> VM 代理版本
5.將變更儲存至檔案
6.輸入以下命令以重新載入單位組態檔案:
systemctl daemon-reload
7. 在 NetWorker Management Console 中確認目前沒有進行中的備份,然後重新啟動 vbackupd 服務:
systemctl restart vbackupd.service
上述程序適用於以下服務: vrapid、vrecoverd、vbackupd 和 vflrd。
套用 VDDK 除錯:
1.使用 SSH 或主控台,以系統管理員身分登入 vProxy 裝置,然後切換至 root: sudu su -
2. 編輯 VixDiskLib.config 檔案,包含下列行: vi /opt/emc/vproxy/conf/VixDiskLib.config
vixDiskLib.transport.LogLevel=4
0 = 無紀錄
1 = 僅錯誤
2 = 警告與錯誤
3 = 重要資訊訊息、錯誤與警告
4 = 除錯資料與其他一切
3.重新啟動相關服務:
systemctl restart [service-name].service
例如: systemctl restart vrecoverd.service
設定除錯層級紀錄後,您可以確認相關紀錄檔中有以「Debug」開頭的訊息
完成除錯程序後,您可以使用相同程序重設紀錄層級,在等號後使用「trace」而不是「debug」。 為了立即套用,需要按照上述說明重新載入並重新啟動精靈。
DDBoost 除錯:
此程序可結合上述其他除錯方法進行。 1.使用 SSH 或主控台,以系統管理員身分登入 vProxy 裝置,然後切換至 root:sudu su - 2.編輯 vbackupd.service 檔案:vi /usr/lib/systemd/system/SERVICE .service 可在下列服務上啟用 ddboost 除錯,啟用除錯取決於需要除錯時執行的動作:
/usr/lib/systemd/system/vbackupd /usr/lib/systemd/system/vflrd /usr/lib/systemd/system/vrecoverd
3.在 ExecStart 行之後加上:--boost-log-level=debug --boost-log-level=string DD Boost 紀錄層級:{ none, error, warn, info, debug, trace, all } (預設為「error」) vbackupd 服務範例:
ExecStart=/opt/emc/vproxy/bin/vbackupd --boost-log-level=debug
4.在下列位置下建立檔案 ddboost_precert.ini:/: touch /ddboost_precert.ini 5. 在下列位置下建立目錄 DDLog:/: mkdir /DDLog 6. 重新載入精靈: systemctl daemon-reload 7. 重新啟動 vbackupd.service: systemctl restart SERVICE .service
重新啟動啟用除錯的服務,例如:
systemctl restart vbackupd.service
8.確認服務已啟動: systemctl status SERVICE .service
範例:
systemctl status vbackupd.service
9.確認 vbackupd-ddboost.log 顯示「debug」:
確認套用至 vbackupd 之設定的範例:
cat /opt/emc/vproxy/runtime/logs/vbackupd/vbackupd-boost.log | grep "set to"
10.確認已產生 ddboost_precert.log 紀錄: ls -l /DDLog
當不再需要除錯作業時,請從服務檔案中移除 --boost-log-leve=debug,重新載入精靈,然後重新啟動服務。