PowerScale:Smartsync 的 SYNCIQ 原則移轉錯誤,適用於一對多或串聯複製
Summary: 遷移因兩個錯誤而受阻:一個是源快照與最新快照不匹配,另一個是比最新快照舊。由於扇出或級聯設置不匹配。
Symptoms
SmartSync 的 SyncIQ 原則遷移失敗,並出現兩個錯誤之一:
Error Message: Migration blocked: Source record snapshot (<snapshot-id>) does not match latest dataset snapshot (<snapshot-id>) for the source basepath (<source-base-path>). This source basepath may act as a target for an existing SmartSync policy. Hence, the SIQ policy migration can't proceed unless the two snapshots are identical. Start the SIQ policy to match the latest dataset snapshot (<snapshot-id>) in source.Error Message: Migration blocked: Source record snapshot (<snapshot-id>) is older than the snapshot (<snapshot-id>) associated with the latest dataset (<dataset details>) for the source basepath (<source-base-path>). Replicate to the latest snapshot or above to proceed with the SIQ policy migration.
Cause
當來源基路徑具有預先存在的資料集,且已由 SmartSync 標記為目標資料集時,會發生錯誤 1。而 SyncIQ 原則的來源記錄所用於遷移的相關聯快照,與特定來源基本路徑的最新資料集所使用的快照不同。
當源基路徑具有預先存在的數據集,而這些數據集未被 SmartSync 標記為目標數據集時,會發生錯誤 2。而 SyncIQ 原則的來源記錄所用於遷移的相關聯快照,不會大於或等於最新資料集用於特定來源基本路徑的快照。
Resolution
如果已發生錯誤,請前往復原步驟一節。
事前遷移步驟
在遷移作業中已經出現錯誤之前採取的預防措施。開始遷移工作前,請執行以下步驟,以避免上述錯誤發生:
扇出組態 (A → B + A → C)
-
第 1 步: 識別您的 SyncIQ 原則 Documentum 互動式交付服務。例如:
- 原則 A → B:
# isi sync policies view <pol_a_b> | head -2 - 原則 A → C:
# isi sync policies view <pol_a_c> | head -2
- 原則 A → B:
-
步驟 2:集群 A 上的源記錄目錄:
# cd /ifs/.ifsvar/modules/tsm/config/source_records/ -
第 3 步: 列出並檢視對應於每個原則 ID 的 XML 檔案,並記下 latest-snap-id 值:
-
檢查 A→B 快照 (在下一步中,產生的 ID 將是 AX):
# grep '<latest-snap-id>' <pol_a_b_ID>.xml -
檢查 A→C 快照 (在下一步中,產生的 ID 將為 AY):
# grep '<latest-snap-id>' <pol_a_c_ID>.xml
-
-
第 4 步: 比較 latest-snap-id 的值。先使用較舊 (較低) 最新的快照 ID 遷移原則:
如果 A 至 B 快照 (AX) 比 A 到 C 快照 (AY) 舊,例如:AX = snapID 100、AY = snapID150。
然後先將 A 策略遷移到 B。
如果 A 至 C 快照 (AY) 比 A 至 B 快照 (AX) 舊,例如:AX = snapID 150、AY = snapID100。
然後先將 A 遷移至 C 原則。
如果兩個策略使用相同的快照,例如:AX = 100、AY = 100。
任一原則都可以先遷移。第二次原則遷移會重複使用資料集。
連結 (階層式) 組態 (A → B → C)
-
同步應完全完成,確保策略鏈結中涉及的所有集群都反映相同的數據。
-
先停用鏈結中的所有 SyncIQ 原則,再繼續移轉。這可防止在遷移過程中觸發任何新的增量 SyncIQ 工作。例如,在 A→B→C 鏈中,禁用 A→B 和 B→C 策略。
-
重要: 遷移必須始終從根(源)群集開始。對於任何中間叢集 (例如 3 叢集設定中的 B),其來源基路徑也是另一個 SmartSync 原則目標的所有原則,都必須使用相同 (相同) 的快照作為該基路徑的最新資料集。如果快照不相符,遷移工作將會暫停 (不會永久封鎖)。下方「復原步驟」一節中新增的復原步驟。
在遷移連結的策略之前,請確保 B→C SyncIQ 策略使用基於快照的同步,該同步與群集 B 上的 A→B 策略生成的快照模式相同。這可確保兩個策略在中繼群集上共用相同的快照基線。
-
如果 B→C SyncIQ 原則最初並未使用快照型同步進行設定,請使用下列步驟在遷移前予以更新:
-
第 1 步: 確認 A→B 原則會建立歸檔目標快照 (目標快照歸檔:應顯示為是),以及預設命名模式 SIQ-* 以外的命名模式。
# isi sync policies view pol_wJ9n-a2b | grep -E "Target Snapshot Archive|Target Snapshot Pattern" Target Snapshot Archive: No Target Snapshot Pattern: SIQ-%{SrcCluster}-%{PolicyName}-%Y-%m-%d_%H-%M-%S如您在上述範例中所注意到的,「目標快照歸檔」設定為「No」,而模式是預設模式,前置詞為 SIQ-*。
-
第 2 步: 修改 A→ B 原則,以建立具有不同模式的歸檔快照,而不是預設模式:
# isi sync policies modify <A_to_B_policy> --target-snapshot-archive True --target-snapshot-pattern 'snapB-%{PolicyName}-%Y-%m-%d'
# isi sync policies view pol_wJ9n-a2b | grep -E "Target Snapshot Archive|Target Snapshot Pattern" Target Snapshot Archive: Yes Target Snapshot Pattern: snapB-%{PolicyName}-%Y-%m-%d -
第 3 步: 修改 B→C 原則以使用 --schedule=when-snapshot-taken:
# isi sync policies modify <B_to_C_policy> --schedule=when-snapshot-taken -
第 4 步: 觸發 A→B 原則的工作,以確保 B→C 原則跟上它並重複使用 A-B> 建立的歸檔快照;您可以執行 reports 命令來驗證。
# isi sync job start <A_to_B_policy>
# isi sync reports list等待 A→B 策略的作業完成,進而觸發 B→C 策略的作業。當兩個工作完成後,使用下列命令驗證 B→C 的最新工作是否重複使用由 A→B 原則最新執行建立的歸檔快照:
# cat /ifs/.ifsvar/modules/tsm/config/target_records/<A_to_B_policy_Id>.xml | grep latest-archive-snap
<latest-archive-snap-alias>621</latest-archive-snap-alias>
<latest-archive-snap>625</latest-archive-snap>
# cat /ifs/.ifsvar/modules/tsm/config/source_records/<B_to_C_policy_Id>.xml | grep latest-snap-id
<latest-snap-id>625</latest-snap-id>
<restore-latest-snap-id>0</restore-latest-snap-id>如上所述,B→ C 原則的最新快照 ID 與 A→ B 的最新歸檔快照相同。這是鏈式原則遷移成功完成的狀態。
-
復原遷移步驟
如果已嘗試遷移,並且遷移作業處於暫停狀態,請按照以下恢復步驟操作:
扇出組態
當 SyncIQ 原則遷移工作失敗並顯示錯誤時,對應的 SyncIQ 原則會重新啟用。緩解步驟包括:
- 步驟 1:執行 SyncIQ 原則以跟上進度:
# isi sync job start <policy-name> - 步驟 2:等待新作業執行成功完成並顯示在報告輸出中:
# isi sync reports list --policy-name <policy-name> - 步驟 3:恢復已暫停的 SmartSync 遷移工作:
# isi dm jobs resume <job_id>
鏈式 (級聯) 組態
當 SyncIQ 原則遷移工作失敗並顯示錯誤時,對應的 SyncIQ 原則會重新啟用。緩解步驟包括:
- 第 1 步: 使用命令修改 SyncIQ 原則:
# isi sync policies modify <B_to_C_policy> --schedule=when-snapshot-taken - 第 2 步: 使用命令執行 A-B> 智慧同步原則 (假設已遷移上游原則):
# isi dm policies modify <policy_name> --run-now=yes
它會自動使快照與源基路徑上的最新數據集快照同步。 - 第 3 步: 使用以下命令繼續遷移工作:
# isi dm jobs resume <job_id>