The KB article "Storage IO crash consistency with VMware products" @ http://kb.vmware.com/kb/1008542 gives a great summary.
VMware ESX acknowledges a write or read to a guest operating system only after that write or read is acknowledged by the hardware controller to ESX. Applications running inside virtual machines on ESX are afforded the same crash consistency guarantees as applications running on physical machines or physical disk controllers.Now you know and you have something to cite.
Rodos
Nice find Rodos! Was aware of it just good to havge something to back it up when a client asks.
ReplyDeleteI just read the KB and it seems like that is not ht whole story...or perhaps the KB contradicts itself:
ReplyDelete"On Linux hosts, VMware does not use unbuffered IO, because it is not safe or supported across all the Linux versions that VMware supports. So currently, VMware hosted products on Linux hosts always use buffered IO."
and then:
"Consequently, if the IO is buffered within the host operating system, an application running inside a guest operating system on VMware hosted products might lose crash consistency."
So isn't this saying that if your VMWare host is Linux, then your SQL Server guest might end up with a corrupted database?
@Anonymous. The text you quote is for the hosted product. For ESX it is as stated.
ReplyDeleteAhhh...thanks. I was missing the point that a "Linux host" is not the same thing as the Linux kernel that ESX runs as (if that is even correct ;-)
ReplyDeletethanks, great info
ReplyDelete