ZFS 체크섬 오류를 지우시겠습니까?

ZFS 체크섬 오류를 지우시겠습니까?

TLDR; 내 ZFS 미러 풀에 체크섬 오류가 발생했습니다. 이것이 가장 가능성 있는 원인이라고 생각하여 컨트롤러를 교체했지만 오류가 지워지지 않습니다. 풀 클리어는 일시적으로 재설정하지만 다음에 스크럽을 실행할 때 다시 나타납니다. 어떻게 하면 그것들을 영원히 지울 수 있나요?

전체 내용: 저는 한동안 우분투 20.04.2 LTS에서 ZFS 미러-0을 설정하고 실행했습니다. 드라이브 중 하나가 죽었을 때 두 드라이브를 더 큰 드라이브로 교체하지 못했고 새 드라이브에 SATA-III PCI 카드를 추가했습니다(이전 드라이브는 온보드 SATA II 컨트롤러에 연결되어 있었습니다). , 더 이상 사용할 수 있는 SATA III 포트가 없었기 때문입니다). 몇 주 동안 새 드라이브와 컨트롤러에서 실행한 후 ZFS는 두 새 드라이브 모두에서 체크섬 오류에 대해 불평했고 그 결과 어레이가 "성능 저하" 상태가 되었습니다.

일부 연구에 따르면 두 드라이브 모두 정확히 동일한 수의 체크섬 오류를 표시하므로 드라이브 자체보다 컨트롤러에 문제가 있을 가능성이 훨씬 높다는 결론에 도달했습니다. 그래서 새 컨트롤러를 꺼내서 드라이브를 온보드 SATA II 컨트롤러에 다시 장착하고 문제가 있는지 확인한 후 컨트롤러 카드를 교체하려고 했습니다. 그런 다음 zpool status -v영구 오류가 있는 것으로 표시된 두 파일을 삭제하고 zpool clear data오류를 재설정하기 위해 명령을 실행한 다음 스크럽을 실행했습니다.

불행하게도 스크러빙 후에 오류가 다시 나타났습니다. 이제는 -v더 이상 파일이 표시되지 않고 이전에 삭제한 파일 중 하나에 대한 주소(inode라고 생각합니다)만 표시됩니다. 다시 시도했지만 같은 결과가 나왔습니다. 스크럽을 실행할 때마다 다음과 같은 결과가 나타납니다.

root@watchman:~# zpool status -v
  pool: data
 state: DEGRADED
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: http://zfsonlinux.org/msg/ZFS-8000-8A
  scan: scrub repaired 16K in 0 days 09:10:20 with 1 errors on Sat Jul 24 15:48:21 2021
config:

    NAME                                 STATE     READ WRITE CKSUM
    data                                 DEGRADED     0     0     0
      mirror-0                           DEGRADED     0     0     0
        ata-ST8000VE000-2P6101_WSD1M5NW  DEGRADED     0     0    15  too many errors
        ata-ST8000VE000-2P6101_WSD1HEJX  DEGRADED     0     0    15  too many errors

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

        data:<0x380508>

내가 알 수 있는 바에 따르면 이것은 아마도 불량 컨트롤러로 인해 이미 존재했던 것과 동일한 문제이지만 해결할 수 없는 것 같습니다. 미러를 완전히 작동하는 상태로 복원하려면 어떻게 해야 합니까?

업데이트: 마침내 오류를 지우는 아이디어를 포기하고 대신 다시 시작했습니다. 기존 미러에서 드라이브 중 하나를 가져와 새 풀을 만들었습니다. 그런 다음 a를 실행하여 rsync이전 풀의 모든 데이터를 새 풀로 복사했습니다. 이로 인해 몇 가지 오류가 발생했지만(zfs는 데이터 오류에 대해 거짓말을 하지 않았습니다) 중요하거나 문제가 되는 것은 없었으며 오류가 발생한 파일을 제외하면 rsync가 성공적으로 완료되었습니다. 그런 다음 새 풀에 두 번째 드라이브를 추가했고, 리실버 후에는 모든 것이 괜찮아 보이고 새 풀에 대한 스크럽이 오류 없이 완료되었습니다.

따라서 다음 주 동안 모든 것이 계속 좋아진다고 가정하면 SATA III 카드가 문제의 원인이라고 가정하고 더 나은 브랜드/옵션으로 교체하는 것이 안전하다고 생각합니다. :)

답변1

때때로 0-미러에서 체크섬 오류가 발생하기도 하는데, 대부분 재부팅 후에 발생하며 zfs 풀 상태가 저하됩니다.

zpool status <poolname>

여기에 이미지 설명을 입력하세요

이 문제를 해결하고 오류를 정리하려면 다음을 실행합니다.

zpool clear <poolname>

관련 정보