풀 메타 데이터에서 손상이 발생했는데 이 손상으로 인해 풀을 열거나 가져올 수 없는 경우 다음 옵션을 사용할 수 있습니다.
zpool clear –F 명령 또는 zpool import – F 명령을 사용하여 풀을 복구할 수 있습니다. 이 명령은 마지막 몇 개의 풀 트랜잭션을 작동 상태로 롤백하려고 시도합니다. zpool status 명령을 사용하여 손상된 풀 및 권장되는 복구 단계를 검토할 수 있습니다. 예를 들면 다음과 같습니다.
# zpool status pool: tpool state: UNAVAIL status: The pool metadata is corrupted and the pool cannot be opened. action: Recovery is possible, but will result in some data loss. Returning the pool to its state as of Fri Jun 29 17:22:49 2012 should correct the problem. Approximately 5 seconds of data must be discarded, irreversibly. Recovery can be attempted by executing 'zpool clear -F tpool'. A scrub of the pool is strongly recommended after recovery. see: http://support.oracle.com/msg/ZFS-8000-72 scrub: none requested config: NAME STATE READ WRITE CKSUM tpool UNAVAIL 0 0 1 corrupted data c1t1d0 ONLINE 0 0 2 c1t3d0 ONLINE 0 0 4
위 출력 결과에 설명된 복구 프로세스는 다음 명령에 사용하기 위한 것입니다.
# zpool clear -F tpool
손상된 저장소 풀을 가져오려고 시도하면 다음과 비슷한 메시지가 표시됩니다.
# zpool import tpool cannot import 'tpool': I/O error Recovery is possible, but will result in some data loss. Returning the pool to its state as of Fri Jun 29 17:22:49 2012 should correct the problem. Approximately 5 seconds of data must be discarded, irreversibly. Recovery can be attempted by executing 'zpool import -F tpool'. A scrub of the pool is strongly recommended after recovery.
위 출력 결과에 설명된 복구 프로세스는 다음 명령에 사용하기 위한 것입니다.
# zpool import -F tpool Pool tpool returned to its state as of Fri Jun 29 17:22:49 2012. Discarded approximately 5 seconds of transactions
손상된 풀이 zpool.cache 파일에 있는 경우, 시스템을 부트하면 문제가 발견되고 손상된 풀이 zpool status 명령에 보고됩니다. 이 풀이 zpool.cache 파일에 없는 경우 풀을 가져오거나 열 수 없으므로 해당 풀을 가져오려고 시도하면 손상된 풀 메시지가 표시됩니다.
손상된 풀은 읽기 전용 모드로 가져올 수 있습니다. 이 방법으로 풀을 가져와서 데이터에 액세스할 수 있습니다. 예를 들면 다음과 같습니다.
# zpool import -o readonly=on tpool
풀을 읽기 전용으로 가져오는 방법은 읽기 전용 모드로 풀 가져오기를 참조하십시오.
zpool import –m 명령을 사용하여 누락된 로그 장치가 있는 풀을 가져올 수 있습니다. 자세한 내용은 누락된 로그 장치가 있는 풀 가져오기를 참조하십시오.
어떠한 풀 복구 방법으로도 풀을 복구할 수 없는 경우 백업 복사본에서 풀과 모든 데이터를 복원해야 합니다. 풀 구성 및 백업 전략에 따라 사용하는 방식이 달라집니다. 먼저, 풀이 삭제된 후 구성을 다시 만들 수 있도록 zpool status 명령에 의해 표시된 대로 구성을 저장합니다. 그런 다음 zpool destroy –f 명령을 사용하여 풀을 삭제합니다.
또한 풀에 액세스할 수 없게 될 경우 데이터 세트의 레이아웃 및 로컬에 설정된 다양한 등록 정보에도 액세스할 수 없게 되므로 이 정보를 안전한 위치에 보관하십시오. 풀 구성 및 데이터 세트 레이아웃을 사용하면 풀 삭제 후 전체 구성을 재구성할 수 있습니다. 그런 다음 백업 또는 복원 전략을 사용하여 데이터를 채울 수 있습니다.