How to replace broken disk with new when using ZFS on root?
I have 4 disk RAIDZ2 pool using zroot. This means that ZFS is running on separate partition instead of using whole disk. I didn't find any documentation on how to replace disk in this situation or information was deprecated. Pool was generated by the installation automatically.
Camcontrol device list:
% doas camcontrol devlist -v scbus0 on mpt0 bus 0: <> at scbus0 target -1 lun ffffffff () scbus1 on ahcich0 bus 0: <> at scbus1 target -1 lun ffffffff () scbus2 on ahcich1 bus 0: <> at scbus2 target -1 lun ffffffff () scbus3 on ahcich2 bus 0: <ST2000DM001-1CH164 CC43> at scbus3 target 0 lun 0 (pass0,ada0) <> at scbus3 target -1 lun ffffffff () scbus4 on ahcich3 bus 0: <ST2000DM001-1CH164 CC43> at scbus4 target 0 lun 0 (pass1,ada1) <> at scbus4 target -1 lun ffffffff () scbus5 on ahcich4 bus 0: <ST2000DM001-1CH164 CC43> at scbus5 target 0 lun 0 (pass2,ada2) <> at scbus5 target -1 lun ffffffff () scbus6 on ahcich5 bus 0: <SAMSUNG HD204UI 1AQ10001> at scbus6 target 0 lun 0 (pass3,ada3) <> at scbus6 target -1 lun ffffffff () scbus7 on ahciem0 bus 0: <AHCI SGPIO Enclosure 1.00 0001> at scbus7 target 0 lun 0 (pass4,ses0) <> at scbus7 target -1 lun ffffffff () scbus-1 on xpt0 bus 0: <> at scbus-1 target -1 lun ffffffff (xpt0)
gpart of existing disk:
% gpart show ada0 => 40 3907029088 ada0 GPT (1.8T) 40 1024 1 freebsd-boot (512K) 1064 984 - free - (492K) 2048 4194304 2 freebsd-swap (2.0G) 4196352 3902832640 3 freebsd-zfs (1.8T) 3907028992 136 - free - (68K)
% zpool status zroot pool: zroot state: DEGRADED status: One or more devices has been removed by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using 'zpool online' or replace the device with 'zpool replace'. scan: scrub repaired 28K in 0h41m with 0 errors on Thu Sep 27 17:58:02 2018 config: NAME STATE READ WRITE CKSUM zroot DEGRADED 0 0 0 raidz2-0 DEGRADED 0 0 0 ada0p3 ONLINE 0 0 0 ada1p3 ONLINE 0 0 0 ada2p3 ONLINE 0 0 0 15120424524672854601 REMOVED 0 0 0 was /dev/ada3p3 errors: No known data errors
% doas zpool offline zroot 15120424524672854601
I tried to copy first few GiB to ada3 from ada0 with
dd but both
zpool attach and
zpool replace gives error:
/dev/ada3p3 is part of active pool 'zroot' and even force flag doesn't help. I'm guessing disk UUID's are colliding.
What are the steps of how to copy/replicate
ada0-2p1-3 partitions to the new disk (ada3) and replace the faulted drive? What commands did the automated installer run to create these partitions in first place?