Isilon:SyncIQ 容錯移轉和故障復原的 CLI 步驟是什麼
Summary: 執行政策的容錯移轉-故障復原 (FOFB) 的 CLI 步驟。
Symptoms
SyncIQ 容錯移轉和故障復原的 CLI 步驟是什麼?
UI 程序具有逐步指南,是否有類似的 CLI 指南?
Cause
執行 FOFB 的詳細步驟
Resolution
容錯移轉和故障復原的 CLI 指南:
- PowerScale OneFS 9.5.0.0 CLI 管理指南
第 271 頁 (9.5) - PowerScale OneFS 9.7.0.0 CLI 管理指南
第 288 頁 (9.7) - PowerScale OneFS 9.8.0.0 CLI 管理指南
第 295 頁 9.8 - PowerScale OneFS 9.9.0.0 CLI 管理指南
第 296 頁 9.9 - PowerScale OneFS 9.10.0.0 CLI 管理指南
第 299 頁 9.10
雖然上述文件提供一些很好的資訊,但在使用 CLI 執行容錯移轉和故障復原時,下列步驟會更為詳細。
下列步驟使用 SyncIQ 術語來表示這兩個術語:
- 來源叢集 = 主要叢集
- 目標叢集 = 次要叢集
容錯移轉:
-
在主要叢集,如果這是叢集首次嘗試容錯移轉,請考慮提前幾天或幾週執行
domainmark如果這是叢集的第一次容錯移轉嘗試,請提前幾天或幾週完成工作。如果資料集很大,則有助於在加速domainmark工作階段上節省時間。注意:新的「加速故障復原」選項可移除此步驟。此步驟「僅」能執行一次。一旦標記,未來domainmark作業是(請參閱下面的步驟 7)無操作。# isi job jobs start domainmark --root=<path> --dm-type=synciq
這會提前以適當的保護網域 ID 標記每個 LIN,而非讓容錯移轉工作執行所有工作 (請參閱步驟 7)。可使用
domainmark根據資料集的大小而定,工作可能需要很長的時間。 -
停止所有寫入主要原則路徑的內容。
注意:從此步驟開始發生之後,對主要政策路徑的寫入不會保留,進而導致可能發生的 DL。確認主要路徑上對該路徑的所有寫入均已停止。 -
在主要叢集上備份政策排程,然後將政策設為手動以停用所有排程。
若要儲存排程的備份複製:
# cat /ifs/.ifsvar/modules/tsm/config/siq-policies.gc|egrep 'common.name|schedule ' >> /ifs/.ifsvar/modules/tsm/config/policy-schedules.txt
然後將政策設為手動以停用所有排程。
注意:根據設計,同步工作和容錯移轉工作不能同時執行,這會導致容錯移轉嘗試失敗。若要避免此狀況,請將所有政策設定為手動。# isi sync policies modify --policy=[POLICY] --schedule=""
-
在主要叢集執行最後一個同步工作,並確認該工作已成功完成。
注意:僅當測試 FOFB 功能時,才建議執行此步驟。如果主要叢集已遇到失敗事件,且次要叢集已設為允許寫入,則請勿執行此步驟。# isi sync jobs start [POLICY]
執行此命令以確認是否成功完成:
# isi sync reports list --reports-per-policy=1 *Confirm the End time and State=finished
在主要叢集執行最後一個同步工作。
# isi sync jobs start [POLICY]
-
在輔助群集上,執行“允許寫入”操作,並驗證本地作業是否完成該操作。
# isi sync recovery allow-write --policy-name=[POLICY] # isi sync target list Name Source Target Path Last Job State FOFB State ----------------------------------------------------------------------------------- qtestsync primary_clust /ifs/data/siq_quota_test finished writes_enabled ----------------------------------------------------------------------------------- Total: 1注意:視需要在兩個叢集上反向 SmartLock 目錄設定。
https://infohub.delltechnologies.com/en-us/l/dell-powerscale-smartlock-best-practices/synciq/ -
將用戶端 (SMB、NFS、HTTP、FTP 等) 重新導向至次要叢集
注意:此步驟的細節超出本文的範圍,並需要建立 SMB 共用、加入 Active Directory Domain、匯出機器帳戶、SPN、NFS、重新導向 SmartConnect DNS 以及新增驗證提供者。 -
先在兩個叢集上建立復原快照,再繼續執行 resync-prep
在來源上
# isi snapshot snapshots create --path=[SOURCE_PATH] --name=SIQ-recovery-policy-[POLICY_NAME] --expires=2W
在目標上
# isi snapshot snapshots create --path=[TARGET_PATH] --name=SIQ-recovery-policy-[POLICY_NAME] --expires=2W
-
在主集群上,使用準備重新同步執行故障轉移作業,並確認resync_prep_finalize階段已完成。
# isi sync recovery resync-prep --policy-name=[POLICY] # isi sync reports list --policy-name=qtestsync --sort job_id Policy Name Job ID Start Time End Time Action State --------------------------------------------------------------------------------------------- qtestsync 1 2015-02-11T08:31:27 2015-02-11T08:31:34 run finished qtestsync 2 2015-02-11T08:41:19 2015-02-11T08:41:31 resync_prep finished qtestsync 3 2015-02-11T08:41:31 2015-02-11T08:41:34 resync_prep_domain_mark finished qtestsync 4 2015-02-11T08:41:34 2015-02-11T08:41:42 resync_prep_restore finished qtestsync 5 2015-02-11T08:41:42 2015-02-11T08:41:45 resync_prep_finalize finished
故障復原
ls -l /ifs/.ifsvar/modules/tsm/config/source_records/7da67596f099b75ad687a05f6b11781d*
-
可以執行次要叢集上的新 [POLICY]_mirror 政策,以開始同步回到主要叢集。
# isi sync jobs start --policy-name=[POLICY]_mirror
-
停止所有寫入次要原則路徑。
注意:從此步驟開始發生之對次要政策路徑的寫入不會保留,進而導致可能發生的 DL。確認對輔助資料庫上該路徑的所有寫入均已停止。 -
將政策設為手動以停用所有排程。
# isi sync policies modify --policy=[POLICY]_mirror --schedule=""
-
在次要叢集執行最後一個同步工作
# isi sync jobs start --policy-name=[POLICY]_mirror
-
在主集群上,執行“允許寫入”操作,並驗證本地作業是否完成該操作。
# isi sync recovery allow-write --policy-name=[POLICY]_mirror # isi sync target list Name Source Target Path Last Job State FOFB State ----------------------------------------------------------------------------------- qtestsync_mirror secondary_clust /ifs/data/siq_quota_test finished writes_enabled ----------------------------------------------------------------------------------- Total: 1
注意:視需要在兩個叢集上反向 SmartLock 目錄設定。
https://infohub.delltechnologies.com/en-us/l/dell-powerscale-smartlock-best-practices/synciq/ -
將用戶端 (SMB、NFS、HTTP、FTP 等) 重新導向至主要叢集
注意:此步驟的細節超出本文的範圍,並需要建立 SMB 共用、NFS 匯出,以及重新導向 SmartConnect DNS。 -
先在兩個叢集上建立復原快照,再繼續執行 resync-prep
在來源上
# isi snapshot snapshots create --path=[SOURCE_PATH] --name=SIQ-recovery-policy-[POLICY_NAME] --expires=2W
在目標上
# isi snapshot snapshots create --path=[TARGET_PATH] --name=SIQ-recovery-policy-[POLICY_NAME] --expires=2W
-
在次要叢集上,使用準備重新同步執行故障復原工作,並確認resync_prep_finalize成功
# isi sync recovery resync-prep --policy-name=[POLICY]_mirror # isi sync reports list --policy-name=[POLICY]_mirror --sort job_id --reports-per-policy=5 Policy Name Job ID Start Time End Time Action State --------------------------------------------------------------------------------------------- qtestsync_mirror 1 2015-02-12T08:31:27 2015-02-12T08:31:34 run finished qtestsync_mirror 2 2015-02-12T08:41:19 2015-02-12T08:41:31 resync_prep finished qtestsync_mirror 3 2015-02-12T08:41:31 2015-02-12T08:41:34 resync_prep_domain_mark finished qtestsync_mirror 4 2015-02-12T08:41:34 2015-02-12T08:41:42 resync_prep_restore finished qtestsync_mirror 5 2015-02-12T08:41:42 2015-02-12T08:41:45 resync_prep_finalize finished
次要叢集現在為唯讀,且次要 [POLICY]_mirror 政策已停用。
注意:請勿刪除任何鏡射政策。 -
現已啟用主要叢集上的原始政策。使用容錯移轉步驟 3 中的備份檔案還原政策排程。
在主要叢集上:
檢視已儲存的政策排程複製:# cat /ifs/.ifsvar/modules/tsm/config/policy-schedules.txt
修復政策排程:
# isi sync policies modify --policy=[POLICY] --schedule=[schedule]
- 在原始的輔助資料庫上,故障復原成功後,將保留 SIQ-mirrorpolID-latest<> 快照。手動清理 SIQ-mirrorpolID-latest<> 快照,以避免 COW 寫入次要快照上的任何現有快照。
# isi snapshot snapshots list ID Name Path ----------------------------------------------------------------------- 16 SIQ-recovery-policy-Test /ifs/data/failovertest 18 SIQ-005056ac0655f7f5e267a71dae70c997-latest /ifs/data/failovertest <-- pol_mirror-latest 24 SIQ-ps9715x1-Test-2025-03-25_19-20-52 /ifs/data/failovertest ----------------------------------------------------------------------- Total: 3 # isi snapshot snapshots delete --id=<id>
Additional Information
以下為容錯移轉和故障復原後,忽略次要叢集上變更的測試步驟範例。除了鏡射政策僅以重新同步準備執行,而非以從次要叢集到主要叢集的一般同步工作執行,因此變更不會傳回主要叢集之外,其他皆遵循相同的步驟。確保在前往下一個步驟之前已完成每個步驟。
容錯移轉:
-
在主要叢集,如果這是叢集首次嘗試容錯移轉,請考慮提前幾天或幾週執行
domainmark如果這是叢集的第一次容錯移轉嘗試,請提前幾天或幾週完成工作。如果資料集很大,則有助於在加速domainmark工作階段上節省時間。注意:這僅對首次容錯移轉嘗試有所助益。後續的容錯移轉嘗試無法再從中受益。# isi job jobs start domainmark --root=<path> --dm-type=synciq
這會提前以適當的保護網域 ID 標記每個 LIN,而非讓容錯移轉工作執行所有工作 (請參閱步驟 7)。可使用
domainmark根據資料集的大小而定,工作可能需要很長的時間。 -
停止所有寫入主要原則路徑的內容。
注意:從此步驟開始發生之後,對主要政策路徑的寫入不會保留,進而導致可能發生的 DL。請向客戶確認主要叢集上所有對該路徑的寫入均已停止。 -
在主要叢集上備份政策排程,然後將政策設為手動以停用所有排程。
若要儲存排程的備份複製:
# cat /ifs/.ifsvar/modules/tsm/config/siq-policies.gc|egrep 'common.name|schedule ' >> /ifs/.ifsvar/modules/tsm/config/policy-schedules.txt
然後將政策設為手動以停用所有排程。
注意:根據設計,同步工作和容錯移轉工作不能同時執行,這會導致容錯移轉嘗試失敗。若要避免此狀況,請將所有政策設定為手動。# isi sync policies modify --policy=[POLICY] --schedule=""
-
在主要叢集執行最後一個同步工作,並確認該工作已成功完成。
注意:只有在您要測試 FOFB 功能時,才建議執行此步驟。如果主要叢集已遇到失敗事件,且次要叢集已設為允許寫入,則請勿執行此步驟。# isi sync jobs start [POLICY]
執行此命令以確認是否成功完成:
# isi sync reports list --reports-per-policy=1 *Confirm the End time and State=finished
在主要叢集執行最後一個同步工作。
# isi sync jobs start [POLICY]
-
在輔助群集上,執行“允許寫入”操作,並驗證本地作業是否完成該操作。
# isi sync recovery allow-write --policy-name=[POLICY] # isi sync target list Name Source Target Path Last Job State FOFB State ----------------------------------------------------------------------------------- qtestsync primary_clust /ifs/data/siq_quota_test finished writes_enabled ----------------------------------------------------------------------------------- Total: 1
-
將用戶端 (SMB、NFS、HTTP、FTP 等) 重新導向至次要叢集
注意:此步驟的細節超出本文的範圍,並需要建立 SMB 共用、加入 Active Directory Domain、匯出機器帳戶、SPN、NFS、重新導向 SmartConnect DNS 以及新增驗證提供者。 -
在主要叢集上使用準備重新同步來執行容錯移轉工作,並確認 resync_prep_finalize 階段已完成。
# isi sync recovery resync-prep --policy-name=[POLICY]
# isi sync reports list --policy-name=qtestsync --sort job_id Policy Name Job ID Start Time End Time Action State --------------------------------------------------------------------------------------------- qtestsync 1 2015-02-11T08:31:27 2015-02-11T08:31:34 run finished qtestsync 2 2015-02-11T08:41:19 2015-02-11T08:41:31 resync_prep finished qtestsync 3 2015-02-11T08:41:31 2015-02-11T08:41:34 resync_prep_domain_mark finished qtestsync 4 2015-02-11T08:41:34 2015-02-11T08:41:42 resync_prep_restore finished qtestsync 5 2015-02-11T08:41:42 2015-02-11T08:41:45 resync_prep_finalize finished
故障復原
如果您不想要將變更傳送回主要裝置以進行測試,請跳過步驟 1 和 4 (下方移除)。
可以執行次要叢集上的新 [POLICY]_mirror 政策,以開始同步回到主要叢集。
-
停止所有寫入次要原則路徑。
-
將政策設為手動以停用所有排程。
# isi sync policies modify --policy=[POLICY]_mirror --schedule=""
-
在主集群上,執行“允許寫入”操作,並驗證本地作業是否完成該操作。
# isi sync recovery allow-write --policy-name=[POLICY]_mirror # isi sync target list Name Source Target Path Last Job State FOFB State ----------------------------------------------------------------------------------- qtestsync_mirror secondary_clust /ifs/data/siq_quota_test finished writes_enabled ----------------------------------------------------------------------------------- Total: 1
-
將用戶端 (SMB、NFS、HTTP、FTP 等) 重新導向至主要叢集
注意:此步驟的細節超出此 KB 的範圍,並需要建立 SMB 共用、NFS 匯出,以及重新導向 SmartConnect DNS。 -
在次要叢集上使用準備重新同步來執行故障復原工作,並確認 resync_prep_finalize 已成功
# isi sync recovery resync-prep --policy-name=[POLICY]_mirror # isi sync reports list --policy-name=qtestsync_mirror --sort job_id Policy Name Job ID Start Time End Time Action State --------------------------------------------------------------------------------------------- qtestsync_mirror 1 2015-02-12T08:31:27 2015-02-12T08:31:34 run finished qtestsync_mirror 2 2015-02-12T08:41:19 2015-02-12T08:41:31 resync_prep finished qtestsync_mirror 3 2015-02-12T08:41:31 2015-02-12T08:41:34 resync_prep_domain_mark finished qtestsync_mirror 4 2015-02-12T08:41:34 2015-02-12T08:41:42 resync_prep_restore finished qtestsync_mirror 5 2015-02-12T08:41:42 2015-02-12T08:41:45 resync_prep_finalize finished
次要叢集現在為唯讀,且次要 [POLICY]_mirror 政策已停用。
注意:請勿刪除任何鏡射政策。 -
現已啟用主要叢集上的原始政策。使用容錯移轉步驟 3 中的備份檔案還原政策排程。在主要叢集上:
檢視已儲存的政策排程複製:
# cat /ifs/.ifsvar/modules/tsm/config/policy-schedules.txt
修復政策排程:
# isi sync policies modify --policy=[POLICY] --schedule=[schedule]