回到问题的原点,我们为什么希望使用一套开源的方案?
我们的目的就是希望找到一种最佳性价比的方案能够解决我们的问题,并且能够很好的控制,
我们希望开源方案能够达到以下的目的:
1. 可靠性高:
1) 对于磁盘、内存、网卡、CPU甚至服务器故障有很好的冗余性;
2) 允许单点甚至多点的故障;
2. 稳定性高:
1) 搭建简单;
2) 软件系统稳定,不用整天陷入到各种bug的泥潭中;
3) 软件系统有自我愈合能力,能够自动修复或者快速简单修复;
3. 性能好:
1) 读写iops能够达到甚至超越单机的性能;
2) 读写iops能够达到实际生产需要的性能;
可靠性方面的比较:
前面列举的几种分布式文件系统,在可靠性方面都有自己独特的地方,drbd实际是一个双机的热备,mfs允许存储节点故障,但是元数据服务器有单点故障,虽然可以通过日志服务器恢复,但是恢复过程中文件系统会停止服务,glusterfs ,sheepdog是网装的结构,天生没有单独故障,所有从可靠性方面考虑,我们应该考虑使用glusterfs 和sheepdog。
稳定性方面的比较:
Drbd、mfs、glusterfs都是比较成熟的文件系统,搭建维护有现成的文档,在生产环境中有大量的使用,sheepdog目前还属于测试性质,从稳定性方面考虑,不建议在生产环境中使用。
性能方面的比较:
经过简单的测试,drbd性能比单机稍差,mfs、glusterfs、sheepdog有共同的特点,就是写能力差,都能力好。经过测试,要提高写能力,单个存储节点的磁盘个数很关键,网络带宽的性能很关键。
最终结论
综合比较可靠性、稳定性、性能三个方面,目前在生产环境中最适合kvm虚拟化的文件系统是glusterfs,一年之后,也许最适合的是sheepdog!
各种文件系统比价表
文件系统 | 可靠性(5分满分) | 稳定性(5分满分) | 性能(5分满分) | 总分(15分满分) |
drbd | 4 | 4 | 3 | 11 |
mfs | 2 | 3 | 4 | 9 |
glusterfs | 4 | 4 | 4 | 12 |
sheepdog | 2 | 2 | 3 | 7 |