Zpool 磁盘故障 - 我在哪里?

Zpool 磁盘故障 - 我在哪里?

今天检查了我的一个 zpools 的状态后,我遇到了以下问题:

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 咨询的帮助:)

答案1

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 并将其重新添加为备用。

答案2

(我只是想发表评论,但没有要点。) 万一 JT.WK 想知道这是文档中的哪个位置,这与“Oracle® Solaris ZFS 管理指南“第 88 页“激活和停用存储池中的热备件”。我对 ZFS 还不熟悉,管理指南对我帮助很大。

答案3

听起来您只是触及了管理 ZFS 存储方面的皮毛。

建议使用这两个链接,我想你会获得一些额外的数据点来帮助你:

对于管理zpools: http://docs.huihoo.com/opensolaris/solaris-zfs-administration-guide/html/ch04s04.html

 General ZFS Admin reference: [Dead link due to oracle request]
 http://www.filibeto.org/~aduritz/truetrue/solaris10/zfsadminguide-html/toc.html

还有很多,但是对于您的特定主题,这两个在我脑海中脱颖而出。

相关内容