I updated a server from RootOnZFS FreeBSD 10.1-RELEASE-p10 to 10.1-RELEASE-p31 and it failed to reboot, stopping on
It is a Dell R320 server with 4-4TB SAS disks on a PERC H310 (LSI SAS 2008) controller in RAIDz2 array.
Commands were:
I do not see anything obvious in the release notes. I see this has been a problem for others, and I have tried various advice after booting from the memstick image, trying various combinations:
even this odd instruction to recopy the boot directory:
I do not understand a few references to linking the boot directory elsewhere; how would that work?
It's possible the BIOS can no longer reach the boot code, if it is above 2TB for 512 byte blocks, although my disks are 4k blocks so should have max 16TB. If so, is there an alternative, such as a way to convert from the BIOS loader to UEFI on a root on ZFS system? Is this wise?
loader.conf has contents:
Any help and ideas is much appreciated. Thanx
Code:
ZFS: i/o error - all block copies unavailable
ZFS: can't read MOS of pool tank
gptzfsboot: failed to mount default pool
FreeBSD/x86 boot
<registries>
BTX halted
It is a Dell R320 server with 4-4TB SAS disks on a PERC H310 (LSI SAS 2008) controller in RAIDz2 array.
Commands were:
Code:
freebsd-update fetch
freebsd-update install
pkg update
pkg upgrade
shutdown -r now
I do not see anything obvious in the release notes. I see this has been a problem for others, and I have tried various advice after booting from the memstick image, trying various combinations:
Code:
zpool import -R /mnt -o cachefile=/tmp/zpool.cache -f zroot
# reset boot data:
gpart bootcode -b /mnt/boot/pmbr -p /mnt/boot/gptzfsboot -i 1 mfisyspd0
gpart bootcode -b /mnt/boot/pmbr -p /mnt/boot/gptzfsboot -i 1 mfisyspd1
gpart bootcode -b /mnt/boot/pmbr -p /mnt/boot/gptzfsboot -i 1 mfisyspd2
gpart bootcode -b /mnt/boot/pmbr -p /mnt/boot/gptzfsboot -i 1 mfisyspd3
# reset cache
mv /mnt/boot/zfs/zpool.cache /mnt/boot/zfs/zpool.cache.old
zpool reguid zroot
cp -p /tmp/zpool.cache /mnt/boot/zfs/zpool.cache
# various combinations of:
zpool set bootfs=zroot/root zroot
zpool set bootfs=zroot/ROOT/default zroot
zpool set bootfs=zroot/ zroot
even this odd instruction to recopy the boot directory:
Code:
mv /mnt/boot /mnt/boot.orig
mkdir /mnt/boot
cp -Rp /mnt/boot.orig/* /mnt/boot
I do not understand a few references to linking the boot directory elsewhere; how would that work?
It's possible the BIOS can no longer reach the boot code, if it is above 2TB for 512 byte blocks, although my disks are 4k blocks so should have max 16TB. If so, is there an alternative, such as a way to convert from the BIOS loader to UEFI on a root on ZFS system? Is this wise?
loader.conf has contents:
Code:
zfs_load="YES"
kern.geom.label.gptid="0"
mfip_load="YES"
vfs.root.mountfrom="zfs:zroot/ROOT/default" # added this after problem started
Any help and ideas is much appreciated. Thanx