Symptoms
Data Domain 顯示沒有過期的快照。這可以通過執行以下操作來驗證:
- 在 Avamar 工具節點上,執行
avmaint hfscreate
命令,並在 Avamar 格線前置字串 /data/col1/avamar-
如下:
範例:
avmaint hfscreate
1501099628
產生的 MTree 名稱: /data/col1/avamar-1501099628
- 從 Data Domain 中,取得與 Avamar MTree 相關聯的快照清單:
snapshot list mtree /data/col1/<avamar-mtree-name>
範例:
snapshot list mtree /data/col1/avamar-1501099628
Snapshot Information for MTree: /data/col1/avamar-1501099628
----------------------------------------------
Name Pre-Comp (GiB) Create Date Retain Until Status
----------------- -------------- ----------------- ------------ ------
cp.20170802130330 501241.1 Aug 2 2017 09:04
cp.20170802131127 501355.0 Aug 2 2017 09:11
cp.20170803120133 503440.7 Aug 3 2017 08:02
cp.20170803120726 503554.7 Aug 3 2017 08:07
cp.20170804120142 496207.0 Aug 4 2017 08:02
cp.20170804120836 496321.0 Aug 4 2017 08:09
cp.20170805130259 523295.5 Aug 5 2017 09:03
cp.20170805130955 523409.5 Aug 5 2017 09:10
cp.20170806130127 541524.5 Aug 6 2017 09:01
cp.20170806130719 541638.5 Aug 6 2017 09:07
cp.20170807130120 438037.9 Aug 7 2017 09:01
cp.20170807130712 438151.9 Aug 7 2017 09:07
----------------- -------------- ----------------- ------------ ------
Snapshot Summary
-------------------
Total: 12
Not expired: 12
Expired: 0
在 Avamar 的 DDR 維護記錄中可以看到下列事件
(/usr/local/avamar/var/ddrmaintlogs/ddrmaint.log*)
:
Aug 7 09:07:45 avamar ddrmaint.bin[122469]: Error: cp-delete::expire_checkpoint_snapshot - Failed to expire checkpoint: cp.20170806130719, ddr: dd.emc.com, ddr-index: 1, DDR result code: 5075, desc: the user has insufficient access rights
Aug 7 09:07:45 avamar ddrmaint.bin[122469]: Error: <4740>Datadomain checkpoint delete operation failed.
...
Aug 6 09:07:18 avamar ddrmaint.bin[176316]: Info: Data Domain configured in Stand-Alone mode.
Aug 6 09:07:18 avamar ddrmaint.bin[176316]: Info: cp-delete::execute_delete_cp - Deleting DDR Checkpoint for dpnid:<dpnid> on ddr:dd.emc.com cp: cp.20170805130259
Aug 6 09:07:18 avamar ddrmaint.bin[176316]: Info: Setting default storage unit to 'avamar-1501099628' for handle 1
Aug 6 09:07:18 avamar ddrmaint.bin[176316]: Warning: Calling DDR_EXPIRE_SNAPSHOT returned result code:5075 message:the user has insufficient access rights
Aug 6 09:07:18 avamar ddrmaint.bin[176316]: Error: cp-delete::expire_checkpoint_snapshot - Failed to expire checkpoint: cp.20170805130259, ddr: dd.emc.com, ddr-index: 1, DDR result code: 5075, desc: the user has insufficient access rights
Aug 6 09:07:18 avamar ddrmaint.bin[176316]: Error: <4740>Datadomain checkpoint delete operation failed.
Aug 6 09:07:18 avamar ddrmaint.bin[176316]: Info: ============================= cp-delete finished in 1 seconds
Aug 6 09:07:18 avamar ddrmaint.bin[176316]: Info: ============================= cp-delete cmd finished =============================
在 ddfs.info 檔案中可以看到下列事件
(/ddr/var/log/debug/ddfs.info*)
在 Data Domain 上:
08/07 08:01:06.322 (tid 0x7fe7037cd930): ddboost-<avamar.emc.com-37933>: ddboost_api ERROR: ddp_snapshot_expire() failed for SUName avamar-1501099628, snapshot: cp.20170802130330, retention: -1, flags: 0 Err: 5075-Update retention of snapshot [cp.20170802130330] on Storage Unit [avamar-1501099628(nfs: Operation not permitted)
10/11 11:19:55.468 (tid 0x7f27454a63f0): ddboost-<avamar.emc.com-60566>: test-avamar.dell.emc.com Local Time: Wed Oct 11 11:19:55 2017
10/11 11:19:55.471 (tid 0x7f2cd150e830): OST_FH_PERM FAIL on storage-unit=avamar-1501099628 op=NFSPROC3_DDP_LOOKUP[27] client=test-avamar.dell.emc.com uid=500:uid or gid does not match
09/26 09:17:46.762 (tid 0x7f60d7a08410): ddboost-<avamar.emc.com-37933>: ddboost_api ERROR: ddp_snapshot_list() failed, Err: 5009-Get snapshot list on Storage Unit [avamar-1501099628] failed (nfs: I/O error)
09/26 09:18:46.472 (tid 0x7f7e1ab92d50): ddboost-<avamar.emc.com-37933>: ddboost_api ERROR: ddp_snapshot_list() failed, Err: 5009-Get snapshot list on Storage Unit
Cause
特定儲存裝置的 DD Boost 使用者是在舊版 DDOS 中建立的,其中包含作業系統群組
users
,而不是
admin
。當 Avamar 第一次連線到 Data Domain 並建立儲存裝置時,便會發生這種情況,並設定類似以下的權限:
drwxr-xr-x 7 <ddboostuser> users 430 Apr 26 2016 <avamar-mtree-name>
從 DDOS 6.1.x 開始,某些儲存裝置作業 (例如刪除儲存裝置或使快照到期) 需要儲存裝置的擁有者
admin
群組 (而非
users
組)。
若情況並非如此,這些作業就會失敗,而且每天有兩個對應至 Avamar 檢查點的新 Data Domain 快照不會到期。
如果將與儲存裝置相關聯的 DD Boost 使用者變更為
admin
之後的角色。
注意:此問題目前僅已知會影響 Avamar,因為其他備份應用程式沒有檢查使用者群組和權限的作業。
Resolution
在 Data Domain 上執行下列動作,以檢查登錄檔設定:
- 取回 Avamar
DDBoost user
ddboost storage-unit show
Name Pre-Comp (GiB) Status User Report Physical
Size (MiB)
----------------- -------------- ------ --------------- ---------------
avamar-1501099628 10808220.0 RW ddboost-avamar -
d025 457051.7 RW ddboost-avamar -
rman_dd 240902.7 RW ddboost-rman -
mssql 142474.8 RW ddboost-avamar -
----------------- -------------- ------ --------------- ---------------
從此輸出中,Avamar DD Boost 使用者 ddboost-avamar
。
- 擷取並記下 DD Boost 使用者的使用者 ID (UID):
user show list
範例:
User list from node "localhost".
Name Uid Role Last Login From Last Login Time Status Disable Date
-------- --- ----- --------------- ------------------------ ------- ------------
sysadmin 100 admin 10.10.40.59 Tue Oct 10 14:44:52 2017 enabled never
ddboost-avamar 500 admin 10.10.40.55 Wed Oct 11 11:07:49 2017 enabled never
-------- --- ----- --------------- ------------------------ ------- ------------
2 users found.
在此例項中,UID 為 500 (但可能會有所不同)。
- 執行下列命令以檢查登錄檔設定:
reg show protocol.ost
系統管理員群組的群組 ID (GID) 為 50,而使用者群組的群組 ID 為 100 (請勿與 sysadmin 的 UID 100 混淆)
登錄檔設定不正確的範例 (群組 ID 為 100):
reg show protocol.ost
...
protocol.ost.stu_user.<avamar-mtree-name>= 500:100
protocol.ost.uid500:100 = <ddboostusername>
protocol.ost.user.<ddboostusername> = 500:100
...
如果設定不正確 (其中 GID 設為 100),請參考此知識文章
建立服務要求。
然後可以查看、驗證和解決問題。
Affected Products
Avamar
Products
Avamar, Avamar Server, Data Domain