Oracle® Solaris 11.2의 ZFS 파일 시스템 관리

인쇄 보기 종료

업데이트 날짜: 2014년 12월
 
 

손상된 파일 또는 디렉토리 복구

파일 또는 디렉토리가 손상된 경우 손상 유형에 따라 시스템이 계속 작동할 수 있습니다. 시스템에 정상적인 데이터 복사본이 없을 경우 결과적으로 손상을 복구할 수 없습니다. 중요한 데이터일 경우 영향을 받는 데이터를 백업에서 복원해야 합니다. 이 경우에도 전체 풀을 복원하지 않고 이 손상에서 복구할 수 있습니다.

파일 데이터 블록에서 손상이 발생한 경우 파일을 안전하게 제거하면 시스템에서 오류가 지워집니다. 영구적인 오류가 발생한 파일 이름 목록을 표시하려면 zpool status –v 명령을 사용하십시오. 예를 들면 다음과 같습니다.

# zpool status tank -v
pool: tank
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: http://support.oracle.com/msg/ZFS-8000-8A
config:

NAME                     STATE     READ WRITE CKSUM
tank                     ONLINE       4     0     0
c0t5000C500335E106Bd0    ONLINE       0     0     0
c0t5000C500335FC3E7d0    ONLINE       4     0     0

errors: Permanent errors have been detected in the following files:
/tank/file.1
/tank/file.2

영구적인 오류가 발생한 파일 이름 목록은 다음과 같이 설명될 수 있습니다.

  • 전체 파일 경로가 발견되고 데이터 세트가 마운트된 경우, 전체 파일 경로가 표시됩니다. 예를 들면 다음과 같습니다.

    /monkey/a.txt
  • 전체 파일 경로가 발견되었지만 데이터 세트가 마운트되지 않은 경우, 앞에 슬래시(/)가 붙지 않고 데이터 세트 내의 파일에 대한 경로가 이어지는 데이터 세트 이름이 표시됩니다. 예를 들면 다음과 같습니다.

    monkey/ghost/e.txt
  • dnode_t의 경우와 같이, 오류로 인해 또는 객체에 연관된 실제 파일 경로가 없어 파일 경로에 대한 객체 수를 성공적으로 변환할 수 없는 경우 데이터 세트 이름 뒤에 객체 번호가 표시됩니다. 예를 들면 다음과 같습니다.

    monkey/dnode:<0x0>
  • MOS(Metaobject Set)에 있는 객체가 손상된 경우 특수 태그 <metadata> 뒤에 객체 번호가 표시됩니다.

풀 스크러빙과 풀 오류 지우기를 여러 번 반복해서 사용하여 비교적 사소한 데이터 손상을 해결할 수 있습니다. 첫번째 스크러빙 및 지우기에서 손상된 파일이 해결되지 않으면 다시 실행하십시오. 예를 들면 다음과 같습니다.

# zpool scrub tank
# zpool clear tank

손상이 디렉토리 또는 파일의 메타 데이터 내에서 발생한 경우 파일을 다른 곳으로 이동할 수만 있습니다. 파일이나 디렉토리를 덜 편리한 위치로 안전하게 이동하면 원본 객체를 해당 위치에서 복원할 수 있습니다.

여러 블록 참조를 사용하여 손상된 데이터 복구

손상된 파일 시스템에 스냅샷과 같이 여러 블록 참조가 있는 손상된 데이터가 있는 경우 zpool status –v 명령은 모든 손상된 데이터 경로를 표시하지 않습니다. 손상된 데이터에 대한 현재 zpool status 보고는 메타 데이터 손상 정도에 따라 제한되며 zpool status 명령 실행 후 블록이 재사용된 경우로 제한됩니다. 중복 제거된 블록은 모든 손상된 데이터를 더욱 복잡하게 만듭니다.

손상된 데이터가 있고 zpool status –v 명령으로 스냅샷 데이터가 영향을 받은 것으로 확인된 경우 다음 명령을 실행하여 추가 손상된 경로가 있는지 식별하는 것이 좋습니다.