Raid

Zpool 磁碟故障 - 我在哪裡?

  • November 24, 2012

今天檢查了我的一個 zpool 的狀態後,我遇到了以下問題:

root@server: zpool status -v myPool


pool: myPool
state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
       attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
       using 'zpool clear' or replace the device with 'zpool replace'.
  see: http://www.sun.com/msg/ZFS-8000-9P
scrub: resilver completed after 3h6m with 0 errors on Tue Sep 28 11:15:11 2010
config:

       NAME           STATE     READ WRITE CKSUM
       myPool         ONLINE       0     0     0
         raidz1       ONLINE       0     0     0
           c6t7d0     ONLINE       0     0     0
           c6t8d0     ONLINE       0     0     0
           spare      ONLINE       0     0     0
             c6t9d0   ONLINE      54     0     0
             c6t36d0  ONLINE       0     0     0
           c6t10d0    ONLINE       0     0     0
           c6t11d0    ONLINE       0     0     0
           c6t12d0    ONLINE       0     0     0
       spares
         c6t36d0      INUSE     currently in use
         c6t37d0      AVAIL   
         c6t38d0      AVAIL   

errors: No known data errors

據我所知,c6t9d0 遇到了 54 個寫入錯誤。似乎它已自動與備用磁碟 c6t36d0 重新同步,該磁碟現在正在使用中。

我的問題是,我到底在哪裡?是的,“操作”告訴我確定磁碟是否需要更換,但該磁碟目前是否仍在使用中?我可以更換/刪除它嗎?

任何解釋都將不勝感激,因為我對這些東西很陌生:)


更新:在遵循 C10k Consulting 的建議後,即分離:

zpool detach myPool c6t9d0

並作為備用添加:

zpool add myPool spare c6t9d0

似乎一切都很好。我的 zpool 的新狀態是:

root@server: zpool status -v myPool
 pool: myPool
state: ONLINE
scrub: resilver completed after 3h6m with 0 errors on Tue Sep 28 11:15:11 2010
config:

       NAME         STATE     READ WRITE CKSUM
       muPool      ONLINE       0     0     0
         raidz1     ONLINE       0     0     0
           c6t7d0   ONLINE       0     0     0
           c6t8d0   ONLINE       0     0     0
           c6t36d0  ONLINE       0     0     0
           c6t10d0  ONLINE       0     0     0
           c6t11d0  ONLINE       0     0     0
           c6t12d0  ONLINE       0     0     0
       spares
         c6t37d0    AVAIL   
         c6t38d0    AVAIL   
         c6t9d0     AVAIL   

errors: No known data errors

感謝您的幫助 c10k 諮詢 :)

zpool remove myPool c6t37d0

zpool replace myPool c6t9d0 c6t37d0

這將使您的一個熱備件可用作普通磁碟 (c6t37d0),然後用現在可用的磁碟 (c6t37d0) 替換壞磁碟 (c6t9d0) 一旦每個人都滿意,物理上替換 c6t9d0,然後:

zppol add myPool spare c6t9d0

您將回到一個愉快的設置,其中包含 3 個可用的熱備件。

或者您可以簡單地拉出 c6t9d0 並通過發出以下命令讓 c6t36d0 取代它:

zpool detach myPool c6t9d0

然後替換 c6t9d0 並重新添加它作為備用。

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