正常なプールの永続的なZFSエラーをクリアします


20

今日プールをスクラブしましたが、スクラブが終了した後、ファイルを破損するエラーがあることに気付きました。ファイルを気にしなかったので、削除しました。残念ながら、エラーは残り(ファイル名ではなく16進IDで参照される)、クリアする方法がわかりません。

  • 心配する必要がありますか?私はまだこのエラーから本当に自由ではないのですか?
  • エラーをクリアできますか?ファイルがなくなった場合、今後このエラーが表示されることはありません。

参考のために、私が発行したコマンドと出力を注釈付きで示します。

状態の確認

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

ルートに切り替えてファイルを削除する-必要ない

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)、したがって保持されていますか?
ランドマン14

回答:


14

プールを再度スクラブします(まだ行っていない場合):

zpool scrub zstorage

このエラーは、inode <0x9f115>が破損していることを示しています(ファイルを削除すると、filename-> inodeマッピングが壊れたため、今はinodeを報告しているだけです)。何かがまだファイルを開いているか、メタデータをクリーンアップする必要があるだけです(スクラブで行う必要があります)。

スクラブが失敗した場合にエラーをクリアするには、Oracleによって公に文書化されていない(および文書化されていない)zdbを使用する必要があります。


7

私はパーティーに非常に遅れていることを知っていますが、追加のスクラブでこのような問題が修正されない場合は、スクラブをzdb開始する代わりに、スクラブを開始して数分実行することができます次にで停止しzpool scrub -s zstorageます。すべての読み取り/書き込み/チェックサムエラーがゼロになったときに、ファイルの永続的なエラーをクリアするのに役立ちました。

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

編集:これを数回しなければならなかった後、スクラブを実行する時間のタイミングが、動作するかどうかに影響することにも気付きました(最初にどのブロックが見えるかに依存します)。したがって、最初に動作しない場合は、さらに数回試して、停止するタイミングを調整します。


私にとっては、これはうまくいきませんでした-永続的なエラーはまだ残っています。完全なスクラブを行うと、再び表示されます。
ウィリアムスタイン

3
それは私のためにそれをしました。私は完全なスクラブを実行し、エラーはクリアされませんでしたが、その後、開始->停止を実行し、問題はありませんでした。ありがとう。
Stu

今では私にとってはうまくいくようです(現在LinuxでZFSの最新バージョンを使用しています)。
ウィリアムスタイン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.