zfs 에러 pool I/O is currently suspended
겪은 일:
zfs draid 핫스패어 도중에 끊어짐
zpool 명령어를 여러가지 시도해보았지만 에러로 진행할 수 없었음
& zpool scrub fs1
cannot scrub fs1: pool I/O is currently suspended
발생한 원인은?
zpool status 명령어로 에러 메시지를 살펴보기로 하였다.
& zpool status -v
pool: fs1
state: SUSPENDED
status: One or more devices are faulted in response to IO failures.
action: Make sure the affected devices are connected, then run 'zpool clear'.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-HC
scan: scrub repaired 0B in 00:02:05 with 0 errors on Tue Nov 19 16:02:58 2024
scan: resilvered (draid1:5d:20c:2s-0) 1.45G in 00:00:44 with 0 errors on Tue Nov 19 16:00:53 2024
config:
NAME STATE READ WRITE CKSUM
fs1 UNAVAIL 0 0 0 insufficient replicas
draid1:5d:20c:2s-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
sdg ONLINE 0 0 0
sdh ONLINE 0 0 0
sdi ONLINE 0 0 0
sdj ONLINE 0 0 0
sdk ONLINE 0 0 0
sdl ONLINE 0 0 0
sdm ONLINE 0 0 0
sdn ONLINE 0 0 0
sdo ONLINE 0 0 0
sdp ONLINE 0 0 0
sdq ONLINE 0 0 0
sdr ONLINE 0 0 0
sds ONLINE 0 0 0
draid1-0-0 ONLINE 0 0 0
sdu ONLINE 0 0 0
sdt UNAVAIL 0 0 0
spares
draid1-0-0 INUSE currently in use
draid1-0-1 AVAIL
errors: List of errors unavailable: pool I/O is currently suspended
하단의 자세한 오류 메시지를 확인
errors: List of errors unavailable: pool I/O is currently suspended
복구 시도 실패/성공
List가 이용불가라는데, 디가우징 할 때 자기장이 랙 디스크를 긁으셨는지, Config List 가 이상했다. 디스크 장애 시 핫스페어 draid1-0-0는 spares 와 함께 묶여야하는데. 혼자 있고, 고장난 vdt 볼륨은 draid으로부터 탈출했다.
일단 action 에 적힌 zpool clear
를 입력해보도록 한다.
& zpool clear fs1
오한이 들 정도로 반응이 없었고 디스크가 죽어가고 있고, 볼륨 해제 에도 실패했다.
딸각 소리가 방 안을 가득 메움.
작업중이던 디렉토리 모두 취소하고 재부팅 한 다음 드라이브를 다시 교체했다. zpool clear 명령어로 어렵사리 복구에 성공하였다.
교체한 드라이브의 S.M.A.R.T 상태는 생각보다 멀쩡했다. 하드웨어 고장과 무관한 zfs 오류같다.