NetWorker:最佳化 Data Domain 的空間復原作業
Summary: 本文提供一些實用的可調整項目和步驟,以減少負載,並協助釋放 NetWorker 資料區中 Data Domain 裝置的空間。
Symptoms
- NetWorker 儲存集標記為「已到期但未移除」
- 空間復原訊息每天在記錄中顯示不止一次
- Data Domain 速度和載入影響
- 一般伺服器效能影響
Cause
- 符合空間復原條件的磁碟區在到期動作期間讀取 (分段、複製或復原)
- 空間復原依預設會在任何指定磁碟區上的每次暫存作業後執行
- 空間復原會在執行空間復原時檢查磁碟區目錄結構中的每個檔案
- 在空間復原階段,伺服器作業和回應速度可能會減慢
Resolution
NetWorker 的空間復原階段每天執行一次,作為伺服器備份工作流程中過期動作的最後階段之一。它的目的是在 伺服器評估、到期和刪除存儲集記錄後刪除卷中的存儲集檔物件,然後再計算根據其配置可以安全刪除的記錄。
有幾個因素可能會對 Data Domain 或 NetWorker 伺服器的回應能力產生不良影響。啟用以下任何一項似乎符合相關數據區的要求。考慮使用下列偵錯金鑰檔案進行測試之前:停用每日伺服器保護>伺服器備份>到期動作,在一天或多天內停用所有復原空間和媒體資料庫計算,以確認遇到的效能問題與空間復原和/或到期活動有關。
如果停用到期確認與日常維護相關的問題,則可以停用下列功能以進行故障診斷,方法是在 NetWorker 伺服器或節點的主要 nsr 目錄偵錯子目錄下建立同名的空白檔案 (不具有副檔名)。這些標誌檔都不需要重新啟動,並且會在它們存在時啟動恢復空間作業後生效。
Linux 位置: /nsr/debug
Windows 位置: C:\Program Files\EMC NetWorker\nsr\debug (或對應的 NSR 安裝路徑)
檔名及其功能詳述如下:
skip_recover_space_for_stage
- 存儲節點。此標誌會導致 NetWorker 略過暫存作業的復原空間階段 (複製後刪除來源)。如果您的環境使用暫存,特別是從同一源卷重複暫存,建議這樣做,因為它否定了為同一卷生成多個恢復空間操作的可能性。使用此標誌時,恢復空間操作將完全延遲,從而允許系統在運行“過期”每日操作或手動運行 nsrim命令時刪除檔。
recover_space_anytime
- 僅限伺服器。這可讓復原空間到期,並移除主動讀取磁片區的集區,預設為延後。這意味著,對於具有長時間運行的克隆作業的卷,在運行過期操作、 nsrim 或暫存作業(請參閱上一個)時,可以重複延遲到期和空間恢復。這反過來又可能導致大量空間恢復積壓工作、逐漸釋放空間耗盡以及允許運行時更大的空間恢復作業。
skip_disk_usage
- 存儲節點。作為空間恢復和磁碟卷文件系統檢查的一部分,預設情況下,各個檔會遞歸檢查和計數,以便為卷生成精確的數據聚合。雖然有些人可能認為此精度至關重要,但延遲此步驟依賴於 NetWorker 的媒體資料庫記錄的檔和位元組總數,對於大多數用途來說,這通常可以預期足夠準確。在負載過重的 Data Domain 中,尤其是許多復原空間操作會針對磁碟區重複執行的狀況,這可以視為不必要的開支,且必須安全地停用。
skip_consistency_check_in_recover_space
- 存儲節點。在卷的空間恢復過程中,逐個檔檢查卷文件系統,以確保媒體資料庫之間的一致性;這也可能導致延遲。將此金鑰檔添加到每個節點將防止該節點刪除媒體資料庫中不存在相應記錄的存儲集檔,或將找不到任何檔的媒體資料庫記錄標記為“可疑”。請注意,這會阻止正常清理操作,應用於説明限定與恢復空間操作相關的延遲,並且不應長期禁用。
預設已導入更多詳細資訊記錄,導致整個儲存集路徑記錄到 NetWorker 伺服器上 的data_audit記錄中。在負載已經很重、許多/大量空間復原工作的情況下,此因素可能會導致回應遲鈍,特別是從遠端將資訊傳回 NetWorker 的儲存節點。若要停用此功能,請在 NetWorker 伺服器上提高這些記錄的記錄閾值:
# nsradmin
# nsradmin> show name; auditlog severity
# print type: nsr auditlog
將此更改限制為僅影響數據審核(如果需要),方法是通過包含特定實例的名稱將查詢細化為特定實例。跳過此步驟,將設定重新套用至每個:
# print type: nsr auditlog; name: servername_data_audit.raw
將閾值更改為一個或兩者都為「錯誤」,以停止記錄單個刪除 - 刪除仍記錄在伺服器的daemon.raw中。
# update auditlog severity: Error