On Feb 18, 2014, at 3:32 AM, Edward Tomasz Napiera=B3a <trasz@freebsd.org> =
wrote:
> Wiadomo=B6=E6 napisana przez John Nielsen w dniu 17 lut 2014, o godz. 21:=
21:
>> I run several FreeBSD virtual machines in a Linux KVM environment with a=
SAN. The VMs use virtio block storage, and the KVM hosts map the virtual v=
olumes to targets on the SAN. Occasionally, failover or other maintenance e=
vents on the SAN cause it to be unavailable for 30+ seconds. When this happ=
ens, the FreeBSD VMs have hard failures on the vtbd* devices, and thereafte=
r any attempted reads or writes return immediately with an error (even afte=
r the SAN is responsive again). The only way to recover a VM once that happ=
ens is to hard boot it.
>> =
>> Is there any way to adjust the timeouts or enable some kind of retry for=
the virtio block devices? It would be nice to be able to recover gracefull=
y after a SAN event without needing to reboot the VMs.
> =
> Use gmountver(8) perhaps?
Thanks for the tip (and for writing it :), I haven't encountered that one b=
efore. I will experiment with it but I'm not sure it's a fit for this parti=
cular scenario (at least not by itself). When a SAN event happens the virtu=
al machine's vtbd0 device doesn't disappear, the underlying hardware just f=
ails to respond for a long-ish time. I suspect that the driver gives up aft=
er either a certain length of time or number of errors, but my C driver-fu =
isn't up to figuring it out exactly. Once it gives up, any I/O requests to =
the (still "present") device fail immediately, and I can't see a way to get=
the driver to actually try any (new or old) I/O again.
JN
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"