I have a ZFS pool, which contains two mirrored hard drives and ramdisk for logs. In my scenario is that log disk died:
# 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
Now I'd like to discard lost logs and remove the dead device from the pool, but I can not do that:
# zpool clear -F tank 6324139563861643487
cannot clear errors for 6324139563861643487: one or more devices is currently unavailable
I also can not bring the pool online:
# zpool remove tank 6324139563861643487
cannot open 'tank': pool is unavailable
How do I ignore the intent log records?
Best Answer
There is an option which allows to import pool with a broken device. Her is how I managed to recover the pool: