탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
![]() |
Oracle Solaris 11.1 관리: ZFS 파일 시스템 Oracle Solaris 11.1 Information Library (한국어) |
1. Oracle Solaris ZFS 파일 시스템(소개)
3. Oracle Solaris ZFS 저장소 풀 관리
5. Oracle Solaris ZFS 파일 시스템 관리
6. Oracle Solaris ZFS 스냅샷 및 복제 작업
7. ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호
10. Oracle Solaris ZFS 문제 해결 및 풀 복구
다음 절에서는 ZFS 파일 시스템 또는 저장소 풀 관련 문제를 식별하고 해결하는 방법에 대해 설명합니다.
다음 기능을 사용하여 ZFS 구성 관련 문제를 식별할 수 있습니다.
자세한 ZFS 저장소 풀 정보는 zpool status 명령을 사용하여 표시할 수 있습니다.
풀 및 장치 오류는 ZFS/FMA 진단 메시지를 통해 보고됩니다.
풀 상태 정보를 수정한 이전 ZFS 명령은 zpool history 명령을 사용하여 표시할 수 있습니다.
대부분의 ZFS 문제 해결은 zpool status 명령과 관련됩니다. 이 명령은 시스템에서 발생한 다양한 오류를 분석하고 가장 심각한 문제를 식별하여 권장되는 조치와 자세한 정보를 볼 수 있는 지식 문서에 대한 링크를 표시합니다. 여러 개의 문제가 존재하더라도 이 명령은 풀과 관련된 한 개의 문제만 식별합니다. 예를 들어 데이터 손상 오류는 일반적으로 장치 중 하나에서 오류가 발생했음을 암시하지만, 오류가 발생한 장치를 교체한다고 해서 모든 데이터 손상 문제가 해결되는 것은 아닐 수 있습니다.
또한 ZFS 진단 엔진이 풀 오류 및 장치 오류를 진단하고 보고합니다. 이러한 오류와 연관된 체크섬, I/O, 장치 및 풀 오류도 보고됩니다. fmd에 의해 보고된 ZFS 오류는 콘솔과 시스템 메시지 파일에 표시됩니다. 대부분의 경우 fmd 메시지를 통해 자세한 복구 지침을 제공하는 zpool status 명령으로 이동할 수 있습니다.
기본 복구 프로세스는 다음과 같습니다.
해당하는 경우 zpool history 명령을 사용하여 해당 오류 시나리오 이전에 사용된 ZFS 명령을 식별하십시오. 예를 들면 다음과 같습니다.
# zpool history tank History for 'tank': 2010-07-15.12:06:50 zpool create tank mirror c0t1d0 c0t2d0 c0t3d0 2010-07-15.12:06:58 zfs create tank/eric 2010-07-15.12:07:01 zfs set checksum=off tank/eric
이 출력 결과에서는 tank/eric 파일 시스템에 대한 체크섬이 사용 안함으로 설정되었습니다. 이 구성은 권장되지 않는 구성입니다.
시스템 콘솔 또는 /var/adm/messages 파일에 표시되는 fmd 메시지를 통해 오류를 식별합니다.
zpool status -x 명령을 사용하여 자세한 복구 지침을 찾습니다.
다음 단계를 수행하여 오류를 복구합니다.
사용할 수 없거나 누락된 장치를 교체하고 온라인으로 설정합니다.
결함이 있는 구성이나 손상된 데이터를 백업에서 복원합니다.
zpool status -x 명령을 사용하여 복구를 확인합니다.
해당하는 경우 복원된 구성을 백업합니다.
이 절에서는 발생 가능한 오류 유형을 진단하기 위해 zpool status 출력 결과를 해석하는 방법에 대해 설명합니다. 대부분의 작업은 명령에 의해 자동으로 수행되지만 오류를 진단하기 위해서는 식별하려는 문제가 무엇인지 정확하게 이해하는 것이 중요합니다. 이후 절에서는 발생 가능한 여러 문제를 복구하는 방법에 대해 설명합니다.
시스템에 알려진 문제가 있는지 확인하는 가장 쉬운 방법은 zpool status -x 명령을 사용하는 것입니다. 이 명령은 문제가 발생한 풀만 설명합니다. 비정상적인 있는 풀이 시스템에 없을 경우 이 명령은 다음과 같은 내용을 표시합니다.
# zpool status -x all pools are healthy
-x 플래그를 사용하지 않을 경우, 이 명령은 정상적인 풀이더라도 모든 풀(명령줄에 지정된 경우 요청된 풀)에 대한 전체 상태를 표시합니다.
zpool status 명령의 명령줄 옵션에 대한 자세한 내용은 ZFS 저장소 풀 상태 질의를 참조하십시오.
전체 zpool status 출력 결과는 다음과 비슷합니다.
# zpool status pond pool: pond state: DEGRADED status: One or more devices are unavailable in response to persistent errors. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Determine if the device needs to be replaced, and clear the errors using 'zpool clear' or 'fmadm repaired', or replace the device with 'zpool replace'. Run 'zpool status -v' to see device specific details. scan: scrub repaired 0 in 0h0m with 0 errors on Wed Jun 20 13:16:09 2012 config: NAME STATE READ WRITE CKSUM pond DEGRADED 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 DEGRADED 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 UNAVAIL 0 0 0 errors: No known data errors
이 출력 결과는 다음 절에서 설명합니다.
zpool status 출력 결과에서 이 절은 다음과 같은 필드로 구성됩니다. 이 중 일부는 문제가 발생한 풀의 경우에만 표시됩니다.
풀 이름을 식별합니다.
풀의 현재 상태를 나타냅니다. 이 정보는 풀이 필요한 복제 레벨을 제공할 수 있는지만 나타냅니다.
풀에서 발생한 문제를 설명합니다. 오류가 발견되지 않을 경우 이 필드는 생략됩니다.
오류 복구를 위해 권장되는 조치입니다. 오류가 발견되지 않을 경우 이 필드는 생략됩니다.
자세한 복구 정보를 포함하는 지식 문서를 나타냅니다. 온라인 문서가 이 가이드가 업데이트할 수 있는 것보다 더 자주 업데이트됩니다. 따라서 최신 복구 절차는 항상 이 문서를 참조하십시오. 오류가 발견되지 않을 경우 이 필드는 생략됩니다.
스크러빙 작업의 현재 상태를 식별합니다. 이 정보에는 스크러빙이 마지막으로 완료된 날짜 및 시간, 스크러빙이 진행 중인 날짜 및 시간 또는 스크러빙이 요청되지 않은 경우 날짜 및 시간이 포함될 수 있습니다.
알려진 데이터 오류 또는 알려진 데이터 오류가 없음을 식별합니다.
zpool status 출력의 config 필드는 풀에 있는 장치의 구성 및 장치에서 생성된 오류와 상태에 대해 설명합니다. 상태는 ONLINE, FAULTED, DEGRADED 또는 SUSPENDED 중 하나일 수 있습니다. ONLINE 상태가 아닐 경우 풀의 결함 허용이 손상됩니다.
구성 출력의 두번째 절에는 오류 통계가 표시됩니다. 이러한 오류는 다음 세 범주로 구분됩니다.
READ – 읽기 요청을 발행하는 중 발생한 I/O 오류입니다.
WRITE – 쓰기 요청을 발행하는 중 발생한 I/O 오류입니다.
CKSUM – 읽기 요청의 결과로 장치에서 손상된 데이터를 반환함을 의미하는 체크섬 오류입니다.
이러한 오류를 사용하여 손상이 영구적인지 확인할 수 있습니다. I/O 오류 수가 적으면 일시적인 작동 중단을 나타내지만, 오류 수가 많으면 영구적인 장치 문제를 나타낼 수 있습니다. 이러한 오류가 반드시 응용 프로그램에서 해석한 데이터 손상과 일치하지는 않습니다. 장치가 중복 구성일 경우 해결할 수 없는 오류가 표시될 수 있지만, 미러 또는 RAID-Z 장치 레벨에서는 오류가 표시되지 않습니다. 이 경우 ZFS에서 정상적인 데이터를 성공적으로 검색하여 기존 복제본에서 손상된 데이터를 치료하려고 시도했습니다.
이러한 오류 해석에 대한 자세한 내용은 장치 오류 유형 확인을 참조하십시오.
끝으로, 추가 보조 정보가 zpool status 출력의 마지막 열에 표시됩니다. 이 정보는 오류 진단을 지원하기 위해 state 필드에서 확장됩니다. 장치가 UNAVAIL인 경우 이 필드는 장치에 액세스할 수 없는지 여부 또는 장치 데이터가 손상되었는지 여부를 나타냅니다. 장치에서 리실버링이 진행 중인 경우 이 필드에 현재 진행률이 표시됩니다.
리실버링 진행률 모니터링에 대한 자세한 내용은 리실버링 상태 보기를 참조하십시오.
zpool status 출력의 scrub 절은 명시적 스크러빙 작업의 현재 상태에 대해 설명합니다. 이 정보를 사용하여 데이터 손상 오류 보고가 정확한지 확인할 수는 있지만, 이 정보는 시스템에서 오류가 발견되었는지 여부와는 다른 별개의 정보입니다. 최근에 마지막으로 스크러빙이 종료되었다면 알려진 데이터 손상이 발견되었을 가능성이 높습니다.
다음 zpool status 스크러빙 상태 메시지가 제공됩니다.
스크러빙 진행 중 보고입니다. 예를 들면 다음과 같습니다.
scan: scrub in progress since Wed Jun 20 14:56:52 2012 529M scanned out of 71.8G at 48.1M/s, 0h25m to go 0 repaired, 0.72% done
스크러빙 완료 메시지입니다. 예를 들면 다음과 같습니다.
scan: scrub repaired 0 in 0h11m with 0 errors on Wed Jun 20 15:08:23 2012
진행 중인 스크러빙 취소 메시지입니다. 예를 들면 다음과 같습니다.
scan: scrub canceled on Wed Jun 20 16:04:40 2012
스크러빙 완료 메시지는 시스템 재부트 후에도 보존됩니다.
데이터 스크러빙 및 이 정보를 해석하는 방법에 대한 자세한 내용은 ZFS 파일 시스템 무결성 검사를 참조하십시오.
zpool status 명령은 알려진 오류가 풀과 연관되는지 여부도 표시합니다. 이러한 오류는 데이터 스크러빙 또는 일반 작업 중에 발견되었을 수 있습니다. ZFS는 풀과 연관된 모든 데이터 오류의 영구 로그를 유지 관리합니다. 이 로그는 시스템의 전체 스크러빙이 완료될 때마다 교체됩니다.
데이터 손상 오류는 항상 치명적입니다. 이러한 오류가 있다는 것은 풀 내의 손상된 데이터로 인해 적어도 하나의 응용 프로그램에서 I/O 오류가 발생했음을 나타냅니다. 중복 풀 내의 장치 오류는 데이터 손상을 일으키지 않으므로 이 로그의 일부로 기록되지 않습니다. 기본적으로 발견된 오류 수만 표시됩니다. 전체 오류 목록 및 구체적인 정보는 zpool status -v 옵션을 사용하여 찾을 수 있습니다. 예를 들면 다음과 같습니다.
# zpool status -v tank 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 scan: scrub repaired 0 in 0h0m with 2 errors on Fri Jun 29 16:58:58 2012 config: NAME STATE READ WRITE CKSUM tank ONLINE 2 0 0 c8t0d0 ONLINE 0 0 0 c8t1d0 ONLINE 2 0 0 errors: Permanent errors have been detected in the following files: /tank/file.1
fmd에 의해 시스템 콘솔 및 /var/adm/messages 파일에도 비슷한 메시지가 표시됩니다. 이러한 메시지는 fmdump 명령을 사용하여 추적할 수도 있습니다.
데이터 손상 오류 해석에 대한 자세한 내용은 데이터 손상 유형 식별을 참조하십시오.
ZFS는 풀 내에서 오류를 지속적으로 추적하는 것 이외에도 관심 있는 이벤트가 발생할 때 syslog 메시지를 표시합니다. 다음 시나리오에서는 알림 이벤트를 생성합니다.
장치 상태 전환 – 장치가 FAULTED 상태가 되면 ZFS는 풀의 결함 허용이 손상되었을 수 있음을 나타내는 메시지를 기록합니다. 장치가 나중에 온라인 상태가 되면 비슷한 메시지가 전송되어 풀을 정상 상태로 복원합니다.
데이터 손상 – 데이터 손상이 발견될 경우 ZFS는 손상이 발견된 시기 및 위치를 설명하는 메시지를 기록합니다. 이 메시지는 처음 발견되었을 때만 기록되고, 이후 액세스는 메시지를 생성하지 않습니다.
풀 오류 및 장치 오류 – 풀 오류 및 장치 오류가 발생하면 결함 관리자 데몬이 syslog 메시지 및 fmdump 명령을 통해 이 오류를 보고합니다.
ZFS에서 장치 오류를 발견하고 이를 자동으로 복구한 경우에는 알림이 표시되지 않습니다. 이 오류는 풀 중복성 오류 또는 데이터 무결성 오류에 해당하지 않습니다. 또한 이 오류는 보통 자체 오류 메시지 세트에서 표시하는 드라이버 문제의 결과로 발생합니다.