SUSE金鑫:社区版Ceph上生产如何获得商业支持

我是谁?从哪里来?到哪里去?经典的哲学三问,如今有了新的解读。

4月23日,以“软件定义存储未来”为题的首届软件定义存储峰会在深圳正式召开。SUSE售前技术专家金鑫带来了《社区版Ceph上生产如何获得商业支持》的主题分享。用数据的视角,重新解读哲学三问,并阐释开源Ceph就像跳伞运动,跳下来很快就达到最高速度,而商业支持,则是为跳伞运动员提供备用伞包,且指导大家何时开伞最安全。

以下为演讲文字整理:

各位好,感谢DOIT的邀请,我们SUSE也参加了此次活动。SUSE是做Linux开源软件起家,从1992年成立至今已有超过25年的时间。Ceph致力于社区贡献,我们的理念是来源于社区、回馈于社区,有社区版本也有商业化的包装。

这个时间大家比较困,我先以一个哲学的问题开场,哲学三连问:我是谁、来自哪里、将去何方?套用到互联网时代数据蓬勃发展。

我是谁?我是163ZB,不是身高163,是163ZB,1ZB等于1万亿GB,等于10亿PB。电脑里存满电影大概多少、这个量大概多少,有一个感性的认识,我是谁?我是163ZB。

我来自哪里?我可以来自移动终端、手机、Pad、各种各样的移动媒体,产生出大量的数据,非常之多;也可以来源于物联网,物联网时代所有的东西通过网络有效紧密的联合在一起,除了人可以很紧密以外,物体也是很紧密,通过物联网技术产生大量的数据;还有事务型数据、邮件,我们每天会遇到这样的形态,还有视听影像、监控、医学资料,研究、刊物、资料等,这是我想说的我来自哪里。

将去何方?这是我们要考虑的,IDC做了统计,2017年-2018年中国外部存储市场大概25到30亿美金,全球外部存储市场2017年-2018年大概是2000多亿美金,每年的增长不是很多,如果有兴趣看一下IDC,它放在最前面,增长量其实很低。

之前说的163ZB是当前数据的10倍,2025年离现在还有多久?六年,时间很紧迫,但是这六年的时间是不是所有的数据可以通过传统的存在承载?这之间是有巨大的空缺,这么大的空缺需要做什么?所以才需要软件定义,需要把数据重新整合、资源重新组合,有效的存储。

我们为什么需要Ceph?需要统一的接口,企业不像以前单一混合处理业务形态,需要块、需要文件、需要很有效的处理当前所有主流的存储形态,这是企业用户需要的。另外我们需要灵活的lT或是现在常讲的敏捷IT,其弹性可增可减。但现在很少有人减,一般都是增,大量的扩容需求,只要你用了数据。

前段时间有看了一句话,除了另一半外,数据是最专一的。它永远不会离开你,使用它的第一天,它永远会跟着你。但是需要找一个地方存储它,所以需要Ceph,Ceph又是混合型的架构,可以对接云架构。

之前耿航聊了Ceph很多,我从另外一个角度讲讲Ceph。Ceph的第一个版本是从2008年,第一个版本是V0.1,这里有一个点,2008年是小型机大行其道的时候,惠普、IBM,没有第四家,国产服务器厂家还没有起来,之后十多年的时间累计的如此多的版本,为了避免0.99的问题,经过不懈的努力变成0.99,差不多1.0了,所以换了一个方法。

2015年开始用9版本,不再用零点几的表述模式,9点几后带两位。中间三位数字,0、1、2,0是给开荒用的,刚开始是给勇士用的,前面一堆坑;1是给测试集群用的,是给高手、高级玩家用的;2是给客户用的,给商业公司用的,稳定、长期的版本。一直到2009年1月M版,13.2.4,再到当前很快要出N14.2,N版有很多的变化,还有一些新的特性,这是Ceph的小故事。

这里有一个问题需要思考,Ceph进入中国已经很多年的时间,经过开源和爱好者、情怀等各种的努力,其实有很多高级玩家。软件体系再复杂也可以很轻松的搭建社区版的稳定集群。使用的一般都是开源、免费的操作系统,刚好Linux也是走的开源这条路,底层的操作系统以及上层的Ceph应用其实都是基于开源免费的大家都是爱好者。

任何一件事情向前走一步的动力和向前走一步的落脚点,就是商业化,在集群里不是搭出来就结束了,还要考量是不是要部署业务数据,是不是要放应用,是不是要加各种各样的玩法,是不是要跟云做对接?这时我们去考量底层、上层是不是还有一些做变化的可能?是不是底层还需要商业支持的Linux系统,可以帮我解决Bug的问题。上层的Ceph、原生的Ceph是不是满足纯社区版的Ceph,是不是可以满足需求,或是社区版的Ceph跑数据业务的时候是不是可以完全支撑,所以才有我们这样的公司出现,我们是帮大家做后面的事情。

说个案例,我们有个客户,也是Ceph的专家,也用经典架构,六个节点,玩过Ceph的人都知道Ceph的组件和体系,他底层用13.04,用的H版。现在要从H版变成L版,并且要把底层免费的,上层的Ceph系统要同样的变化,同时数据不能丢失,这是客户提出来的需求,需要我们帮忙做规划。

左边到右边这步要做什么、需要怎么做?首先还是基于免费的开源操作系统,H版是不能直接升级到L版,L版的组件也没办法管理H版,因此需要升级两步,H版到G版,FileStore不变,验证正常再把G版升到L版,升两次我们进行保存到ETE的Ceph等相关的组件,全部放到别的服务器。之后再装商业操作系统,使用SUSE自己的操作系统。

装SUSE的操作系统需要注意两个问题,数据检测系统不要装到数据卷上,装完操作系统以后我们要手动的安装发布工具,所有的组件装完再把集群重新拉起来。这个集群恢复以后其实还是FileStore的,整个过程全部做完。虽然我讲得很简单只有四步,我们做了很多事情,很多工程师一起努力,包括客户的协助才把整个的过程做完,整个过程其实很复杂,讲起来很简单。

这个项目做得很复杂,每一步步步惊心,像电视剧一样,每一步很紧张,我升完级以后做了备份再去装系统,再装发布工具,再装我们自己的组件,是不是可行,集群能不能起来?起来以后数据能不能重新纳管过来?每一步都是很大的挑战。

我们复盘的时候,很关键的一点在于Systemvolume,我们要从乌棒图变成SUSE,这个过程也是非常激动人心的,他们做完也很有成就感,这件事情很复杂也很关键。最后好不容易完成,首先是社区版的更迭,然后再把社区版变为商业版,整个体系已经做了完美的验证。

十年前的IT是做基础架构的,客户反过量适应我们的需求,客户要适应基础架构的需求,所有的应用部署、所有的业务数据需要根据你用的技术逻辑,你用IBM小机还是大机,还是用惠普的机器,还是用集中式的存储,没得选,只是这几家。

现在这个时代我们回过头看十年以后,现在不是底层架构决定上层应用,现在是上帝模式,要从上面看,应用逻辑想要怎么部署?底层的架构要满足需求,所以开源技术比较好的一点是效率高,因为集合了全世界的牛人帮你开发一个idea,把这个idea不断的完善,不断的更迭,更迭比较快,Ceph就是从上面那层全站式的满足上层应用软件的需求,各种各样的操作系统需求,这是文件系统的存储,或是在快车队的层面要满足虚拟化的需求,块和文件是当前使用场景、使用逻辑最多的情况。

对象是未来,随着非结构化的数据越来越多,数量一定越来越大,不像块和文件,块和文件都是一定的限制条件,对象的扁平化管理打破了传统的局限,所以对象是未来。对象就涉及到云平台,也可以涉及到CloudFoundry,本地到云端数据同步的问题,包括容器Docker、公有云等整个企业,这就是开源技术要满足上层客户所有的需求,你有什么需求可以满足。

对下面来讲,尽可能多的满足所有的硬件架构,现在是通用X86的时代,SDE的核心价值,初心就是要把硬件和软件做解耦合,解耦合的关键是要有通用的架构,通用的架构确实有一个可靠性、稳定性怎么办的问题,纯粹的开源、免费、社区版对接所有的服务器厂商、X86厂商是可靠性、安全性的问题,这方面怎么解决?这方面需要底层的系统商业化、商业的支持。所有的这些工作兼容性、可靠性的事情是商业性的。搭成集群是一个情怀、一个技术,让这个技术一直走下去是商业行为,需要商业公司兜底,我们也是一家,我们走的是整个体系和生态,这是我想去聊的东西。

我的片子不是特别多,我一开始从哲学三连问开头,我最后额用极限运动做结尾,跳伞很刺激、很炫酷,我自己的理解,开源技术是什么?就像跳伞运动一样,为什么?人多力量大,一跳下去速度很快,马上肾上腺素飙到爆,速度要快,体验那种过程。开源技术商业支持就是为了给你跳伞运动员一个备用伞包,之前告诉你何时开伞更安全,这是开源技术商业化的价值所在。跳下去是你的选择,跳下去你得活下去,活着到地面这件事情才算完,我们要给你提供降落伞、方法,不能还有五米再开伞,刚跳下去就开伞是伞兵不是跳伞运动。

我想聊的核心观点是,商业支持是给开源技术体系下的数据保驾护航,这就是我今天想分享的内容,谢谢大家!

(文章根据现场速记整理,未经本人审核)