我试图在三个站点上configuration复制存储 – 每个站点都有一个文件系统的完整副本,使用GlusterFS或XtreemeFS。 这个副本必须在每个站点本地可读 – 非常快 – 无需访问任何远程节点(我们打算使用存储集群来存储大量的第三方头文件,以及用于大型C ++项目的库)。 必须从任何网站写入,但性能不是那么重要。 同步写入是可以接受的。 不幸的是,我似乎遇到了一个问题,就是如何configuration这些文件系统来select站点本地的副本以获得高性能读取。 我也看了DRBD,并创build了一个环形拓扑或双主复制,但是拒绝了这个想法,因为它看起来太复杂了。 我是软件工程师,不是IT人员,请原谅这方面的无知。 我很感激这是一个技术上非常难的问题,并希望能够正确处理locking语义的一个好的解决scheme。 对于Gluster,我看不到任何实际的方法来实现这一点。 对于XtreemeFS,我假定我可以分配一个“数据中心映射”,并使用存储策略WqRq,但不幸的是,这似乎并不奏效。 看起来,如果我有三个副本,我必须有三个副本可用于任何尝试写入的服务器(对于Gluster,似乎所有三个Bricks也将同步写入,而不pipe站点…)。 我是否需要为XtreemeFS设置复制的元数据服务器,每个都有不同的数据中心映射顺序(优先考虑本地复制)来实现这一目标? 如何在每个站点上强制使用本地复本? 挂载似乎需要目录服务器的URL,所以似乎没有任何简单的方法来强制副本select的特定顺序。 有没有其他的select,可以让我有多主写入,并select合适的本地副本,以获得良好的读取性能?
你需要的是一个非常昂贵的SAN …我们在我的las工作了一堆ssd,充当了大部分时间被访问的cache。 然后用一堆SATA磁盘向后推倒真正的存储空间…我们用它在esxi上有200个vm的文件存储+ vdi +。所有这些存储都是通过光纤通道传输到另一个裸机。 http://searchstorage.techtarget.com/tip/Clustering-in-a-SAN-environment-for-high-availability
Master / Master无需访问远程站点,同时仍需要数据完整性?
我很确定,如果我正确地理解你,这是不可能的。
您可以设置主/从设备(不支持多主设备),也可以使用多个池留出一定的时间进行复制延迟(同时访问远程站点,而不是master-master,并且池中没有保证状态)。 再次,一些解决scheme,以适应您的使用情况,但没有一个会有所有这些要求。
没有直接连接到其他节点的主/主文件系统是不可行的。 如果文件系统无法轻松地与存储进行通信,则不能拥有一个一致的文件系统。