I updated the list of Postfix requirements, with the following note: * In a virtual machine when Postfix flushes a file with fsync(), the file information must not be cached in volatile hypervisor memory[1]. Instead the information must be written to disk (or to persistent cache) before fsync() returns in the virtual machine.
Where [1] links to http://communities.vmware.com/thread/332142. This thread discusses some practical mail server experiences. Below are a few tips that I found with a quick search. * For XEN, good results are reported with the phy: driver (see http://lists.xen.org/archives/html/xen-devel/2012-04/threads.html#00438). * With KVM and QEMU, one would set "cache=none" to bypass the write cache in the physical host and make fsync() work as expected in a virtual machine. Comments are welcome, especially on how to make fsync() work as expected with VMware, VirtualBox and other hypervisors. Wietse