moutnroot failing on zpools in Azure after upgrade from 10 to 11 due to lack of waiting for da0

Pete French petefrench at ingresso.co.uk
Mon Mar 13 12:06:51 UTC 2017


I have a number of machines in Azure, all booting from ZFS and, until
the weekend, running 10.3 perfectly happily.

I started upgrading these to 11. The first went fine, the second would
not boot. Looking at the boot diagnistics it is having problems finding the
root pool to mount. I see this is the diagnostic output:

	storvsc0: <Hyper-V IDE Storage Interface> on vmbus0
	Solaris: NOTICE: Cannot find the pool label for 'rpool'
	Mounting from zfs:rpool/ROOT/default failed with error 5.
	Root mount waiting for: storvsc
	(probe0:blkvsc0:0:storvsc1: 0:<Hyper-V IDE Storage Interface>0):  on vmbus0
	storvsc scsi_status = 2
	(da0:blkvsc0:0:0:0): UNMAPPED
	(probe1:blkvsc1:0:1:0): storvsc scsi_status = 2
	hvheartbeat0: <Hyper-V Heartbeat> on vmbus0
	da0 at blkvsc0 bus 0 scbus2 target 0 lun 0

As you can see, the drive da0 only appears after it has tried, and failed,
to mount the root pool.

Normally I would just stick in a big 'vfs.mountroot.timeout' but that
variable doesnt not appear to exist under 11 - or at least it doesnt
show up in sysctl.

I have one machine which boots fine. I can take the drive of this machine,
clone it, and attach to a new VM, and that VM fails to boot! Am now
a bit scared to reboot that virtual machine in case it doesnt come back.

Can anyone offer any suggestions ? Just being able to delay the
mount might be enough if there is a variable which can do that. I do
rather need to get these machines back online....

thanks,

-pete.


More information about the freebsd-stable mailing list