我正在寻找一种解决scheme来跨越几个Linux服务器镜像或复制一个目录(或一个文件系统)。 理想的解决scheme将是一个允许所有服务器读写访问的解决scheme。 如果其中一台服务器出现故障,我也希望它对我有弹性,rest时应该仍然可以工作,而不会丢失任何数据。
我一直在寻找一些解决scheme:
欢迎任何其他build议。
我会问的第一个问题是,你想这复制到两台服务器或更多,然后两台服务器? 对于两台服务器,我会与DRDB,三个或更多,我会去与gluster。
如果I / O延迟不是一个关键的问题,我会去gluster。 这是很容易安装,可以明确地做你需要的东西。 所有你需要做的就是让一个gluster服务器在所有三个盒子上提供文件,然后让每个盒子充当一个安装文件的gluster客户端。
使用3个或更多的服务器,DRDB将变得非常复杂,无法在主控模式下工作。 你必须configuration一个基于环的设置,我不会推荐它。 但是,对于两台服务器DRDB是太棒了。 大师< – >主模式设置并不复杂,你不必学习任何文件系统的东西。
lsycd非常适合主/从设置,但是您似乎并不想这样做。
Ceph还是很新的,上次我查了一下,甚至没有fsck支持。 我宁愿将我的基础设施build立在更稳定的基础上。
Lustre是大规模部署的理想产品,但是您需要为mds服务器设置心跳和故障转移,或者将其设置为单点故障。 鉴于他所谈论的服务器数量有限,我怀疑在这种情况下它的矫枉过正。
Ceph或Luste怎么样?
您应该考虑一下OpenAFS–这是一个主要分布式的文件系统,允许多个数据副本分布在集群中,每个人都可以同时读写FS。
它还有一些其他有用的function(良好的身份validation,encryption线上,内置本地caching客户端,原生Windows客户端,可移植跨许多版本的Unix等)
不过,这是一个沉重的负担。
NFS也可能工作得很好,这取决于你的需求。
让DRBD与DRBD一起工作将会非常困难 – 问题不在于n8whnp似乎认为有关多路复制的问题(您只是在一个镜像集中创build所有节点条带),而是要实现并发控制 – d需要在DRBD顶部的镜像之上运行集群文件系统。
lsyncd更糟糕,因为并发控制没有实际的解决scheme。
我推荐AFS型解决scheme(AFS,OpenAFS)作为一个成熟,稳定,开放的解决scheme。 自从甲骨文closures它之后,我会保持清淡的光彩。 不是太熟悉glusterfs,但是因为它依赖于分布式存储而不是复制存储,所以我build议你长时间仔细观察它在裂脑操作中的performance(AFS OTOH被devise为在断开模式下工作)。