1. 程式人生 > >解決 ZFS 儲存裝置問題

解決 ZFS 儲存裝置問題

解決 ZFS 儲存裝置問題

請檢視以下各節來解決缺少裝置、裝置被移除或發生故障等問題。

解決缺少裝置或裝置被移除的問題

如果裝置無法開啟,則它在 zpool status 輸出中顯示為 UNAVAIL狀態。此狀態表示在首次訪問池時 ZFS 無法開啟裝置,或者裝置自那時以來已變得不可用。如果裝置導致頂層虛擬裝置不可用,則無法訪問池中的任何內容。此外,池的容錯能力可能已受到損害。無論哪種情況,只需要將裝置重新附加到系統即可恢復正常操作。如果需要替換因發生故障而處於 UNAVAIL 狀態的裝置,請參見替換 ZFS 儲存池中的裝置

如果根池或映象的根池中的某個裝置狀態為 UNAVAIL,請參見以下參考資料:

例如,裝置出現故障後,可能會在 fmd 的輸出中看到類似於以下內容的訊息:

SUNW-MSG-ID: ZFS-8000-FD, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Thu Jun 24 10:42:36 PDT 2010
PLATFORM: SUNW,Sun-Fire-T200, CSN: -, HOSTNAME: daleks
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: a1fb66d0-cc51-cd14-a835-961c15696fcb
DESC: The number of I/O errors associated with a ZFS device exceeded
acceptable levels.  Refer to http://sun.com/msg/ZFS-8000-FD for more information.
AUTO-RESPONSE: The device has been offlined and marked as faulted.  An attempt
will be made to activate a hot spare if available. 
IMPACT: Fault tolerance of the pool may be compromised.
REC-ACTION: Run 'zpool status -x' and replace the bad device.

要檢視有關裝置問題和解決辦法的更詳細資訊,請使用 zpool status -x 命令。例如:

# zpool status -x
  pool: tank
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist for
        the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: http://www.sun.com/msg/ZFS-8000-2Q
  scan: scrub repaired 0 in 0h0m with 0 errors on Tue Sep 27 16:59:07 2011
config:

        NAME        STATE     READ WRITE CKSUM
        tank        DEGRADED     0     0     0
          mirror-0  DEGRADED     0     0     0
            c2t2d0  ONLINE       0     0     0
            c2t1d0  UNAVAIL      0     0     0  cannot open

errors: No known data errors

從此輸出中可以看到,裝置 c2t1d0 未正常執行。如果您確定該裝置有問題,請予以替換。

如有必要,可使用 zpool online 命令使替換的裝置聯機。例如:

# zpool online tank c2t1d0

如果 fmadm faulty 的輸出標識出了該裝置錯誤,請讓 FMA 知道裝置已被替換。例如:

# fmadm faulty
--------------- ------------------------------------  -------------- ---------
TIME            EVENT-ID                              MSG-ID         SEVERITY
--------------- ------------------------------------  -------------- ---------
Sep 27 16:58:50 e6bb52c3-5fe0-41a1-9ccc-c2f8a6b56100  ZFS-8000-D3    Major     

Host        : neo
Platform    : SUNW,Sun-Fire-T200        Chassis_id  : 
Product_sn  : 

Fault class : fault.fs.zfs.device
Affects     : zfs://pool=tank/vdev=c75a8336cda03110
                  faulted and taken out of service
Problem in  : zfs://pool=tank/vdev=c75a8336cda03110
                  faulted and taken out of service

Description : A ZFS device failed.  Refer to http://sun.com/msg/ZFS-8000-D3 for
              more information.

Response    : No automated response will occur.

Impact      : Fault tolerance of the pool may be compromised.

Action      : Run 'zpool status -x' and replace the bad device.

# fmadm repaired zfs://pool=tank/vdev=c75a8336cda03110

最後一步是確認裝置更換後的池正常執行。例如:

# zpool status -x tank
pool 'tank' is healthy

解決裝置被移除的問題

如果某個裝置已從系統中徹底刪除,則 ZFS 會檢測到該裝置無法開啟,並將其置於 REMOVED 狀態。這一刪除可能會導致整個池變得不可用,但也可能不會,具體取決於池的資料複製級別。如果映象裝置或 RAID-Z 裝置中的一個磁碟被刪除,仍可以繼續訪問池。在以下情況下,池可能會變為 UNAVAIL 狀態,即無法訪問資料,除非重新附加裝置:

  • 映象的所有元件都被刪除

  • RAID-Z (raidz1) 裝置中有一個以上裝置被刪除

  • 單磁碟配置中移除了頂層裝置

以物理方式重新附加裝置

重新附加缺少的裝置的具體方式取決於相關裝置。如果裝置是網路連線驅動器,則應該恢復與網路的連線。如果裝置是 USB 裝置或其他可移除介質,則應該將它重新附加到系統。如果裝置是本地磁碟,則控制器可能已出現故障,以致裝置對於系統不再可見。在這種情況下,應該替換控制器,以使磁碟重新可用。可能存在其他問題,具體取決於硬體的型別及其配置。如果驅動器出現故障,且對系統不再可見,則應該將該裝置視為損壞的裝置。按照更換或修復損壞的裝置中概述的過程進行操作。

如果裝置連線受到損害,池可能變為 SUSPENDED 狀態。在裝置問題得到解決之前,SUSPENDED 池一直處於 wait 狀態。例如:

# zpool status cybermen
  pool: cybermen
 state: SUSPENDED
status: One or more devices are unavailable in response to IO failures.
        The pool is suspended.
action: Make sure the affected devices are connected, then run 'zpool clear' or
        'fmadm repaired'.
    see: http://www.sun.com/msg/ZFS-8000-HC
  scan: none requested
config:

        NAME           STATE     READ WRITE CKSUM
        cybermen       UNAVAIL      0    16     0
            c8t3d0     UNAVAIL      0     0     0
            c8t1d0     UNAVAIL      0     0     0

當裝置連線恢復後,請清除池或裝置錯誤。

# zpool clear cybermen
# fmadm repaired zfs://pool=name/vdev=guid

將裝置可用性通知 ZFS

將裝置重新附加到系統後,ZFS 可能會也可能不會自動檢測其可用性。如果池先前為 UNAVAIL 或 SUSPENDED 狀態,或者在執行 attach 的過程中系統進行了重新引導,則 ZFS 在嘗試開啟該池時,會自動重新掃描所有裝置。如果在系統執行時池的效能降低且裝置已替換,則必須通知 ZFS 裝置現在是可用的並可以使用 zpool online 命令重新開啟。例如:

# zpool online tank c0t1d0

有關使裝置聯機的更多資訊,請參見使裝置聯機

更換或修復損壞的裝置

本節介紹如何確定裝置故障型別、清除瞬態錯誤和替換裝置。

確定裝置故障的型別

術語損壞的裝置相當含糊,它可以用來描述許多可能的情況:

  • 位損壞-隨著時間的推移,隨機事件(如電磁感應和宇宙射線)可能會導致儲存在磁碟上的位發生翻轉。這些事件相對少見,但是通常足以導致大系統或長時間執行的系統出現潛在的資料損壞。

  • 誤導的讀取或寫入-韌體已知問題或硬體故障可以導致整個塊的讀取或寫入引用磁碟上的不正確位置。這些錯誤通常是瞬態的,儘管大量此類錯誤可能指示驅動器有故障。

  • 管理員錯誤-管理員可能無意中用錯誤的資料覆蓋了部分磁碟(如在部分磁碟上覆制 /dev/zero),從而導致磁碟上出現永久性損壞。這些錯誤始終是瞬態的。

  • 臨時故障-磁碟可能在某段時間內變得不可用,從而導致 I/O 失敗。此情況通常與網路連線裝置相關聯,儘管本地磁碟也可能遇到臨時故障。這些錯誤可能是也可能不是瞬態的。

  • 劣質或不可靠的硬體-這種情況涵蓋故障硬體表現出來的所有各種問題,包括一致的 I/O 錯誤、故障傳輸導致隨機損壞或任何數量的故障。這些錯誤通常是永久性的。

  • 離線的裝置-如果裝置處於離線狀態,則假定是管理員因該裝置有故障而將它置於此狀態。將裝置置於此狀態的管理員可以確定此假定是否正確。

準確確定裝置的問題可能是一個很困難的過程。第一步是檢查 zpool status 輸出中的錯誤計數。例如:

# zpool status -v tank
  pool: tank
 state: ONLINE
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: http://www.sun.com/msg/ZFS-8000-8A
  scan: scrub in progress since Tue Sep 27 17:12:40 2011
    63.9M scanned out of 528M at 10.7M/s, 0h0m to go
    0 repaired, 12.11% done
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       2     0     0
          mirror-0  ONLINE       2     0     0
            c2t2d0  ONLINE       2     0     0
            c2t1d0  ONLINE       2     0     0

errors: Permanent errors have been detected in the following files:

        /tank/words

錯誤分為 I/O 錯誤與校驗和錯誤,這兩種錯誤都指示可能的故障型別。典型操作可預知的錯誤數非常少(在很長一段時間內只能預知幾個錯誤)。如果看到大量的錯誤,則此情況可能指示即將出現或已出現裝置故障。然而,管理員錯誤也可能導致錯誤計數較大。另一資訊源是 syslog 系統日誌。如果日誌顯示大量的 SCSI 或光纖通道驅動程式訊息,則此情況可能指示出現了嚴重的硬體問題。如果未生成 syslog 訊息,則損壞很可能是瞬態的。

目的是回答以下問題:

此裝置上是否可能出現另一錯誤?

僅出現一次的錯誤被認為是瞬態的,不指示存在潛在的故障。其永續性或嚴重性足以指明潛在硬體故障的錯誤被認為是致命的。由於確定錯誤型別的行為已超出當前可用於 ZFS 的任何自動化軟體的功能範圍,因此如此多的操作必須由您(即管理員)手動執行。在確定後,可以執行相應的操作。清除瞬態錯誤,或者替換出現致命錯誤的裝置。以下幾節將介紹這些修復過程。

即使裝置錯誤被認為是瞬態的,仍然可能導致池中出現了無法更正的資料錯誤。這些錯誤需要特殊的修復過程,即使認為底層裝置執行狀況良好或已進行修復也是如此。有關修復資料錯誤的更多資訊,請參見修復損壞的資料

清除瞬態裝置錯誤

如果認為裝置錯誤是瞬態的(因為它們不大可能影響裝置將來的執行狀況),則可以安全地清除裝置錯誤,以指示未出現致命錯誤。要將 RAID-Z 或映象裝置的錯誤計數器清零,請使用 zpool clear 命令。例如:

# zpool clear tank c1t1d0

此語法清除所有裝置錯誤,並清除與裝置關聯的任何資料錯誤計數。

要清除與池中虛擬裝置關聯的所有錯誤,並清除與池關聯的任何資料錯誤計數,請使用以下語法:

# zpool clear tank

有關清除池錯誤的更多資訊,請參見清除儲存池裝置錯誤

替換 ZFS 儲存池中的裝置

如果裝置損壞是永久性的,或者將來很可能出現永久性損壞,則必須替換該裝置。是否可以替換裝置取決於配置。

確定是否可以替換裝置

如果要替換的裝置是冗餘配置的一部分,則必須存在可以從其中檢索正確資料的足夠副本。例如,如果在一個四向映象中有兩個磁碟處於 UNAVAIL 狀態,則可以替換其中任何一個磁碟(因為有執行狀況良好的副本可用)。但是,如果四向 RAID-Z (raidz1) 虛擬裝置中有兩個磁碟為 UNAVAIL 狀態,則這兩個磁碟都不能替換,因為不存在可從其中檢索資料的足夠副本。如果裝置已損壞但處於聯機狀態,則只要池不處於 UNAVAIL 狀態就可以替換它。但是,除非存在包含正確資料的足夠副本,否則會將裝置上的任何損壞資料複製到新裝置。

在以下配置中,可以替換磁碟 c1t1d0,而且將從完好的副本 c1t0d0 複製池中的任何資料:

mirror            DEGRADED
    c1t0d0             ONLINE
    c1t1d0             FAULTED

雖然因沒有可用的正確副本而無法對資料進行自我修復,但還是可以替換磁碟 c1t0d0。

在以下配置中,無法替換任一 UNAVAIL 磁碟。也無法替換 ONLINE 磁碟,因為池本身為 UNAVAIL 狀態。

raidz              FAULTED
    c1t0d0             ONLINE
    c2t0d0             FAULTED
    c3t0d0             FAULTED
    c4t0d0             ONLINE

在以下配置中,儘管已將磁碟上存在的錯誤資料複製到新磁碟,但是任一頂層磁碟都可替換。

c1t0d0         ONLINE
c1t1d0         ONLINE

如果任一個磁碟為 UNAVAIL 狀態,則無法執行任何替換操作,因為池本身為 UNAVAIL 狀態。

無法替換的裝置

如果裝置缺失導致池變為 UNAVAIL 狀態,或者裝置在非冗餘配置中包含太多的資料錯誤,則無法安全地替換裝置。如果沒有足夠的冗餘,則不存在可用來恢復損壞裝置的正確資料。這種情況下,唯一的選擇是銷燬池並重新建立配置,然後從備份副本恢復資料。

有關恢復整個池的更多資訊,請參見修復 ZFS 儲存池範圍內的損壞

替換 ZFS 儲存池中的裝置

確定可以替換裝置後,可以使用 zpool replace 命令替換裝置。如果要用不同的裝置替換損壞的裝置,請使用類似以下的語法:

# zpool replace tank c1t1d0 c2t0d0

此命令將資料從損壞的裝置或從池中的其他裝置(如果處於冗餘配置中)遷移到新裝置。此命令完成後,將從配置中拆離損壞的裝置,此時可以將該裝置從系統中移除。如果已移除裝置並在同一位置中將它替換為新裝置,請使用命令的單裝置形式。例如:

# zpool replace tank c1t1d0

此命令接受未格式化的磁碟,適當地將它格式化,然後重新同步其餘配置中的資料。

有關 zpool replace 命令的更多資訊,請參見替換儲存池中的裝置

示例 10-1 替換 ZFS 儲存池中的 SATA 磁碟

以下示例展示瞭如何將系統上的映象儲存池 tank 中的裝置 (c1t3d0) 替換為 SATA 裝置。要在同一位置將磁碟 c1t3d0 替換為新磁碟 (c1t3d0),嘗試替換磁碟之前必須取消磁碟配置。如果要替換的磁碟不是 SATA 磁碟,則請參見替換儲存池中的裝置

基本步驟如下:

  • 使要替換的磁碟 (c1t3d0) 離線。您不能取消配置當前正在使用的 SATA 磁碟。

  • 使用 cfgadm 命令確定要取消配置的 SATA 磁碟 (c1t3d0) 並取消其配置。如果磁碟在此映象配置中離線,該池將降級,但該池將繼續可用。

  • 物理替換磁碟 (c1t3d0)。在物理移除 UNAVAIL 狀態的驅動器(如果有)之前,請確保藍色的 Ready to Remove(可以移除)LED 指示燈亮起。

  • 重新配置 SATA 磁碟 (c1t3d0)。

  • 使新磁碟 (c1t3d0) 聯機。

  • 執行 zpool replace 命令以替換磁碟 (c1t3d0)。

    注 - 如果先前將池屬性 autoreplace 設定為 on,則會自動對在先前屬於池的裝置的同一物理位置處找到的任何新裝置進行格式化和替換,而無需使用 zpool replace 命令。此功能可能並不是在所有硬體上都受支援。

  • 如果已使用熱備件自動替換了故障磁碟,則您可能需要在替換故障磁碟後分離該熱備件。例如,如果替換故障磁碟後,c2t4d0 仍為活動熱備件,則對其進行分離。

    # zpool detach tank c2t4d0
  • 如果 FMA 報告了有故障的裝置,您應當清除裝置故障。

    # fmadm faulty
    # fmadm repaired zfs://pool=name/vdev=guid

以下示例分步顯示了替換 ZFS 儲存池中的磁碟的過程。

# zpool offline tank c1t3d0
# cfgadm | grep c1t3d0
sata1/3::dsk/c1t3d0            disk         connected    configured   ok
# cfgadm -c unconfigure sata1/3
Unconfigure the device at: /devices/[email protected],0/pci1022,[email protected]/pci11ab,[email protected]:3
This operation will suspend activity on the SATA device
Continue (yes/no)? yes
# cfgadm | grep sata1/3
sata1/3                        disk         connected    unconfigured ok
<Physically replace the failed disk c1t3d0>
# cfgadm -c configure sata1/3
# cfgadm | grep sata1/3
sata1/3::dsk/c1t3d0            disk         connected    configured   ok
# zpool online tank c1t3d0
# zpool replace tank c1t3d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Tue Feb  2 13:17:32 2010
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
          mirror-2  ONLINE       0     0     0
            c0t3d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0

errors: No known data errors

請注意,上述 zpool output 可能會在 replacing 標題下顯示新磁碟和舊磁碟。例如:

replacing     DEGRADED     0     0    0
  c1t3d0s0/o  FAULTED      0     0    0
  c1t3d0      ONLINE       0     0    0

此文字表示替換過程正在進行,且新磁碟正在重新同步。

如果您打算將一個磁碟 (c1t3d0) 替換為另一個磁碟 (c4t3d0),則只需執行 zpool replace 命令。例如:

# zpool replace tank c1t3d0 c4t3d0
# zpool status
  pool: tank
 state: DEGRADED
 scrub: resilver completed after 0h0m with 0 errors on Tue Feb  2 13:35:41 2010
config:

        NAME             STATE     READ WRITE CKSUM
        tank             DEGRADED     0     0     0
          mirror-0       ONLINE       0     0     0
            c0t1d0       ONLINE       0     0     0
            c1t1d0       ONLINE       0     0     0
          mirror-1       ONLINE       0     0     0
            c0t2d0       ONLINE       0     0     0
            c1t2d0       ONLINE       0     0     0
          mirror-2       DEGRADED     0     0     0
            c0t3d0       ONLINE       0     0     0
            replacing    DEGRADED     0     0     0
              c1t3d0     OFFLINE      0     0     0
              c4t3d0     ONLINE       0     0     0

errors: No known data errors

磁碟替換完成之前,您可能需要多次執行 zpool status 命令。

# zpool status tank
  pool: tank
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Tue Feb  2 13:35:41 2010
config:

        NAME          STATE     READ WRITE CKSUM
        tank          ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            c0t1d0    ONLINE       0     0     0
            c1t1d0    ONLINE       0     0     0
          mirror-1    ONLINE       0     0     0
            c0t2d0    ONLINE       0     0     0
            c1t2d0    ONLINE       0     0     0
          mirror-2    ONLINE       0     0     0
            c0t3d0    ONLINE       0     0     0
            c4t3d0    ONLINE       0     0     0

示例 10-2 更換出現故障的日誌裝置

ZFS 在 zpool status 命令輸出中標識意圖日誌 (intent log) 故障。故障管理架構 (Fault Management Architecture, FMA) 也會報告這些錯誤。ZFS 和 FMA 都介紹如何從意圖日誌 (intent log) 故障中恢復。

以下示例說明如何從儲存池 (pool) 中出現故障的日誌裝置 (c0t5d0) 進行恢復。基本步驟如下:

# zpool status -x
  pool: pool
 state: FAULTED
status: One or more of the intent logs could not be read.
        Waiting for adminstrator intervention to fix the faulted pool.
action: Either restore the affected device(s) and run 'zpool online',
        or ignore the intent log records by running 'zpool clear'.
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        pool        FAULTED      0     0     0 bad intent log
          mirror    ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
        logs        FAULTED      0     0     0 bad intent log
          c0t5d0    UNAVAIL      0     0     0 cannot open
<Physically replace the failed log device>
# zpool online pool c0t5d0
# zpool clear pool

例如,如果系統在將同步寫操作提交給具有單獨日誌裝置的池之前突然關閉,您將會看到類似以下內容的資訊:

# zpool status -x
  pool: pool
 state: FAULTED
status: One or more of the intent logs could not be read.
        Waiting for adminstrator intervention to fix the faulted pool.
action: Either restore the affected device(s) and run 'zpool online',
        or ignore the intent log records by running 'zpool clear'.
 scrub: none requested
config:

        NAME          STATE     READ WRITE CKSUM
        pool          FAULTED      0     0     0 bad intent log
          mirror-0    ONLINE       0     0     0
            c0t1d0    ONLINE       0     0     0
            c0t4d0    ONLINE       0     0     0
        logs          FAULTED      0     0     0 bad intent log
          c0t5d0      UNAVAIL      0     0     0 cannot open
<Physically replace the failed log device>
# zpool online pool c0t5d0
# zpool clear pool
# fmadm faulty
# fmadm repair zfs://pool=name/vdev=guid

您可以通過以下方式解決日誌裝置故障:

  • 更換或恢復日誌裝置。在此示例中,日誌裝置是 c0t5d0。

  • 將日誌裝置重新聯機。

    # zpool online pool c0t5d0
  • 重置故障日誌裝置的錯誤狀態。

    # zpool clear pool

要從此錯誤中恢復而不更換故障日誌裝置,可以使用 zpool clear 命令清除該錯誤。在這種情況下,池將在降級模式下執行,並且日誌記錄將被寫入到主池,直到更換單獨的日誌裝置。

請考慮使用映象日誌裝置來避免日誌裝置故障情形。

檢視重新同步狀態

替換裝置這一過程可能需要很長一段時間,具體取決於裝置的大小和池中的資料量。將資料從一個裝置移動到另一個裝置的過程稱為重新同步,可以使用 zpool status 命令監視此過程。

傳統的檔案系統在塊級別上重新同步資料。由於 ZFS 消除了卷管理器的人為分層,因此它能夠以更強大的受控方式執行重新同步。此功能的兩個主要優點如下:

  • ZFS 僅重新同步最少量的必要資料。如果是短暫的斷電(而不是裝置替換),整個磁碟可以在幾分鐘或幾秒內重新同步。替換整個磁碟時,重新同步過程所用的時間與磁碟上所用的資料量成比例。如果只使用了池中幾 GB 的磁碟空間,則替換 500 GB 的磁碟可能只需要幾秒的時間。

  • 重新同步是可中斷的和安全的。如果系統斷電或者進行重新引導,則重新同步過程會準確地從它停止的位置繼續,而無需手動干預。

要檢視重新同步過程,請使用 zpool status 命令。例如:

# zpool status tank
  pool: tank
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress for 0h0m, 22.60% done, 0h1m to go
config:
        NAME                  STATE     READ WRITE CKSUM 
        tank             DEGRADED     0     0     0
          mirror-0       DEGRADED     0     0     0
            replacing-0  DEGRADED     0     0     0
              c1t0d0     UNAVAIL      0     0     0  cannot open
              c2t0d0     ONLINE       0     0     0  85.0M resilvered
            c1t1d0       ONLINE       0     0     0

errors: No known data errors

在本示例中,磁碟 c1t0d0 被替換為 c2t0d0。通過檢視狀態輸出的配置部分中是否顯示有 replacing ,可觀察到此替換虛擬裝置的事件。此裝置不是真正的裝置,不可能使用它建立池。此裝置的用途僅僅是顯示重新同步進度,以及確定被替換的裝置。

請注意,當前正進行重新同步的任何池都處於 ONLINE 或 DEGRADED 狀態,這是因為在重新同步過程完成之前,池無法提供所需的冗餘級別。雖然 I/O 始終是按照比使用者請求的 I/O 更低的優先順序排程的(以最大限度地減少對系統的影響),但是重新同步會盡可能快地進行。重新同步完成後,該配置將恢復為新的完整配置。例如:

# zpool status tank
  pool: tank
 state: ONLINE
 scrub: resilver completed after 0h1m with 0 errors on Tue Feb  2 13:54:30 2010
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0  377M resilvered
            c1t1d0  ONLINE       0     0     0

errors: No known data errors

池再次處於 ONLINE 狀態,而且原故障磁碟 (c1t0d0) 已從配置中刪除。