首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

分布式存储为什么不直接管理裸盘?

看存储须要眼观全球 存储圈专业号

从2019年开始,全球存储观察推出一个知识性的问答互动栏目:大师问答。这个也是之前的存储学院升级版。

特别邀请业内多位从业多年的存储专家,来帮助大家解答关于存储技术、存储行业、存储应用、存储研发等各种问题。

知无不言,言无不尽。希望大家可以在“大师问答”中互相学习、互相探讨、共同进步。欢迎提问,欢迎参与。

【问】:现在看到的大多数分布式存储中,数据最终还是存储为文件系统中的一个文件。为什么不能像ceph中bluestore一样,直接管理裸盘,避免文件系统的写放大等问题带来的性能损耗呢?

【大师】:一方面,直接管理裸盘需要自己开发一个管理裸盘的系统,这个投入和复杂度都比较高,一般公司搞不定,而且裸盘的需求一般在SSD介质和对性能要求高的场景,有些场景用了裸盘反而是过度设计。再一方面,ceph以前的版本存在写放大是因为写日志然后再写数据盘的问题,这样一个写被放大成2个 ,体现出来就是性能降低一倍。一般是block存储会用裸盘,其他方式因为没必要。

不过,有研发实力的情况下,还是要用裸盘。对象存储做的好,也是用裸盘的。

bluestore也不是完全的裸盘操作,metadata还是存在文件系统上。这也算是个讨巧的设计,这玩意本来就不是说要完全抛弃文件系统,主要是为了解决btr的写放大问题,同时又想要保留指针型的特性。对于用户来说,你做分布式看要干啥,数据填埋场的场景,真的没必要,本来就是一次写入,多次读取的场景,写优化没多大意义。如果是交易型的场景需就对写要求高些。

当然了,文件系统有个最大的难题是文件系统里头的IO和缓存难以由外头控制,性能体现出来就是抖,用裸盘有个好处就是什么都可以自己控制,在对性能和抖动要求都非常苛刻的场景还是要裸盘来搞定。

实际上,也不见得说是外部控制就一定抖,自己控制就不抖,这个没有绝对的,本质来说数据落盘还是需要文件系统来处理。当然NFS不也可以跑Oracle数据库吗。NFS跑Oracle数据库是可以跑,在功能上是没问题,但是还有别的问题,比如抖。

因此,ceph有他的特殊性,毕竟是全栈文件系统,要平衡的东西更多,你弄swift就没这么多事,没有SAN和NAS的包袱。

可是呢,ceph的毛病就是三合一 没有达到原生的最优化。比如用ceph跑数据库不太好搞不定吧。块、文件、对象都有其原生属性。

以前觉得ceph是朵奇葩,这两年看越来越觉得春天才刚刚开始,可是,ceph到底好在那里呢?众说纷纭,一是老能搭上热点的船,OpenStack搭一波,Data lake搭一波,AI又能搭一波,容器搭一波;二是命好;三是万金油。由此可见,ceph需要解决的问题也多。

一个非常形象的比喻:如果说块存储是跑车,文件存储是卡车,对象存储是渡轮,ceph就是变形金刚,一会变跑车,一会变卡车,一会变渡轮。但形态不同关注也不同,跑车关注极致性能,卡车性能差点,渡轮关注量。然而从极致性能到极致的量,就暗藏了很大的挑战。

所以,也有业内人士认为:开源ceph做对象存储的不错,其他如文件、块两个没有达到原生的能力。不是说ceph不好,而是说对于一般用户还是搞不定,开源的跟商业化的自然有差异。当然了,作为技术人员其实应该感谢ceph,使得技术人员不会因为 “平庸”而被辞退,感谢Sage Weil,带动一大波就业。

扩展知识:Sage Weil

Ceph是根据加州大学Santa Cruz分校的Sage Weil的博士论文所设计开发的新一代分布式文件系统软件。最早,Ceph是加州大学Santa Cruz分校的一个研究项目, 项目创始人就是Sage Weil。为此,Sage Weil也有着“Ceph之父”美誉。

本次答疑:常平、马总mushroom、Juernum、乐成祥

编辑整理:阿明。

对此,你怎么看?

欢迎文末留言评论。

欢迎提问!

更多好看的内容,直接戳

▼Dostorage(全球存储观察:存储圈专业号)

▼Data-China (阿明观察:科技观察与评论)

▼Aming-Talk (全球云观察:云与IT专业号)

▼Artcame(全球艺术观察:艺术|试验|思考)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190211G0XTHG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券