Ok, I have tested another step.
Installing fresh system on zfs mirror with two disk.
Code:
root@FreeBSD:~ # zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
rpool 17.9G 1.62G 16.3G - 5% 9% 1.00x ONLINE -
root@FreeBSD:~ # zpool status
pool: rpool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ada0p3 ONLINE 0 0 0
ada1p3 ONLINE 0 0 0
errors: No known data errors
Let's see what happens when unplugging ada1 disk
Code:
root@FreeBSD:~ # zpool detach rpool ada1p3
root@FreeBSD:~ # zpool status
pool: rpool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
ada0p3 ONLINE 0 0 0
errors: No known data errors
root@FreeBSD:~ # reboot
After reeboot, looks fine:
Code:
root@FreeBSD:~ # zpool status
pool: rpool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
ada0p3 ONLINE 0 0 0
errors: No known data errors
Attach again ada1 to mirror.
Code:
root@FreeBSD:~ # zpool attach rpool ada0p3 ada1p3
Make sure to wait until resilver is done before rebooting.
If you boot from pool 'rpool', you may need to update
boot code on newly attached disk 'ada1p3'.
Assuming you use GPT partitioning and 'da0' is your new boot disk
you may use the following command:
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
root@FreeBSD:~ # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
bootcode written to ada1
root@FreeBSD:~ # zpool status
pool: rpool
state: ONLINE
scan: resilvered 1.62G in 0h0m with 0 errors on Mon Aug 8 08:39:57 2016
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ada0p3 ONLINE 0 0 0
ada1p3 ONLINE 0 0 0
errors: No known data errors
root@FreeBSD:~ # zpool status -xv
all pools are healthy
Time to detach ada0 disk.
Code:
root@FreeBSD:~ # zpool detach rpool ada0p3
root@FreeBSD:~ # zpool status
pool: rpool
state: ONLINE
scan: resilvered 1.62G in 0h0m with 0 errors on Mon Aug 8 08:39:57 2016
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
ada1p3 ONLINE 0 0 0
errors: No known data errors
root@FreeBSD:~ # zpool scrub rpool
root@FreeBSD:~ # zpool status
pool: rpool
state: ONLINE
scan: scrub in progress since Mon Aug 8 08:46:39 2016
1.59G scanned out of 1.62G at 81.3M/s, 0h0m to go
0 repaired, 98.28% done
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
ada1p3 ONLINE 0 0 0
errors: No known data errors
root@FreeBSD:~ # zpool status
pool: rpool
state: ONLINE
scan: scrub in progress since Mon Aug 8 08:46:39 2016
1.61G scanned out of 1.62G at 82.7M/s, 0h0m to go
0 repaired, 99.89% done
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
ada1p3 ONLINE 0 0 0
errors: No known data errors
root@FreeBSD:~ # zpool status
pool: rpool
state: ONLINE
scan: scrub repaired 0 in 0h0m with 0 errors on Mon Aug 8 08:46:59 2016
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
ada1p3 ONLINE 0 0 0
errors: No known data errors
root@FreeBSD:~ # reboot
And ..... Still the same.
ZFS: can't read MOS of pool rpool