Видаліть постійну помилку 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 list -t all) і тому зберігається навколо?
lundman

Відповіді:


14

Знову очистіть басейн (якщо ви ще цього не зробили):

zpool scrub zstorage

Ця помилка говорить вам про те, що inode <0x9f115> пошкоджений (видалення файлу порушило ім'я файлу-> inode mapping, тому воно просто повідомляє про inode зараз). Файл все ще відкритий, або метадані просто потрібно очистити (що слід зробити скрабом).

Щоб усунути помилку, якщо скраб не знадобиться збивати та забруднювати з zdb, який публічно не задокументовано Oracle (а погано зафіксовано в інших місцях) - і в будь-якому випадку, мабуть, вказує на щось більш принципово неправильне.


7

Я знаю, що я дуже спізнився на вечірку, але просто хотів додати, що якщо додаткові скраби не виправляють подібні проблеми, замість того, щоб дивитися на zdbвас, ви можете замість цього просто запустити скраб, нехай він працює ще пару хвилин, і потім припиніть це zpool scrub -s zstorage. Це допоможе мені очистити постійні помилки для файлів, коли всі помилки читання / запису / контрольної суми були на нулі.

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

EDIT: Після того, як це зробити кілька разів, я також зрозумів, що час, який ви відпускаєте скраб, впливатиме на те, чи працює він (залежно від того, які блоки він виглядає спочатку). Тож якщо спочатку це не працює, спробуйте ще кілька разів і відрегулюйте терміни, коли ви зупините його.


Для мене це не спрацювало - постійні помилки все ще є, і я знову їх побачу, якщо зроблю повний скраб.
Вільям Штейн

3
Це зробило це для мене. Я зробив повний скраб, і помилки не було очищено, але потім я зробив старт-> стоп і це чисто. Спасибі.
Ст

Зараз, здається, це працює для мене (я зараз використовую останню версію ZFS на Linux).
Вільям Штейн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.