Avamar:NetApp 的 NDMP 備份失敗,並顯示高記憶體使用率致命信號 11
Summary: 備份 NetApp 卷時,備份在初始化階段失敗。 當 avtar 嘗試從先前的備份讀取 inode.dir.map 時,由於記憶體使用率過高,它會以嚴重訊號 11 終止。
Symptoms
備份失敗症狀
當 avtar 嘗試從先前的備份讀取 inode.dir.map 時,NetApp 磁碟區的備份會在初始化階段失敗。備份會以嚴重訊號 11 終止。
NetApp 使用 inode 而不是檔名來記錄數據流中的檔。在檔案計數較大時,初始管理程序可能會用盡記憶體,因為預設情況下這是儲存 inode 映射的位置。
故障通常會在排定備份期間發生。手動備份通常會成功。
範例:已備份兩個磁碟區。較大的磁碟區 (>200 TB) 會在排定備份期間成功。較小的磁碟區 (~21 TB) 會使排定的備份失敗。手動執行時成功。
Avamar 說明文件提到限制為 2 億個檔案。此示例有 480M 個檔。
相關記錄訊息
2022-04-20 13:00:36 avndmp Info : [snapup-/plz/Images] NDMP: DUMP: Using inowalk incremental dump for Full Volume
2022-04-20 13:01:14 avndmp Info : [ctl_spawn] Process 5718 (/usr/local/avamar/bin/avtar) finished (code 176: fatal signal)
2022-04-20 13:01:14 avndmp Warning : [ctl_spawn] CTL workorder "9am-3pm-Images-165044985231#1" non-zero exit status 'code 176: fatal signal'
2022-04-20 13:01:16 avndmp Error : [snapup-/plz/Images] Premature end of child. Changing exitcode from 176 to 157
這並不表示有原因。
Avtar 記錄訊息
log 2022-04-20 13:00:43 avtar Info : Using backup #49 timestamp 2022-04-19 18:08:46 UTC label "mages-165044985231#0" as base for incremental backup
2022-04-20 13:00:43 avtar Info : - Establishing a connection via token to the Data Domain system with encryption (Connection mode: A:3 E:2).
2022-04-20 13:00:43 avtar Info : CDSF backup does not use asynchronous reading of NetApp stream. Disabling that feature.
2022-04-20 13:00:43 avtar Info : Reading inode.dir.map from previous backup
2022-04-20 13:01:14 avtar FATAL : Fatal signal 11 in pid 5718
2022/04/20-13:01:14.76035 [avtar] FATAL ERROR: uapp::handlefatal: Fatal signal 11
2022/04/20-13:01:14.76064 [avtar] ERROR: uapp::handlefatal: aborting program pid=5718, sig=11
2022-04-20 13:01:14 avtar FATAL : handlefatal: Aborting program with code 176, pid=5718, sig=11
Cause
問題的根本原因
造成此問題的原因是 inode 映射大於為映射分配的記憶體。
當它被讀入記憶體時,它會寫入超過分配的記憶體邊界,從而導致信號 11 致命錯誤消息。
這是因為備份的 inode 計數過高,導致為 inode 映射保留的記憶體區段溢位。
記錄中的錯誤訊息,例如「嚴重訊號 11」和「uapp::handlefatal:致命信號11“,表示程式由於記憶體溢出而遇到致命錯誤。
2022-04-20 13:01:14 avtar FATAL : Fatal signal 11 in pid 5718 2022/04/20-13:01:14.76035 [avtar] FATAL ERROR: uapp::handlefatal: Fatal signal 11 2022/04/20-13:01:14.76064 [avtar] ERROR: uapp::handlefatal: aborting program pid=5718, sig=11
Resolution
設定 avtar 以使用 inode 對應儲存裝置的磁碟。
因應措施是將 inode 對應儲存至磁碟檔案,而非記憶體。這會告訴 avtar,在讀取 inode 映射時,將它們存儲在磁碟上而不是記憶體中。這樣可以解決 SIG-11 記憶體問題。
有兩種方法可設定串流磁碟緩衝旗標,以設定 avtar 以將磁碟用於 inode 對應儲存。
方法 1:使用 Avamar Administrator 介面
轉到用戶端數據集,打開“按需備份選項”對話框,按兩下“更多選項”。備份命令列選項對話方塊隨即顯示。按一下更多。在輸入屬性中輸入 [avtar]stream-disk-buffer,在輸入屬性值欄位中選取 true。按一下新增圖示以新增屬性。
方法 2:使用 avtar.cmd
使用 UNIX 文字編輯器,在 /usr/local/avamar/var/CLIENT_NAME 的 NAS 用戶端 var 目錄中建立檔案avtar.cmd。如果檔案存在,請編輯現有檔案。在檔案中,在其自己的行中輸入以下標誌:
--stream-disk-buffer
驗證解決方案
設定串流磁碟緩衝區標誌後,請檢查avndmp.log和 avtar 記錄檔是否有任何與 inode 對應儲存相關的錯誤,以確認問題已成功解決。