Очистить постоянную ошибку ZFS в исправном пуле


20

Я сегодня очистил свой пул, и после того, как очистка закончилась, я заметил ошибку, которая повредила файл. Я не заботился о файле, поэтому я удалил его. К сожалению, ошибка остается (на которую теперь ссылается шестнадцатеричный идентификатор, а не имя файла), и я не знаю, как ее очистить.

  • Я должен беспокоиться? Разве я еще не свободен от этой ошибки?
  • Могу ли я удалить ошибку? Если файл исчез, я не хочу видеть эту ошибку в будущем.

Для справки, вот команды, которые я дал, и вывод с аннотациями:

Проверка статуса

kevin@atlas:~$ sudo zpool status -v

pool: zstorage
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: zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub repaired 1.81M in 7h19m with 1 errors on Wed Feb 19 10:04:44 2014
config:

    NAME                                          STATE     READ WRITE CKSUM
    zstorage                                      ONLINE       0     0     0
    raidz1-0                                    ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600  ONLINE       0     0     0

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

        /zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause/03 Harmony One.mp3

Переключение на root и удаление файла - мне это не нужно

kevin@atlas:~$ sudo -i

root@atlas:~# cd /zstorage/owncloud/kevin/files/Archives/Music/Kev\ Rev\ 7/graveyard/Old/Four\ Tet/Pause/

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# rm 03\ Harmony\ One.mp3

Проверка статуса снова

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# zpool status -v

pool: zstorage
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: zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub repaired 1.81M in 7h19m with 1 errors on Wed Feb 19 10:04:44 2014
config:

    NAME                                          STATE     READ WRITE CKSUM
    zstorage                                      ONLINE       0     0     1
    raidz1-0                                    ONLINE       0     0     2
        ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600  ONLINE       0     0     0

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

        zstorage:<0x9f115>

Ооо Может быть, я могу очистить ошибку?

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# zpool clear zstorage

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# zpool status -v

pool: zstorage
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: zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub repaired 1.81M in 7h19m with 1 errors on Wed Feb 19 10:04:44 2014
config:

    NAME                                          STATE     READ WRITE CKSUM
    zstorage                                      ONLINE       0     0     0
    raidz1-0                                    ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600  ONLINE       0     0     0

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

        zstorage:<0x9f115>

Это не выглядит хорошо!


Является ли файл частью снимка (список zfs -t все) и, следовательно, хранится?
Lundman

Ответы:


14

Снова почистите бассейн (если вы еще этого не сделали):

Zpool Scrub Zstorage

Эта ошибка говорит вам, что inode <0x9f115> поврежден (удаление файла нарушило отображение имени файла-> inode, поэтому теперь он просто сообщает об этом inode). Либо что-то все еще имеет открытый файл, либо метаданные просто необходимо очистить (что должен делать скраб).

Чтобы убрать ошибку, если скраб не понадобится, вам нужно разобраться с zdb, который публично не документирован оракулом (и плохо документирован в другом месте) - и в любом случае, вероятно, указывает на что-то более фундаментально неправильное.


7

Я знаю, что я супер опоздал на вечеринку, но просто хотел добавить, что если дополнительные скрабы не решают подобные проблемы, вместо того, чтобы смотреть на zdbвас, вместо этого можно просто запустить скраб, дать ему поработать пару минут, и тогда останови это с zpool scrub -s zstorage. Это сработало для меня при очистке постоянных ошибок для файлов, когда все ошибки чтения / записи / контрольной суммы были равны нулю.

http://unixetc.co.uk/2012/01/22/zfs-corruption-persists-in-unlinked-files/

РЕДАКТИРОВАТЬ: После того, как я сделал это несколько раз, я также понял, что время, в течение которого вы позволите запуску очистки, повлияет на его работу (в зависимости от того, какие блоки он смотрит на первый взгляд). Так что, если сначала это не сработает, попробуйте еще несколько раз и отрегулируйте время, когда вы его остановите.


Для меня это не сработало - постоянные ошибки все еще есть, и я увижу их снова, если я сделаю полный скраб.
Уильям Стейн

3
Это сделало это для меня. Я сделал полную очистку, и ошибки не были очищены, но затем я сделал старт-> стоп, и все чисто. Спасибо.
Сту

Теперь, похоже, это работает для меня (сейчас я использую последнюю версию ZFS для Linux).
Уильям Стейн
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.