乐视薛伟:乐视云存储的服务演进
DOSTOR北京报道:2014(第十届)中国存储峰会2014年2日在北京盛大开幕。作为中国存储产业的十年盛会,峰会以“掌控数据经济·重塑商业价值”为主题,邀请超过1500位学术界顶级学者、产业精英和企业用户出席,围绕数据经济和商业价值两大话题,从云计算、大数据、软件定义和闪存等四个技术方面举行一系列主题演讲和圆桌会议。
在下午的云存储应用论坛(云存储下的数据经济)上,乐视云存储技术总监薛伟以乐视云存储为基础谈了当前企业与个人如何应对云存储,其主要话题从传统视频网站的迭代存储架构问题驱动优化,存储平台化服务思路,全网企业云存储服务平台,个人云存储服务时代的有机云存储等方向进行了详细系统的介绍。
以下是大会速记内容:
大家下午好,乐视网其实不是专业做存储的公司,我们今天的这个话题跟更多企业的视角不太一样,我们还是从互联网的需求视角来看。
今天下午主要带领大家展开四个话题的讨论,第一个作为传统视频网站,甚至作为互联网企业,他们对于存储架构问题的解决,怎么能够迭代优化安排。
第二个作为互联网企业怎么把存储品牌化,我们对互联网内部的多个业务线,以及多个场景对存储的使用仍然需要一个产品级的,或者叫平台化的存储服务,这里面我们讲一个存储平台化。
后面两个是围绕价值来讲,一个是如何对全网的云存储的客户提供服务,主要是面向2B的市场。最后一个是面向2C的市场。
其实我们从互联网角度来看关注的角度不太一样,我们关注的互联网为个人、客户提供业务,我们主要考虑到如何用低成本,我们比较关注成本,当然你会发现在我们的演进当中会出现这样那样的问题,这样的问题我们也通过快速迭代,因为大家都是线上使用某个平台,通过线上快速的迭代,以及我们在存储的使用中如何把时间和空间策略很好地安排,身为厂商级的存储设备,大部分是空间设备紧张,是高密度的,我们是稀疏的空间,我们通过大量的空间的运用得到时间上的高效。
此外,通过互联网的部署,你看到全国的分布,这是在企业级存储里面没有想到的。
下面的话还会体现得比较实际,作为企业来讲,以前有运维服务商提供给你,互联网企业不管是上什么样的技术,前几年像Hadoop,你上了之后会出现什么问题,人员对新技术的运维的难度,都是我们面临的问题。
公司永远在讨论一个存储成本应用的降低,我们今天讲价值回报,不仅仅是说我今天要存多少数据,这个数据怎么快速地上传或者下载,或者快速消费掉,今天我们看到的更多是数据经济,这些数据之后,比如说大数据的理论,怎么被我高效的经济服务产生高效的价值,所以今天是我们下边的主要关注点。
我们觉得其实围绕系统的边界,要考虑到存储系统谁是使用者?我们互联网企业其实可以从几个层面来看,比如说个人使用者,或者说企业内部业务限制使用者,他们的期待是什么?
所以说我们整个的存储架构是随着这种边界的期待来去提供的高效服务成本,当然也有很多跟存储企业厂商相似形的地方,比如说我们日志存储,我们也会有一些方案在里面。
我们看一下作为实体网站核心的业务流程,这是展开我们存储话题的一个前置,视频网站大家能看到电视剧、电影,是我们上台上传到服务中心,包括移动、包括PC,所以这一步上传存储完就转码,转码之后要分发到大家各地所在的运营商,这是一个分发的过程。
之前的服务流程就是围绕一个基本的视频网站的本质服务去做的,整个的视频上传、分发,实际上我们总体一个思路是什么?
第二个,你后台所有的上传、存储、转码等等能不能做好平台化服务,为多个业务线介入和多条线服务。我们今天在看整个LeCloud分层,都在谈他的存储的虚拟化或者平台的虚拟化服务,我不关心资源运用的是什么?
第一个,你这些能动性输出给你外边的客户,今天可能很多的网站企业,各种各样的传统行业企业都想在自己的网站上输出视频,这个视频能不能去输出?这是我们一个重要的产品线和业务业务线,叫乐视鱼视频。
我只要去看出来你给我提供计算分区和子母分区,我们今天重点是对中间云存储的分区如何谈这个环节,在没有谈平台化的时候,一开始我们遇到哪些问题,之前的存储永远是一个单向的线性逻辑,能让大家看到我们的电影和电视剧,这里边的软件像开元的,比如说我们也用到过Hadoop,听起来非常适合这个场景。
因为Hadoop适合大块软件,而且有很多数据场景,这个听起来非常地好,有很多开元,你会发现用这些开元的不是因为成本低而用,一定要适合你的业务场景,用起来你会发现实际上成本都在后面,特别是我们每天数据增量在20个,你会发现我们经常在婚戒中出现这样那样的问题,比如说网卡发动的时候有一个荡机。
其实很多时候是由于Hadoop的技术过老,或者瓶颈导致的。比如说0.2、0.3的场景,一个文件我为了让它更可行,你会发现很多文建会不可靠的情况下会断掉,我们需要断点续传,你会发现我们说Hadoop里边有一个机制,叫做文件制约。
你原来写的上行的代码是可以逻辑上续传,基本上不成功,需要人工地删除掉,这是我们遇见的很多客户。
以前的版本里面,一个单技术的规模也要500T,你要有一个横向扩展的过程,本来是加一个1的D,你应该是加的集群,我一个集群是500T的话,我们线上运行了七到八个集群,扩一个集群意味着什么?
意味着我们运维成本的增多。我一个工程师维护一个集群就够了,今天我要维护多个集群,而是多个集群的数据同步出现的问题。还出现宕机的问题,这些都是我们使用中的问题。
下面还有一些标准,比如说大家去访问sDK接口的时候,你会发现如果你仅仅是一个应用使你的文件存储到系统里面,它要通过各自接口,先取你的数据,再去调度,整个效率非常低下,这只是数据进到存储中,数据从存储中出来你会发现有很多用法。
你调用他的SDK接口,你会发现直接油下载接口,那个下载接口是一个管理接口,根本经不起大量数据,有的人一开始还在优化我们的Jetty服务器。整个视频网站还是一个场景,传统的行业有他自己的解决方案,但这种解决方案都是S的模式。
传统的通过自己的FTP的客户端来上传,甚至优化之后写出自己本地的客户端去上传我们的软件。由于是内网上传,当时太原和北京两地,当时的时候你会发现因为HDMS里面没有业务进行数据管理,当时扩展的时候最多是目标端消冗,很多时候是Hadoop内部的限制。
你最后特别是我当一个大文件去分片场的时候,在Hadoop里面去拼接文件的效率是相当低的,成本是非常高的。我们说断点续传也好,什么也好,我们当时上传的业务程序非常复杂,今天发现了问题我们下一拨去解决,遇到的问题有很多。
特别是包括后面的问题,比如说一些业务方面的,刚才讲到的上传、存储、转码、分发,这个是一个串行的逻辑,由于两个借口同时传一样的视频数据,就会出现不一致性的问题。
最后我们实际上实行了两次解耦,任务引擎是我们迈向平台化一个重要的,之前创建、查询、充实、是一个队列,它对所有的业务逻辑都可以进行编辑和编纂,解决了它之后我们下一步开始做我们整个自己的存储平台化开发。今天的存储,有的人可能还是在物理的设备去谈,每一层这里面的业务API都是不一样的。
我们经常讲软件定义网络,或者说整个业务程序的业务场景适配问题都是需要灵活的API支持,实际上中间通过不同的P,首先我们把底下的物理做了一个集成,不管你用什么样的方式,底下会有一个自由的管理,对于上层的调动,不管是流量也好,还是包括存储的调动也好,是通过中间的控制层来做,而在我们右边的图你会发现很多S通过业务级的消费去做。
也就是说我们今天看平台化的要点只要有两个不同的视角,第一个会从互联网企业内部来讲,今天大家看到的是内部编辑群,明天可能会对外提供多个客户服务。最后我们还可以给个人驱动,UGC,或者PGC,这是用户的事情。
另外还有一个业务线,明天可能还会有新的业务线,或者说我的乐拍,我们很多业务线产品都会调动,用到你的平台你就要为每一个平台提供一个可靠的服务,他会期待给你更可靠地去传输,更快服务的响应。
不管怎么说最后从平台化的角度,我们要提一个共同服务视角,包括服务质量、流量控制,不同级别的牌照都要做。这里边也有场景,我们刚才划了几个场景,一个是内网上传,还有一个是外网上传。我们企业用户用云视频服务的时候一定要用外网,这些都是平台化说提出的更多的要求,不再是一个内部应用系统,而是一个对外普通的边界。
首先看看平台化里面做了哪些事情?我们把整个上传机又原来JAW的,或者N的都是通过扩展模式,特别是对于云数据管理来看,这时我们做了很多文件的管理,从目标端消冗,到云端消冗。所以说我们还有一个整个的全网的部署,整个无中心的部署方案怎么来做,一会儿我们看看后边遇到的问题。
企业级的云存储很多人用到压缩模块,你会发现不管是增加费用的问题,关键是你有没有必要去存储,因为你存储实际上就是一个时间和空间的策略问题,如果说为了让空间上去压缩、去少占东西,这一点我们没有进任何压缩模块,我们还是该怎么进怎么进,我们速度要求得比较高。
下面是包括到我们进入企业云存储时代的时候,我们云服务递增的问题,所以说今天你可以看乐视网的平台并没有提供像亚马逊那样,我们互联网数据里面经常为了做一些分布式计算,是移动计算,而不是移动数据。还有一种是计算型的存储集群,是Hadoop集群。
我们来看一下我们在全国的上传机部署里面又做了几次价格演进,首先我们假设这是一个武汉的节点,我们为了省机器你会发现这个出发点要求也是很互联网、很经济化,你说SDMS有一个额外成本节点,你还可以做热备,这个呢是非数据的资源,围绕我们上传节点,我们是围绕无中心的节点来做,这是一套测试数据,这套测试数据跑的结果是什么?
这个无中心的状态有一个坑,你用户数据量不大的时候可以,数据量很大的时候,这种无中心的节点你自己去扩展新节点的时候,要做一次数据的平衡,这个数据平衡会把所有数据结点的网卡会占很大一部分。
特别是当其中会发现你的数据结点里面发现一些服务,会发现这个服务找不着,他会自动地去做平衡,压力过大的情况下这个方案还是不可行的,我们只能当作一级存储来用。这个在去年的DOIT的大会上我把它作为一个一体式的可以,整个云存储的客户来讲大平台的一方面。
我们新的业务点是其他四点加HDFS方案,这里面实际上也会有问题,当你刚才看到看这个集群的时候,是因为有上行、又下行,今天只是把上传做了,把下载的划掉,你上传也会有问题,另外刚才也是说到了SDFS集群的问题,我们下一步解决方案通过我们通过一个有机云来解决,是我们自己分布式的系统。
我们在整个公网搭了一个双环架构的分存储云,大家知道乐视做了很多业务、做了很多产品,左下角是对外提供服务的,右边是一些个人用户,个人用户里边有一些是终端户和云存储的用户,大家知道乐视网有一个乐视网牌,这么多业务线都在用一套业务平台。
我们来看一看在个人云存储时代里边有哪些变化,首先我们个人的UGC业务,它是这个行业最大的特点,我们上传自己的数据,它将来会变成一个个人数据中心,进而变成基于个人数据的云存储的服务,比如说音乐的服务、图片的服务、视频的服务等等,具体就不讲太多了。
再往下看,个人云存储数据里面会出现很多问题,比如多样性的问题,个人已经进入一比几,你发现我们在技术环节里面,我们把所有的硬件的资源,包括产品性的资源都加到一起,两种场景使用不同,第一个是数据量比较大,就是增量不大的场景,
因为我们每天的个人云存储也在十个T左右,如果数据增量不明显,有大数据的业务,底层架构也是有优化,我们建议大家把这种阵列作为内存去做。你通过一个内存扩展页符合了内存当硬盘,硬盘当内存来使用。
今天我们做了这么多带宽,包括技术优化,我们整个的云存储平台还是根据业务场景,一个组织自由化的过程,这个图时间关系不讲太多了。关键还是看一下我们怎么解决HDFS的存在问题。右边分三块,第一个是真正的数据存储,第二块是数据存储的引擎集群,包括数据的定位,位置在哪里放等等,这些都是通过存储引擎来做。
第三个物理存储区,可以实现无限吞吐。我们做一个测试吧,我们现在整个吞吐能力有限,我们来看这个数据,这里边得到一个结论,大家可以看一下,这里边你要知道你的瓶颈是在上传机还是在存储,通过这台负载来看,整个理论值三百兆都差不多了,最后你会发现整个超时是在K14这台使显得,最后整个平静上传机数量比较大的时候,我们整个平静就是在存储集群。
我们整个瓶颈在存储集群的话,我们通过每个区来扩,扩完之后你数据就比较小,我们整个集群现在已经提供了一个美秒1500兆的集群,我们为什么要做四台打压机,这个基础上能接近1500兆每秒的大值,现在我们期望做三百个区,每个区有这样一个节点,今天我们这个指标还可以去扩,只要你有足够的机器,可以随便去扩,这个是我们一个核心的东西。最后讲一些数据经济下的东西,我们在技术上支持了不管是上传的瓶颈、存储的瓶颈,以及有一个策略的时候,我们在业务上怎么样让我们的用户达到更高的数据服务体验,这里边实际上各种数据我们在网上能够使用它的商用的,音乐你要听、视频你要看,这些我们通过网传的方式去做的,全网不可靠的情况下,我们把内部业务量增加到产品级,第一个是数据的存储,第二个是整个数据的服务体验,各种不同的分析数据,第三个是达到整个场景的服务模拟等等,时间关系就不多介绍了。