我看了一下 Redhat Enterprise Linux HA 和 VMWare HA 解决方案。这很容易理解。多台物理服务器可以构建一个集群。系统监控所有虚拟机的状态。如果一台虚拟机宕机,可以在另一台物理服务器上重新启动。此 VM 上的应用程序也可以重新启动。
但是,我有一个问题。在Guest OS 中,当大多数应用程序成功将数据写入文件时,如果不使用直接IO,实际上数据会被发送到OS 缓存(例如Linux 中的页面缓存)。如果来宾操作系统崩溃,一些数据可能不会刷新到磁盘,但来宾操作系统报告它们已成功写入。VM在另一台服务器上重启后,可能会发现磁盘中的数据不一致,可能会遇到数据完整性问题。我没有找到任何有关为 VM HA 解决方案引入此问题的信息。我们不需要考虑这个问题吗?