zpool : 풀 I / O가 현재 일시 중단되었습니다


8

OSX에서 ZFS를 사용 하고 있으며 zpool을 사용 중이며 온라인 상태입니다.

NAME      SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
WD_1TB    931G   280G   651G    30%  1.00x  ONLINE  -

하지만 실제로 장착 할 수는 없습니다.

$ sudo zfs mount WD_1TB
cannot open 'WD_1TB': pool I/O is currently suspended
cannot open 'WD_1TB': pool I/O is currently suspended

또는 마운트 해제하십시오.

$ sudo zfs unmount WD_1TB
cannot open 'WD_1TB': pool I/O is currently suspended
cannot open 'WD_1TB': pool I/O is currently suspended

또는 심지어 그것을 파괴하십시오 :

$ sudo zpool destroy -f WD_1TB
cannot open 'WD_1TB': pool I/O is currently suspended

zpool export WD_1TB그것을 할 때 그냥 멈 춥니 다.

풀에서 장치 오류를 지우면 오류도 있습니다.

$ sudo zpool clear WD_1TB
cannot clear errors for WD_1TB: I/O error

USB를 통해 디스크가 연결되어 있는지 여부에 관계없이 위의 상황이 발생합니다.

흥미로운 zpool status점은 zpool이 / dev / disk1을 diskutil list가리키고 있지만 / dev / disk3을 가리 킵니다.

: 내가 통해 디버그 메시지를 사용하도록 설정 sysctl -w zfs.vnops_osx_debug=1하고 실행 sudo dmesg | tail뭔가를 보여줍니다

0 [Level 3] [Facility com.apple.system.fs] [ErrType IO] [ErrNo 6] [IOType Read] [PBlkNum 0] [LBlkNum 0] 
0 [Level 3] [Facility com.apple.system.fs] [DevNode devfs] [MountPt /dev] [Path /dev/disk1s2] 
disk1s2: media is not present.
0 [Level 3] [Facility com.apple.system.fs] [ErrType IO] [ErrNo 6] [IOType Read] [PBlkNum 512] [LBlkNum 512] 
0 [Level 3] [Facility com.apple.system.fs] [DevNode devfs] [MountPt /dev] [Path /dev/disk1s2] 

zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b00000 size 0x10000
zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b10000 size 0x10000
zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b20000 size 0x10000
zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b30000 size 0x10000
zfs_vnop_write(vp 0xffffff8051b031e0, offset 0x1f0000 size 0x10000

HDD를 연결하거나 분리해도 도움이되지 않습니다.

위의 상황에서 단순히 OSX에 HDD를 마운트하는 방법은 무엇입니까?

관련 :


일부 ZFS 명령 -f은 일반적으로 실패 할 수있는 작업을 강제 실행 하는 플래그를 허용합니다 . 이 깃발을 사용해 보셨습니까?
Mike Fitzpatrick

아니요, 도움이되지 않습니다. 예를 들어 zfs mount는 허용하지 않습니다 -f. OSX를 다시 시작하면 며칠 동안 도움이되었지만 때때로 계속 발생합니다.
kenorb

btw. zpool destroy -f WD_1TB같은 오류 메시지가 표시됩니다.
kenorb

답변:


8

실행 sudo zpool clear WD_1TB이 작동하지 않으면 다음을 시도하십시오.

$ sudo zpool clear -nFX WD_1TB

여기서 문서화되지 않은 매개 변수는 다음을 의미합니다.

  • -F: ( clear와 동일하게 문서화되지 import않음) 되감기. 가져올 수없는 풀의 복구 모드 마지막 몇 트랜잭션을 삭제하여 풀을 가져 오기 가능한 상태로 되 돌리십시오. 이 옵션을 사용하여 손상된 풀을 모두 복구 할 수있는 것은 아닙니다. 성공하면 폐기 된 트랜잭션의 데이터는 복구 할 수 없을 정도로 손실됩니다. 풀을 가져올 수 있거나 이미 가져온 경우이 옵션은 무시됩니다.
  • -n(대한 문서화 clear와 동일, import함께 사용) -F복구 옵션을 선택합니다. 가져올 수없는 풀을 다시 가져올 수 있는지 여부를 결정하지만 실제로 풀 복구를 수행하지는 않습니다. 풀 복구 모드에 대한 자세한 내용은 위의 -F 옵션을 참조하십시오. 그런 다음 다시 가져 오기를 시도하십시오.
  • -X(언급되지 않음) : 극한 되감기. -X의 효과는 매우 긴 작업이 시도되고 끝나지 않는 것 같습니다. 경우에 따라 프로세스를 종료하기 위해 재부팅해야했습니다.
  • -V(언급되지 않음) : UTSLing의 옵션으로 import풀을 다시 가져 오지만 여전히 리 실버 링을 시도하지 않습니다.

출처 : ZFS 오류 풀 문제man zpool.

$ zpool import WD_1TB

도움이되지 않으면 다음 명령을 사용하여 잘못된 zpool을 제거하십시오.

$ zpool list -v
$ sudo zfs unmount WD_1TB
$ sudo zpool destroy -f WD_1TB
$ zpool detach WD_1TB disk1s2
$ zpool remove WD_1TB disk1s2
$ zpool remove WD_1TB /dev/disk1s2
$ zpool set cachefile=/etc/zfs/zpool.cache WD_1TB

마지막으로 도움이되지 않으면 파일을 /etc/zfs/zpool.cache선택적으로 제거하고 컴퓨터를 다시 시작하십시오.


관련 :


1
이것은 드라이브를 핫 스왑하고 수영장을 망 쳤을 때 엉덩이를 절약했습니다. 난 -x그냥 플래그를 사용하지 않았다-nF
elBradford
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.