使用 CLI 驗證和修復鏡映磁區副本

您可以從指令行介面 (CLI) 中使用 repairvdiskcopy 指令來驗證和修復鏡映磁區副本。

小心: 僅當所有磁區副本都已同步時,才能執行 repairvdiskcopy 指令。

發出 repairvdiskcopy 指令時,只能使用 -validate-medium-resync 參數其中之一。您還必須指定要驗證和修復的磁區的名稱或 ID,作為指令行的最後一項。發出指令後不會顯示任何輸出。

-validate
只有在想要驗證鏡映磁區副本是否相同時,才使用此參數。如果發生任何差異,該指令會停止並記載錯誤,其中包含第一個差異的邏輯區塊位址 (LBA) 及長度。 可以使用此參數(每次都從不同 LBA 開始)來計算磁區上的差異數。
-medium
使用此參數可將所有磁區副本上包含不同內容的分割磁區轉換成虛擬媒體錯誤。完成後,該指令會記載事件,其中指出發現的差異數、已轉換成媒體錯誤的差異數,以及未轉換的差異數。如果您不確定正確的資料是什麼,但也不想使用錯誤版本的資料,請使用此選項。
-resync
使用此參數可用指定之主要磁區副本中的內容來改寫另一個磁區副本。該指令會從主要副本中將任何差異分割磁區複製到要比較的副本,以更正這些分割磁區。完成後,該指令程序會記載事件,其中指出已更正的差異數。如果您確定主要磁區副本資料正確,或主機應用程式可處理不正確的資料,請使用此動作。
-startlba lba
(選擇性)使用此參數來指定要開始驗證和修復的起始邏輯區塊位址 (LBA)。 如果先前使用 validate 參數,則會記載發現第一個差異(如果有的話)的 LBA 錯誤。 對該 LBA 重新發出 repairvdiskcopy,以避免重新處理比較結果相同的起始分割磁區。 使用此參數來繼續重新發出 repairvdiskcopy,以列出所有差異。
發出下列指令來驗證及(必要的話)自動修復指定之磁區的鏡映副本:
repairvdiskcopy -resync -startlba 20 vdisk8
附註:
  1. 每次只能對磁區執行一個 repairvdiskcopy 指令。
  2. 啟動 repairvdiskcopy 指令之後,不能使用該指令來停止處理。
  3. 在執行 repairvdiskcopy -resync 指令時,無法變更鏡映磁區的主要副本。
  4. 如果只有一個鏡映副本,該指令會立即傳回錯誤。
  5. 如果要比較的副本變成離線,該指令會暫停並傳回錯誤。當副本重回線上時,該指令不會自動回復。
  6. 如果一個副本可讀,但另一個副本發生媒體錯誤,該指令程序會寫入從另一個副本讀取的資料,以自動試圖修正媒體錯誤。
  7. 如果 repairvdiskcopy 處理期間找不到任何差異分割磁區,則程序結束時會記載參考資訊錯誤。

使用 CLI 檢查磁區副本的驗證和修復進度

請利用 lsrepairvdiskcopyprogress 指令來顯示鏡映磁區驗證和修復的進度。 您可以使用 -copy id 參數來指定磁區副本。如果要顯示的磁區有兩個以上的副本具有作用中的作業,則在指令中不要指定任何參數;不可能只有一個磁區副本有作用中作業。

如果要檢查鏡映磁區的驗證和修復進度,請發出下列指令:
lsrepairvdiskcopyprogress –delim :
下列範例顯示指令輸出的顯示方式:
vdisk_id:vdisk_name:copy id:task:progress:estimated_completion_time
0:vdisk0:0:medium:50:070301120000
0:vdisk0:1:medium:50:070301120000