我需要设计一个在 2 个节点上运行单独实例的集群应用程序。这些节点都是在 VMware 上运行的 Linux VM。两个应用程序实例都需要访问一个数据库和一组文件。
我的意图是共享存储磁盘(两个节点外部)应该包含数据库和文件。应用程序将协调(通过类似 RPC 的机制)以确定哪个实例是主实例,哪个是从属实例。主服务器将具有对共享存储磁盘的写访问权限,而从服务器将具有只读访问权限。
我在确定共享存储设备的文件系统时遇到问题,因为它需要支持跨 2 个节点的并发访问。由于成本原因,选择专有的集群文件系统(如 GFS)不是一个可行的选择。有什么方法可以通过其他方式在 Linux (EXT3) 中完成?
期望的行为如下:
- 实例 A 写入共享磁盘上的文件 foo
- 实例 B 可以立即读取 A 写入文件 foo 的任何内容。
我也尝试过使用SCSI PGR3,但它不起作用。