두 개의 미러링된 하드 드라이브와 로그용 램디스크가 있는 ZFS 풀이 있습니다. 내 시나리오에서는 로그 디스크가 손상되었습니다.
# zpool status -x tank
pool: tank
state: FAULTED
status: An intent log record could not be read.
Waiting for adminstrator intervention to fix the faulted pool.
action: Either restore the affected device(s) and run 'zpool online',
or ignore the intent log records by running 'zpool clear'.
see: http://illumos.org/msg/ZFS-8000-K4
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank FAULTED 0 0 0
mirror-0 ONLINE 0 0 0
ada0 ONLINE 0 0 0
ada1 ONLINE 0 0 0
logs
6324139563861643487 UNAVAIL 0 0 0 was /dev/md1
지금 나는 원한다누락된 로그 삭제풀에서 죽은 장치를 제거하지만 다음 작업을 수행할 수 없습니다.
# zpool clear -F tank 6324139563861643487
cannot clear errors for 6324139563861643487: one or more devices is currently unavailable
또한 풀을 온라인으로 전환할 수 없습니다.
# zpool remove tank 6324139563861643487
cannot open 'tank': pool is unavailable
의도 로깅을 무시하는 방법은 무엇입니까?
답변1
손상된 장치 풀을 가져올 수 있는 옵션이 있습니다. 그녀는 제가 수영장을 복원한 방법입니다.
# zpool export tank
# zpool import -m tank
# zpool status tank
pool: tank
state: DEGRADED
status: One or more devices could not be opened. Sufficient replicas exist for
the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
see: http://illumos.org/msg/ZFS-8000-2Q
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
mirror-0 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 0
gpt/disk2 ONLINE 0 0 0
logs
6324139563861643487 UNAVAIL 0 0 0 was /dev/md1
cache
gpt/disk3 ONLINE 0 0 0
errors: No known data errors
# zpool clear tank
# zpool remove tank 6324139563861643487
# zpool status tank
pool: tank
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 0
gpt/disk2 ONLINE 0 0 0
cache
gpt/disk3 ONLINE 0 0 0
errors: No known data errors
답변2
풀을 온라인으로 전환하기 전에 먼저 결함이 있는 장치를 교체해야 한다고 생각합니다.
그러면 로그 디스크 사용을 포기할 수도 있습니다.