Назад | Перейти на главную страницу

Ошибка диска 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 consulting :)

Похоже, вы только поверхностно относитесь к управлению хранилищем ZFS.

Предложите использовать эти 2 ссылки, и я думаю, вы получите дополнительные данные, которые помогут вам начать работу:

Для управления 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

Их гораздо больше, но эти два запомнились мне по вашей конкретной теме.

(Я только хотел прокомментировать, но не имею смысла.) На случай, если JT.WK захотел узнать, где это в документации, это очень похоже на "Руководство администратора Oracle® Solaris ZFS«стр. 88« Активация и деактивация горячих резервов в пуле устройств хранения данных ». Я все еще новичок в ZFS, и руководство администратора мне очень помогает.

zpool remove myPool c6t37d0

zpool replace myPool c6t9d0 c6t37d0

Это сделает один из ваших горячих резервов пригодным для использования в качестве обычного диска (c6t37d0), а затем заменит неисправный диск (c6t9d0) на уже свободный (c6t37d0). Когда все будет хорошо, физически замените c6t9d0, а затем:

zppol add myPool spare c6t9d0

И вы вернетесь к счастливой настройке с 3 доступными горячими запасными частями.

Или вы можете просто вытащить c6t9d0 и позволить c6t36d0 занять его место, выполнив:

zpool detach myPool c6t9d0

А затем замените c6t9d0 и снова добавьте его как запасной.