首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

NetBackup 統一日誌清理與配置優化實戰:vxlogcfg/vxlogmgr 深度指南

     編輯:Java 綜合教學

NetBackup 統一日誌清理與配置優化實戰:vxlogcfg/vxlogmgr 深度指南

NetBackup 統一日誌(Unified Logging)預設寫入 /usr/openv/logs,長期運行易導致磁盤爆滿,服務癱瘓。本文系統梳理日誌配置查看、級別調整、目錄遷移、清理命令、自動化維護全流程。

一、 核心命令工具

  • vxlogcfg:配置管理(查看/修改日誌級別、目錄、滾動策略)
  • vxlogmgr:日誌文件管理(列表/刪除/歸檔)
  • nbcplogs:日誌收集打包(故障排查提交支持用)

二、 查看當前配置基線

/usr/openv/netbackup/bin/vxlogcfg -l -o default -p NB
# 輸出關鍵字段:
# LogDirectory = /usr/openv/logs/
# DebugLevel = 1          # 調試級別(0-6,工程師用)
# DiagnosticLevel = 6     # 診斷級別(0-6,管理員用,數值越大越詳盡)
# RolloverMode = FileSize | LocalTime
# MaxLogFileSizeKB = 51200
# RolloverPeriodInSeconds = 43200  (12小時)
# NumberOfLogFiles = 3
# LogRecycle = False        # 關鍵:False 表示不自動刪除舊文件,需手動清理

三、 磁盤爆滿緊急清理

# 1. 確認佔用大戶
du -sh /usr/openv/logs/*
# 典型大戶:nbsl (132), nbrmms (222), nbdisco (400), nbemm (111)

# 2. 一鍵刪除所有統一日誌文件(謹慎!生產建議先備份)
/usr/openv/netbackup/bin/vxlogmgr -d
# 交互確認輸入 y,會列出並刪除所有受管日誌文件

# 3. 或僅刪除指定 Originator 的日誌
vxlogmgr -d -p NB -o 132   # 僅刪除 nbsl (OID=132)

四、 根治:調整日誌級別與滾動策略

1. 降低全局診斷級別(推薦:生產環境 DiagnosticLevel=2-3)

# 修改所有 Originator 的 DiagnosticLevel 為 2
vxlogcfg -a -p 51216 -o ALL -s DiagnosticLevel=2

# 僅調整特定模塊(nbemm OID=111, nbsl OID=132)
vxlogcfg -a -p NB -o 111 -s DiagnosticLevel=2
vxlogcfg -a -p NB -o 132 -s DiagnosticLevel=2

2. 啟用日誌回收(自動刪除舊文件)

vxlogcfg -a -p NB -o DEFAULT -s LogRecycle=True
# 配合 NumberOfLogFiles 控制保留份數

3. 遷移日誌目錄至大分區

# 停止 NBU 服務
/usr/openv/netbackup/bin/bp.kill_all

# 修改默認日誌目錄
vxlogcfg -a -p NB -o Default -s LogDirectory=/data/nbu_logs

# 遷移現有日誌
mv /usr/openv/logs /data/nbu_logs_old
ln -s /data/nbu_logs /usr/openv/logs

# 重啟服務
/usr/openv/netbackup/bin/bp.start_all

五、 Originator ID 對照表(常見模塊)

OID模塊名功能建議 DiagnosticLevel
111nbemm企業媒體管理器(核心目錄服務)2-3
132nbsl存儲生命週期管理2-3
222nbrmms媒體管理器2
400nbdisco設備發現1-2
117nbjm作業管理器2
116nbpem策略執行管理器2
231nbevtmgr事件管理器2
293nbaudit審計日誌3

查看完整映射:vxlogcfg -l -p 51216 -o ALL 或 nbcplogs --list-subproducts NB

六、 關鍵參數詳解

參數含義推薦值
DebugLevel工程調試級別(極詳細,極佔磁盤)0 (生產關閉)
DiagnosticLevel運維診斷級別2-3 (平衡可見性與磁盤)
RolloverMode滾動觸發條件FileSize | LocalTime
MaxLogFileSizeKB單文件最大尺寸51200 (50MB)
RolloverPeriodInSeconds時間滾動周期43200 (12h) 或 86400 (24h)
NumberOfLogFiles保留文件數(需 LogRecycle=True)10-20
LogRecycle是否自動刪除舊文件True (關鍵!)

七、 自動化維護腳本(加入 crontab)

#!/bin/bash
# /opt/scripts/nbu_log_maintenance.sh
# 每天 02:00 執行

LOG_DIR="/usr/openv/logs"
MAX_AGE_DAYS=7
MAX_SIZE_GB=10

# 1. 清理超齡日誌
find "$LOG_DIR" -name "*.log" -mtime +$MAX_AGE_DAYS -delete

# 2. 若總佔用超閾值,強制觸發 vxlogmgr 清理最舊
CURRENT_GB=$(du -sg "$LOG_DIR" | awk '{print $1}')
if [ "$CURRENT_GB" -gt "$MAX_SIZE_GB" ]; then
    /usr/openv/netbackup/bin/vxlogmgr -d -p NB -o ALL 2>&1 | logger -t nbu_log_cleanup
fi

# 3. 記錄磁盤使用情況
echo "$(date) NBU Logs: ${CURRENT_GB}GB" >> /var/log/nbu_disk_usage.log
# crontab -e (root)
0 2 * * * /opt/scripts/nbu_log_maintenance.sh

八、 故障排查專用:臨時提升級別

# 問題排查期間,臨時提升特定模塊級別
vxlogcfg -a -p NB -o 111 -s DiagnosticLevel=5  # nbemm 詳盡日誌
# 排查結束後立即恢復
vxlogcfg -a -p NB -o 111 -s DiagnosticLevel=2

建立「配置基線 → 監控磁盤 → 定期清理 → 故障臨時調級 → 事後復原」的閉環機制,配合 LogRecycle=True 與合理的 NumberOfLogFiles,可徹底避免 NetBackup 日誌佔滿磁盤導致備份系統癱瘓的風險。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved