我正在试图找出来宾是否可以看到成功的磁盘刷新操作,但主机实际上没有将其刷新到磁盘上?
ESXi是如何处理客户I/O的?在被写入主机的磁盘之前,它们是否被ESXi缓存?
发布于 2014-02-05 21:29:34
只有在客户操作系统的硬件控制器确认写或读后,VMware ESX才会确认对客户操作系统的写或读。在ESX上运行在虚拟机中的应用程序与运行在物理机器或物理磁盘控制器上的应用程序具有相同的崩溃一致性保证。
这是来自VMware本身。如果你担心崩溃的一致性,那就是你的答案。
发布于 2018-05-28 14:00:57
遗憾的是,这并不容易,所以前面的答案对于Windows是正确的,但在Linux上却不正确。KB说:
对于托管产品,写处理取决于主机操作系统。在Linux主机上,VMware不使用未缓冲的IO,因为VMware支持的所有Linux版本都不安全或不支持它。因此,目前,在Linux主机上托管的VMware产品总是使用缓冲IO。在Windows主机上,VMware宿主产品默认使用未缓冲的IO。
最后一句很重要:
因此,如果在主机操作系统中缓冲IO,在VMware托管产品上的来宾操作系统中运行的应用程序可能会失去崩溃一致性。
https://serverfault.com/questions/573485
复制相似问题