2015年1月7-9日,第九届中国IDC产业年度大典(IDCC2014)在北京国家会议中心隆重举行。本次大会由工信部通信发展司、中国信息通信研究院(工信部电信研究院)、云计算发展与政策论坛、数据中心联盟指导,中国IDC产业年度大典组委会主办,中国IDC圈承办,作为国内IDC行业规模最大、最具权威性和影响力的盛会,此次大会再创辉煌,三天的会议参会人数超过8000人次。
从1月7日到9日连续三天,工信部相关领导、IDC企业、电信运营商、互联网企业、设备厂商等各行业精英齐聚一堂,以"大变革 新生态"为主题煮酒论道。其中海云捷迅联合创始人兼CTO李华应邀出席本次大会并发表了"基于OpenStack的公有云平台设计"的演讲。
海云捷迅联合创始人兼CTO李华
以下为李华演讲实录:
李华:大家下午好,我是海云捷迅的李华,很高兴今天有机会跟大家分享一下我们在OpenStack的经验。可能大家看过OpenStack,最近比较火,上午也有嘉宾讲OpenStack的相关内容。IDC要转向云,IDC如果做云服务。如果我们构建我们自己的OpenStack,或者自己的公有云的服务平台。可能大家第一个想到,我们想借助开源的东西降低我们的成本,构建我们云的服务。目前从开放趋势来讲,我们讲一些云的平台,可能就是四个厂商。有OpenStack、CloudStack,OpenNebula,Eucalyputs(桉树),桉树应该算是最早的云的软件。大家可以看到所有做IaaS解决方案最早的都是桉树做的二次开发。从11年开始以后,我们大部分人转向OpenStack,这个跟社区的发展有一定原因。因为桉树逐渐走向了封闭,所以才出现了OpenStack,其实OpenStack是从桉树里面分出来的。一定我们选错一个平台,其实后续所有的投入,应该说会越来越多,因为我们做一个IaaS平台,你涉及到计算、存储、网络、安全有很多方面的内容你需要负责,如果我们靠一个小的团队去做,这是很难的,所以我们要站在巨人的肩膀上面,去利用我们自己的优势构筑已有的云的平台。
我们对整个社区做了一个分析,在这个社区里面哪个社区更获取一些?从目前来看2010年以后,OpenStack这个社区的发展已经完全超越其他几个社区。桉树现在已经被收购,去年10月份被HP收购了。OpenNebula,这个社区用的很少,我们看到黄颜色和红颜色的数据,就是表明他们在这两个社区的人数,以及论坛发贴的数量。我们看OpenStack的人数,参与人数大概有六、七千人,每天论坛发贴的人很多,从整个生态系统的建设,大家已经选择了OpenStack。那OpenStack,如果我们想构建一个开放云平台,它已经成为一个唯一的选择。当然也有人说CloudStack,你如果想做公有云的平台,CloudStack也是非常好的选择。我们要构建一个公有云,我们现在说IDC为什么做云?我们在十年以前,IDC一个机架一个月一万块钱,但是现在就是五千块钱,机架的费用已经降了一半,但是我们的人工费用、带宽费用,所有的费用都在涨,但是我们IDC出租机架钱在下降。如果我们靠卖资源的方式日子越来越难过,我们能不能把卖机柜的方式,卖更多服务,利用我们现有的资源优势,我们的运维优势,我们的带宽优势,可以给客户卖一个统一的解决方案。所以做公有云,无非就是希望帮助我们的客户按需付费,能够节省时间,能够提高他的效率。现在VPS的价格,一个月30块钱,当然还有更低的。你带宽成本要不要?计算成本要不要?通过这种打价格战的方式没有意义。我们从2000年卖到现在,已经降到十几块钱,价格已经这样了。我们需要卖存储资源以及网络资源,运维资源,统一的一起打包,真正作为客户的云的解决方案。
现在讲IaaS这个层面,因为OpenStack就是IaaS这个层面,它包括云主机、云存储、块存储、CDN、数据库、弹性IP、负载均衡等等。我这个客户在这儿买了以后,可以形成一个基本的服务。如果我们想构建这么一套东西,第一我用OpenStack可不可以帮我构建这些东西,哪些东西他有,哪些都是他没有?最简单,以前大家有一个误区,我卖虚拟化是不是卖云计算给你?OpenStack包括哪些东西?我们刚才讲的IaaS无非就是计算、存储、网络、安全。说话第一个需要池化,我需要做虚拟化,存储需要存储虚拟化,网络需要网络虚拟化。但是这些跟OpenStack没有任何关系,我们构建的时候,这是必须考虑的。你使用虚拟化的技术,服务器虚拟化,虚拟化以后这些弹性的管理层可以调度,我可以给用户提供我想要的服务,但是还有几个东西,比如说计费、报表、统计、运维,但是很遗憾这块OpenStack没有,如果我们想基于OpenStack构建这么一套公有云平台,你第一个需要选型,选择不同虚拟化的技术,你自己构建整个运维支撑平台,你运维的平台你需要自己构建,这是我们自己做的事情,OpenStack不能帮你解决这些问题,他只能帮助你做调度,这个方面可以减轻我们很大的工作量。
OpenStack包含计算、存储、网络,它现在已经很成熟,可以做虚拟化管理、网络管理、存储管理。基本的东西可以拿去,可以搭一个测试环境,另外还有一些孵化的环境。它的计费,包括数据库的服务,Hadoop的服务,这些属于孵化的项目。OpenStack它的社区很大,目前有很多项目,目前我们经常用的就是Nova、Glance,这是它目前比较成熟的,另外几个服务就是属于孵化的阶段,没有完全达到生产的程度。但是我们可以自己花一些时间,如果你想提供数据服务,我们可以做一些研究。目前最初的阶段我们可以解决计算存储网络这三块,属于说我们现在从零开始,如果你是数据中心的负责人,你说从零开始构建公有云的平台,首先第一个选择硬件,硬件没有太多考虑,就是X86架构,当然也有人做Power,这个不是主流。第二个,你是做什么区域?以前我们做跨全国的区域,这是没有问题的,你的整个帐号平台放在北京或者香港来管理,你一定要划好区域。这个区域和规模的大小也有关系,你管一百台和两千台完全不是一个观念。你一百台随便一个公司都可以搭,如果一千台你需要做很多优化,所以区域要做好规划。
第二就是资源的超分比,有哪个资源说我没有超分,那么超分多少合适?按照我们的建议,CPU大概是百分百超分,只不过两倍还是四倍的问题,根据我们的经验内存不要超分,你一定要保证内存不要超,因为CPU本身就是一个资源池,大家去竞争或者分配,但是内存如果超了,容易引起一些虚拟机crash的情况。硬盘可以通过这种模式超分一些没有问题,总的来说内存不要超分,至于超分多少倍,你可以选择比例,这个可以在OpenStack进行相关设置。另外就是你用什么样的版本,总体在我们过去几年中我们发现KVM的稳定性完全没有问题,跑一两年基本没有问题,所以系统的选择可以根据团队的熟悉程度选择一个稳定可靠的版本就可以了。当然系统里面还有一个虚拟化的选择,你用KVM还是VMware,我想百分百不会用VMware,也有一部分说我为了节省微软的费用,我会选择Hyper-V,这个也没有问题,你买我的版本,上面跑的所有的都是不需要花钱,这个对于很多IDC是很大的诱惑,但是我们可以构建Linux,比如Linux放到HyPer-V里面,这个没有任何问题,我们今年已经做完了OpenStack和Hyper-V的对接,技术上完全没有问题,我们推荐的是KVM。
服务器虚拟化和硬件的选择,是目前来说比较标准的,基本没有太多异议,但是存储的选择是一个很头疼的问题。你是用本地硬盘还是分布式存储,还是ISCSI、还是FCSAN还是SSD。其实我们的经验来看对于一些小客户来讲,这部分的东西可以完全忽略不计。你停两个小时或者四个小时,他完全不在乎。大家对于企业来讲,停一分钟都不可以。我根据不同存储的集群选择存储,我有小客户就用本地磁盘。大家看到本地磁盘觉得很土是吗?其实国内一些大公司就是用本地磁盘。我们的经验,过去我们有一万台集群,两年我们从来没有丢过数据,当然坏过硬盘和网络,但是从来没有丢过数据。你的IO竞争不会那么大,你一个跑80个虚机,一百个虚机就再说了。本地的盘很好,可以保证数据的安全性和稳定性。当然升级的时候有一个问题,不能宕机。游戏客户说我有漏洞我要升级,现在也有不宕机的升级方式,这个也不用方式,不停机也可以升级,这种技术也会有。其实也解决了一个,大家比较担心的资源竞争或者升级的问题。所以本地盘,对于大部分的客户其实实用,因为它的成本不会那么贵。现在一些云服务商,我的用户说要很高的IOPS,SSD的成本比较贵。你可以说我跑三份,SSD的成本一个G大概一个美金。分布式存储什么好处?数据可以存三份,这个没有任何问题,任何一个机宕掉,我的业务很快就可以恢复,这是它的最大优点。它的缺点也比较明显,比如现在分布式存储,我们建议你一定得上万兆,你定多少规模?首先分布式存储和计算节点是要不要放一块?所以我们一般考虑会放一块,放一块怎么做资源的节点?保证虚拟技术使用的资源不会影响你。你的计算节点和存储节点分开,分开要考虑延迟的问题,十毫秒还是二十毫秒,如果时间越长,对于一些延迟敏感的业务你就跑不了。
对于一些企业客户来讲,我不在乎钱但是很在乎数据的稳定性和可靠性,这样的话可能会采用FCSAN的方式,所以存储的选择是一个很泛的问题,这个跟你的客户群有很大关系,跟你提供的SLA有很大关系,你选择给客户提供什么样的SLA就你就选择什么样的存储。现在一般来讲我们大概十秒钟可以把虚拟机创建起来,这个地方需要做很多优化,你的模板必须已经存在,然后通过SSD实现IO的性能,这样可以达到十秒钟之内可以起来,你一定要用这样的方式。存储解决以后第二就是网络的问题,网络问题也是更麻烦的问题,而且网络关键没有一个像计算或者像存储那么成熟的解决方案。网络里面在OpenStack里面,我们分几个部分,第一是管理网络,第二是存储网络。刚才讲你是用什么?这个取决于刚才讲的用本地盘还是分布式存储还是FCSAN,当然如果用本地盘就无所谓了,存储只是一个调度而已。另外有两个网络,一个就是虚拟机的内部网络,现在看到所有的主流服务商都会限定到250Mbps以内,为什么?大家可以想想。如果企业说我就是达到千兆,虚拟机之间一定要达到。有东西向的流量,这个就是虚拟机和虚拟机之间的流量,如果你土豪一点可以用10Gb的网络,走万兆网络,分配的时候用1GB还是多少。我通过10Gb提供给用户一个东西向流量。南北向就是出去的流量,这个一般走千兆就可以了,这种情况比较少。
我们现在讲,如果你做公有云现在不提供SDN就比较落伍,你肯定会说我提供软件定义网络,软件定义网络就是解决一个问题,任何一个用户我用这个平台,我的IP地址就是自己设定的。可以两个用户他们两个用内部的IP都是一样,但是他们在下面不会受到任何影响,这个是由用户自己指定的。这样对于以前的客户,开发一些老的硬件,他想保持IP地址不变,这样需要SDN的技术。传统的VLan是很小的,你用VLan做隔离没有问题。如果超过一万个用户,这个时候VLan是不够的,这时候我们会用别的方式来做不同租户之间的隔离。另外一个就是OpenFlow,这个不一定,因为现在OpenFlow也有很多一些不成熟的地方,主要是流表的问题,当你的用户超过一万的时候,你的流表一定不够。我们现在通用的选择,就是划分成三层,通过这个功能可以解决VPC,还有安全的问题。如果集群里面有一万台的虚拟机,这一万台上公网怎么办?网络节点之间怎么解决这个问题?你 的路由,所有的虚拟机都是通过一个节点出去,这个一定会崩溃掉的。这样的话我们在OpenStack里面的E版本,我们会通过南北向的流量分到不同物理节点,这样我们物理节点没有流量的压力问题。但是我们现在I版本没有这个功能,不能做到这种模式了。还是通过两个网络节点,通过一个网络结点这样出去,但是每个网络节点也是一个很大的问题,你恢复的时候可能花十分钟或者半个小时才能恢复过来。所以你在考虑网络设计的时候,这是需要考虑的问题。
另外就是消息队列,我们的经验就是说,如果你的规模里面只跑一千虚拟机,你就可以用OpenStack自带的RabbitMQ,这个不是问题,如果跑三千、五千台自带的肯定不能解决问题。数据库,这是一些最基本的,用MYSQL的数据库,还有监控和日志。OpenStack就是提供一些基本的组件,另外一个就是用户门户,运营门户,运营支撑、监控平台这个是OpenStack没有的。还有你怎样实现自动化的安装部署,你有四百、五百你怎么安装?这样像PXE的方式可以帮助你快速部署运营平台;另外就是高可用性、负载均衡和灾备。在OpenStack里面大部分的组件没有问题,有一个麻烦就是网络节点的问题,它目前做的不够好,你需要花很多精力在这个上面做一些事情。安全,你不要以为我用OpenStack就安全,我构建一个IaaS的平台。你的数据该防DDoS还是得防,如果你的网络是全新的SDN的网络,可能得引用一些新的技术。你要考虑部署的任何一个节点不会有单点,这是小的OpenStack的环境。如果部署一个大的数据中心,按照我们的办法完全没有问题我们13年的时候通过这个架构跑了一万台虚拟机,在北京和香港两地,支撑一万台没有任何问题。刚才讲的在设计整个公有云的时候,OpenStack有一些东西,但是同时也没有一些东西。刚才这个地方列的你的计费和运营,监控和告警他们做的不够完善,另外就是网络节点高可用的问题,你要用社区方案也可以用,但是有可能一个节点挂了以后需要半个小时才可以恢复过来,没有任何技术支持。如果投入十人团队或者二十人的团队没有任何问题,你可以通过自己的努力解决这个问题。
对于我们来讲,我们从2012年开始做OpenStack,因为我们跟一些鹏博士、国内一列大型的IDC我们已经有一些联合工作,之前我们部署1500台服务器,我们的平台运营了几千万的公有云的营收,但是这个不是我们的,我们只是一个技术服务商。我们可以支持大规模的OpenStack公司,这个已经验证过了。我们做的分布式的消息队列,目前来讲只有我们来做。为什么我们做这个东西?主要是在大规模扩展的时候发现了瓶颈。这个正在贡献给社区,今年6月份会看到我们贡献给社区的代码。我们做了几个好玩的东西,第一你会经常发现你的客户把虚拟机删了以后找你要虚拟机,现在可以回收。删掉一个,四天或者四天小时可以找回来,超过这个时间它会被删除,你所有的组件我们做了一个更完善的方案。我们在分布式存储还有对象存储这块,如果需要未来卖一些SDN的产品都没有问题的。这是一键VPC,我帮你把路由、交换通过一个界面全部做了,包括防火墙。我们叫一键VPC,你不用设置那些东西。我们现在做七秒钟的监控,七秒钟之内可以不停的刷新你的数据。还有路由器流量监控、路由器出口,我们不对虚拟机做总带宽的限制。不像现在云的服务商都是一个虚机对一个供应商,包括我刚才讲的回收站。对于我们来讲我们就是基础服务商,我们联合出软件大家出硬件资源,采用联合方式一起运营公有云。目前我们在国内我们做了这些客户,国内几个大的IDC我们都做了,包括跟一些运营商的合作我们都做了,谢谢大家。
网友评论