我正在寻找一种在多个Linux服务器上镜像或复制一个目录(或一个文件系统)的解决方案。理想的解决方案是允许所有服务器进行读写访问的解决方案。我还希望它具有弹性,如果其中一台服务器出现故障,其余服务器仍然可以正常工作,而不会丢失任何数据。
我一直在寻找一些解决方案:
欢迎其他任何建议。
我正在寻找一种在多个Linux服务器上镜像或复制一个目录(或一个文件系统)的解决方案。理想的解决方案是允许所有服务器进行读写访问的解决方案。我还希望它具有弹性,如果其中一台服务器出现故障,其余服务器仍然可以正常工作,而不会丢失任何数据。
我一直在寻找一些解决方案:
欢迎其他任何建议。
Answers:
我要问的第一个问题是,是否要将其复制到两个服务器或两个以上的服务器?对于两台服务器,我将使用DRDB,对于三台或更多服务器,我将使用gluster。
如果I / O延迟不是关键问题,我将使用gluster。它很容易设置,可以清楚地完成您需要的操作。您需要做的就是使一台gluster服务器在所有三个盒子上提供文件,然后使每个盒子充当安装文件的gluster客户端。
要在具有3个或更多服务器的master <-> master模式下工作,DRDB将变得很复杂。您必须配置基于环的设置,我不建议您这样做。但是对于两台服务器,DRDB很棒。Master <-> Master模式的设置并不复杂,您无需学习任何文件系统知识。
lsycd非常适合主/从设置,但是您似乎不需要这样做。
Ceph仍然很新,上次我检查它甚至还没有fsck支持。我宁愿将基础架构建立在更稳定的基础上。
Lustre是用于大规模部署的出色产品,但是您需要为mds服务器设置心跳和故障转移,否则将有单点故障。鉴于服务器数量有限,他在谈论的是我怀疑它在这种情况下的过大杀伤力。
您应该研究一下OpenAFS,它是一个主要是分布式的文件系统,它允许在整个集群中分布多个数据副本,并且每个人都可以同时读取/写入FS。
它还具有许多其他有用的功能(良好的身份验证,在线加密,客户端上的内置本地缓存,本机Windows客户端,可在许多版本的unix上移植等)
但是,设置起来有点繁重。
根据您的需要,NFS也可以正常工作。