Zfs

如何清除已修復池中的 ZFS DEGRADED 狀態

  • December 3, 2020

在維護這個zpool幾年後,我遇到了第一個驅動器故障,所以我zpool replace用我的一個備件做了一個驅動器。重新同步陣列需要 60 個小時(如下所示),但它似乎已經完成了零錯誤。

問題是它仍然顯示 DEGRADED 狀態。輸出是:

# zpool status
 pool: sbn
state: DEGRADED
status: One or more devices could not be used because the label is missing or
   invalid.  Sufficient replicas exist for the pool to continue
   functioning in a degraded state.
action: Replace the device using 'zpool replace'.
  see: http://zfsonlinux.org/msg/ZFS-8000-4J
 scan: resilvered 1.07T in 60h9m with 0 errors on Fri Aug  7 01:15:41 2020
config:

   NAME                                   STATE     READ WRITE CKSUM
   sbn                                    DEGRADED     0     0     0
     raidz2-0                             DEGRADED     0     0     0
       ata-ST4000DM005-2DP166_ZDH1TP9H    ONLINE       0     0     0
       ata-ST4000DM005-2DP166_ZDH1TM7G    ONLINE       0     0     0
       ata-ST4000DM005-2DP166_ZDH1TLHP    ONLINE       0     0     0
       ata-ST4000DM005-2DP166_ZDH1TL8F    ONLINE       0     0     0
       ata-ST4000DM005-2DP166_ZDH1TNT8    ONLINE       0     0     0
       spare-5                            UNAVAIL      0     0     0
         15983766503331633058             UNAVAIL      0     0     0  was /dev/disk/by-id/ata-ST4000DM005-2DP166_ZDH1TNCF-part1
         ata-ST4000DM005-2DP166_ZDH1TW8L  ONLINE       0     0     0
       ata-ST4000DM005-2DP166_ZDH1TW63    ONLINE       0     0     0
       ata-ST4000DM005-2DP166_ZDH1TM4R    ONLINE       0     0     0
       ata-ST4000DM005-2DP166_ZDH1TLSG    ONLINE       0     0     0
       ata-ST4000DM005-2DP166_ZDH1TMAM    ONLINE       0     0     0
   spares
     ata-ST4000DM005-2DP166_ZDH1TW8L      INUSE     currently in use
     ata-ST4000DM005-2DP166_ZDH1TM17      AVAIL   

errors: No known data errors

我找不到任何解釋spare-5結構的文件,這些文件在我進行替換後出現​​。死驅動器顯示為15983766503331633058並且它將原始故障磁碟 ID 記住為ata-ST4000DM005-2DP166_ZDH1TNCF.

我該如何清理它,以便它再次使用 10 個乾淨的驅動器和一個可用的備用驅動器執行?

一段時間後,我找到了答案,結果發現故障驅動器需要從池中**分離出來。**在這種特定情況下,我做了:

zpool detach sbn ata-ST4000DM005-2DP166_ZDH1TNCF

請注意,驅動器 ID 取自上述zpool狀態中的“was”語句。完成此操作後,zpool狀態為乾淨並標記為 state: ONLINE。

希望這可以幫助處於類似情況的人。

您需要執行以下命令:

zpool clear sbn

這將清除與池中的虛擬設備關聯的所有錯誤,並清除與池關聯的所有數據錯誤計數。

來源:https ://docs.oracle.com/cd/E36784_01/html/E36835/gbbvf.html

引用自:https://serverfault.com/questions/1029371