OpenstackCeph分布式存储的功能实现和适用场景

云计算 分布式 OpenStack
本篇博文的作者基于一个普通用户的角度,根据实际需求探索Openstack的分布式存储,重点关注Ceph,Swift,HDFS的功能实现和优缺点,适用场景。

[[126360]]

关于Openstack的分布式存储,我关注Ceph,swift,hdfs的功能实现和优缺点,适用场景。

1.存储文件大小

HDFS、HBase、Hive不太适合存文档、图片大小的文件,HDFS适用于存大文件。

SWIFT:处理几个G的大文件性能上可能会比HDFS差,因为没有条带化。但遇到很多几兆、几十兆的,这些文件的存储,HDFS就不如SWIFT。所以对于日常文件的单独处理用SWIFT,集中处理如果达到G级用HDFS。

2.存储类型:块存储和对象存储

如果你只需要用块存储,那当然是Ceph,如果只需要用对象存储,那当然是SWIFT。各自有各自擅长的地方,不过现在因为Ceph也支持对象存储,SWIFT和Ceph又是OpenStack社区非常频繁提到的两种存储形式,所以,有很多人会把SWIFT和Ceph在一起比较。

如果只要用对象存储,就选择SWIFT;如果只要用块存储,那就Ceph;即要用对象存储又要用块存储的场合,是用SWIFT还是Ceph呢?我们一般是这样推荐的:

1)如果节点数量很大,推荐用Ceph单独做块,用SWIFT做对象存储,因为在节点数量较大时,Ceph的维护成本比SWIFT要高得多,大多数场景实际应用的时候会发现,大部分数据都可以放到对象存储上(这一点如果有疑问,欢迎随时讨论);

2)如果节点数量少,那就用Ceph统一搞定,因为一般认为生产环境中最小的分布式存储应当有五个节点,所以,如果节点数量少于十个或者刚到十来个,那构建两个分布式存储显然是不理想的(考虑到空间划分问题);

3)如果团队里有牛人能轻松解决Ceph大规模部署问题,那就果断用Ceph;

4)如果希望对象存储能够和OpenStack其他项目无缝结合,如果希望实现多租户,果断用SWIFT来实现对象存储。

3.对象存储概念:

RESTful接口和扁平的数据组织形式。

4.对象存储和文件系统存储区别:

所谓文件系统的本质是POSIX接口,“对象”这个名词是做对象存储的人为了把自己做的东西和文件系统区分开而用的术语,把存在对象存储里的文件叫做“对象”,所以选择文件系统还是对象存储,跟你把这堆数据称作对象还是文件并没有直接关系,而是要看你是需要POSIX还是RESTful HTTP接口,是需要目录结构还是适用扁平数据管理结构。

GlusterFS,它的优点在于如果你需要使用POSIX接口,那GlusterFS是一个很好的选择,但是Gluster在文件数量、目录数量太大的情况下会出现性能衰减,这是文件系统本身的特点决定的,不论是哪种POSIX兼容的文件系统,都存在类似的问题。

博文出处:http://blog.chinaunix.net/uid-7374279-id-4732346.html

责任编辑:Ophira 来源: ChinaUnix博客
相关推荐

2017-11-22 10:23:32

存储系统VeSpace

2019-06-17 16:17:03

存储MySQL主流

2020-06-16 15:40:32

闭锁栅栏线程

2017-10-27 08:40:44

分布式存储剪枝系统

2023-10-24 17:14:52

Kafka分布式系统

2023-12-26 08:59:52

分布式场景事务机制

2015-05-12 13:03:54

开源分布式存储HDFS

2018-02-22 08:42:04

分布式存储安全

2014-05-08 14:38:26

tornadoredissession

2018-08-08 10:32:55

分布式集群存储

2015-07-02 13:26:35

分布式存储云存储云平台

2018-10-29 12:51:35

分布式存储元数据

2021-10-22 05:42:38

分布式存储三副本系统

2022-05-23 10:26:26

数据库分布式

2022-06-27 08:21:05

Seata分布式事务微服务

2023-11-29 07:43:30

2015-05-18 09:59:48

ZooKeeper分布式计算Hadoop

2017-07-18 09:51:36

文件存储系统

2017-10-17 08:33:31

存储系统分布式

2021-12-03 18:03:06

算法场景Rsa
点赞
收藏

51CTO技术栈公众号