- Thread Starter
- #26
The next script is even more atrocious because it was directly modified by me...
FIX-ME
Code:
# template on how to get everyting clean after a disk failuer /change
echo "Please don't run without checking contents first" >&2
exit 1
# Which disk?
geom0=ada0
zgeom=zroot0
good=ada1
# applicable lines from CRYPT
gpart create -s gpt $geom0
gpart add -b 64 -s 512k -t freebsd-boot $geom0
gpart add -l boot0 -s 1G -t freebsd-ufs -a 4k $geom0
gpart add -l swap0 -s 2G -t freebsd-swap -a 4k $geom0
gpart add -l zroot0 -t freebsd-zfs -a 4k $geom0
#alternatively, copy from good disk
# gpart backup $good | gpart restore $geom0
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 $geom0
# make gmirrors healthy again
gmirror forget swap
gmirror insert swap ${geom0}p3
gmirror forget boot
gmirror insert boot ${geom0}p2
# needs crypto passphrase
geli init -s 4096 /dev/gpt/$zgeom
geli attach /dev/gpt/$zgeom
zpool replace tank /dev/gpt/${zgeom}.eli
# check status
zpool status -x tank
gmirror list boot |grep ^State
gmirror list swap |grep ^State