정상적인 풀에서 영구 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)의 일부이므로 유지됩니까?
lundman

답변:


14

풀을 다시 문지릅니다 (아직없는 경우).

zpool 스크럽 zstorage

이 오류는 inode <0x9f115>가 손상되었음을 나타냅니다 (파일을 삭제하면 파일 이름-> 노드 매핑이 끊어 졌으므로 이제 inode를보고합니다). 여전히 파일이 열려 있거나 메타 데이터를 정리해야합니다 (스크럽이 수행해야 함).

스크럽이 필요하지 않은 경우 오류를 지우려면 오라클이 공개적으로 문서화하지 않았고 다른 곳에서는 제대로 문서화되지 않은 zdb를 사용하여 더러워 지거나 더러워 질 필요가 없습니다. 어쨌든 더 근본적으로 잘못된 것을 나타냅니다.


7

나는 파티에 늦었다는 것을 알고 있지만 추가 스크럽이 이와 같은 문제를 해결하지 못하면 zdb대신 스크럽을 시작하고 몇 분 동안 실행하도록하십시오. 그런 다음로 중지하십시오 zpool scrub -s zstorage. 모든 읽기 / 쓰기 / 체크섬 오류가 0 일 때 파일에 대한 영구 오류를 지우는 데 도움이되었습니다.

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

편집 : 이 작업을 몇 번 수행 한 후에도 스크럽 실행을 허용하는 시간이 작동하는지 여부에 영향을 미친다는 것을 깨달았습니다 (먼저 보이는 블록에 따라 다름). 처음에 작동하지 않으면 몇 번 더 시도하고 중지 시점을 조정하십시오.


나에게는 이것이 효과가 없었습니다. 영구적 인 오류는 여전히 있으며 전체 스크럽을 수행하면 다시 볼 수 있습니다.
William Stein

3
그것은 나를 위해 그것을했다. 나는 전체 스크럽을 수행했지만 오류가 해결되지 않았지만 시작-> 중지를 수행하고 깨끗합니다. 감사.
Stu

이제 그것은 나를 위해 작동하는 것 같습니다 (Linux에서 최신 버전의 ZFS를 사용하고 있습니다).
윌리엄 스타 인
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.