Vmware虚拟化与国内XEN/KVM的BingoCloud云平台的差异

目前市面上的iaas私有云建设平台很多,如xenserver系列、vmware系列、eucalyptus系列、redhat系列等,由于vmware系列在国内登录较早,因此在企业内部认可程度较高。如下就针对vmware的vsphere云操作系统和国内的bingocloud(支持XEN和KVM)基础架构云操作系统2款产品进行一个对比,...显示全部
目前市面上的iaas私有云建设平台很多,如xenserver系列、vmware系列、eucalyptus系列、redhat系列等,由于vmware系列在国内登录较早,因此在企业内部认可程度较高。如下就针对vmware的vsphere云操作系统和国内的bingocloud(支持XEN和KVM)基础架构云操作系统2款产品进行一个对比,让我们更清楚这两者之间的区别与差异。

1. 安装部署

1.1 硬件需求

vmware与bingocloud的硬件服务器配置的官方建议都是:64位x86架构且支持虚拟化指令集的cpu

从建议上来看,二者相差不大,但实际上部署了vmware的企业往往倾向购买较高配置的服务器,而不是利旧,其主要原因是旧服务器cpu配置一般较低(如2路2核),而vmware本身收费模式是按cpu数量,因此1个cpu的内核如果较少,则会造成roi较低,因此倾向购买内核较多的新服务器提高roi。

另一方面vmware在国内的本地化支持往往靠代理完成,而代理的技术能力参差不齐,因此在建议配置硬件时往往需要较为高端的品牌服务器,由硬件本身的可靠性来提升云平台的可靠性,从而降低对本地代理的技术要求。

bingocloud的设计初衷之一就是充分保护企业现有投资,因此定价主要依据物理服务器数量。
bingocloud作为拥有云平台完整自主知识产权的企业,可以向用户提供100%的原厂服务,另一方面bingocloud在设计之初就将物理服务器,虚拟机等资源视为不可靠资源(即使99.999可靠的服务器在一年范围内都有可能出现5分钟宕机,而这样可靠的服务器成本也高的吓人),从而在底层充分考虑,在服务器出现故障时自动在整个云平台范围内找到合适的物理设备进行容灾操作,而这一切无需人工指定。


1.2 拓扑结构

vmware的部署主要采用2层结构,如图




vmware的部署结构

其中vsphere的虚拟化引擎esx被部署在物理服务器上,之后通过vcenter集中进行管控。其中vcenter即可以被部署在物理服务器上也可以被部署在虚拟机中。但是vcenter能够管理的物理服务器数量有限,因此如果需要管理更多的物理服务器需要

部署多个管理结构(一个管理结构=vcenter+固定数量的物理服务器节点),但这些管理结构之间不能统一管理调度。

bingocloud的部署采用3层结构,如图





bingocloud的部署结构



其中用于管理计算资源的NC被部署在物理服务器,而每16台NC被一个CC管理,而每16个CC又统一被一个CLC管理,而CLC又支持横向扩展为16个,因此理论上一个云中可以有16(NC)*16(CC)*16(CLC)=4096台物理服务器,这些服务器调度和的管

理都在统一的界面中,而大规模的服务器调度也是云平台的核心价值所在。这里的CC和CLC是角色的概念,即可以被部署在独立物理服务器上也可以和其他角色共用物理服务器。

1.3 安装方式

vmware采用定制化的linux作为云平台的操作系统(交付给用户就是一张光盘,且裸机安装),整个操作系统的kernal以及补丁升级由vmware公司一手包办,这样做的优点在于最终用户不用在担心操作系统层面的东西。但由于linux系统的开放性,

因此黑客攻击与系统漏洞时有发生,而官方包办的方式往往对最新的漏洞无能为力,因为不能自行进行打补丁升内核的工作。

bingocloud除了提供与vmware类似的交付方式(交付给用户就是一张光盘,且裸机安装)还提供用户自定义安装的方式,即提供一个安装包让用户直接在自己的linux系统上安装云平台,就像安装一个应用软件那样,可以给用户更自主的管理体验。

除此之外bingocoud还提供一项优势功能叫做“一键入云”,简单的说就是用户采购一台新的裸机回来,只需要将其与云控制器用网线连接(并选择启动方式为网卡启动),只需要1个回车键几分钟,就可以自动完成本机的云操作系统的安装配置,并

立即投入生产。

2.1 虚拟机资源

虚拟化引擎

vmware是目前企业内部企业内较为常见的虚拟化平台,在国内的认知度很大,但是从官方数据来看其真实案例中最大规模主要集中在30,40台物理服务器左右,对于云计算所支撑的成百上千台服务器的规模暂时没有案例,另一方面vmware作为一个

国外成熟的商业化软件其代码是完全封闭的,而作为与传统操作系统如windows,linux等同等重要的云操作系统之上未来可能运行大量国家与企业的的核心应用系统与数据,因此可能存在潜在的安全威胁。

xen和kvm作为成熟的开源虚拟化平台拥有最广泛的受众,同时也被Amazon、Openstack、华为、中移动大云、美国航空航天局等公司机构的云平台选择,其中xen平台拥有10万台级别的应用案例,而kvm也有200台以上的相应案例存在。其中

XEN的优势主要在其对CPU和内存的利用效率上,因此较多的被运营商采用。而KVM则由于其可靠性著称(KVM已经被集成在linux内核中,在日后的内核更新方面存在优势)因此更加适合企业内部使用。

由于虚拟化技术是较为成熟的技术,且有些企业已经采购了虚拟化软件,因此bingocloud自己并没有开发虚拟化引擎,而是直接通过核心技术“虚拟化适配器”和“资源调度器”直接管理虚拟化引擎,目前已经支持XEN和KVM,而对于vmware我们提供了转换工具,将其转化为我们所需要的格式。使得企业一方面不在需要在虚拟化引擎上投入过多资金,另一方面还可以保护企业原有投资。


虚拟机建立与管理

vmware和bingocloud都提供了基于向导化以及模版化的虚拟机创建方式,主要在虚拟机的鉴权与虚拟机规格配置上各有所长。

vmware主要提供基于虚拟机克隆的方式创建,因此所有新建的虚拟机初始密码相同,需要使用者登陆后修改。而虚拟机规格上vmware的灵活度较高,使用者可以自行决定虚拟机的规格,如3cpu2g内存等。

bingocloud除了支持vmware的这种方式(基于虚拟机克隆,初始密码完全一致)之外,还可以使用与银行类似的基于个人密钥的形式,虚拟机的创建者使用保存在自己电脑中的数字证书管理虚拟机,这样做的优势在于:1杜绝了字典攻击带来的安

全隐患。2由于密钥在创建人手里,因此就避免了由于运维人员知道密码而带来的责任不清晰;对于虚拟机的规格配置bingocloud采用的是由管理员统一制订规格(如高端主机=4cpu,8Gmemory,200GHD,中级主机=2cpu,4Gmemory,100GHD)然后由使用者在创建时根据需求选择,这样看似减少了灵活性,但却促使企业合规化使用资源,减少资源碎片(试想如果一台服务器共有6个cpu,一个人选择了3cpu的虚拟机而另外一个人建立了2cpu的虚拟机,就会出现资源碎片,而内存方面更是如此)。


运行监控

vmware通过向虚拟机中植入Agent的方式可以获取虚拟机的各项参数,包括cpu、内存、磁盘与网络情况,并且以直观的图形化方式展现出来,便于使用者观看,同时提供了DRS技术(通过设定cpu ,内存等指标的阈值,并以此为依据动态进行关闭,

迁移虚拟机的操作)

bingocloud产品在设计之初就站在一个比较中立的位置,因为考虑到植入agent可能由于agent程序的本身的问题对虚拟机或应用系统造成宕机风险,所以并没有采用这种方式,而是从虚拟化底层进行指标信息收集,虽然这样会增加编程的难度,但是

所获得的数据更加准确。

bingocloud主要提供了cpu占有率、磁盘读写次数、磁盘吞吐量、网络占有率、网络吞吐量等。与vmware相比,主要缺少了针对内存的监控,因为这种监控必须通过植入agent完成,且有可能会泄漏用户内存数据造成泄密风险。

另一方面bingocloud除了可以设置监控指标的阈值如:cpu高于90%、磁盘读写频繁、网络访问频繁等,并在其达到阈值的时候进行创建新服务器、关闭服务器、增加存储空间等操作之外,还将这些信息以标准化的API(与amazon cloudwatch兼容)方

式提供出来,这就提供了可以让业务的信息来控制虚拟机的变化,如:当oa访问人数超过80人时、当文件下载达到8T时、当自定义图表达到100个时等等,从而让应用系统有“自我意识”的管理自己的负载能力。


虚拟机模板创建

vmware和bingocloud都支持两种创建虚拟机模板的方式:1.新建空白模板然后从头安装OS以及其他软件;2.将已经运行的虚拟机另存为一个模板;

因为vmware的模板是自己定义的一套标准,因此vmware模板的只能由运维人员自己制作。
bingocloud的模板与公有云amazon的ami标准兼容,因此除了自己制作之外还可以直接下载公有云上别人做好的镜像,或者将自己制作好的镜像上传到公有云。



2.3 网络资源管理

在vsphere中的虚拟机创建完毕后,其网络状态有2种模式,第1种是自动桥联到物理网络中,其网络规则由物理防火墙直接管理;第2种是进入管理模式,在这种模式下所有虚拟机之间默认是互相不联通的,因此vmware提供了vNetwork Distributed Switch技术,可以实现虚拟机之间的网络路由,管理员可以使用vcenter提供的工具配置各台虚拟机之间的连通性。对于类似IP分配、防火墙规则之类的是的则需要另行购买第三方厂商的虚拟路由器产品,值得一提这种虚拟路由器产品必须在vsphere的最高版本—-企业加强版中才得到支持。

在bingocloud中的虚拟机在创建完毕后,不同用户的虚拟机可以自动的分配到不同的vlan中,相同vlan中的虚拟机是可以相互访问的,而不同vlan的虚拟机如果需要相互访问,可以直接在bingcloud的自助界面中自行管理vlan防火墙规则,如开放80端口的tcp协议访问,而无需再由网管人员帮助普通用户设置,原因在于bingocloud也原生提供了标准化的虚拟路由器,他将网络的IP、安全组(VLAN)甚至负载均衡都变为了一项服务,可供用户直接使用。



3.1 应用部署

在vmware中部署应系统序与传统部署体验相同,部署者依据部署方案创建虚拟机并安装所需操作系统与中间件或数据库,之后再进行应用部署工作。由于可以将中间件,数据库等做成虚拟机模板,而不用每次重新安装,而仅需要登录虚拟机进行配置即可,大大提高部署效率。

bingocloud除了提供了与之类似的部署体验之外还提供了称之为“一键部署”的便捷功能。在此模块中云平台提供了可视化的应用拓扑设计界面,只需要根据需求选择中间件, 数据库,是否启用负载均衡,以及网络拓扑等信息,云平台就会根据这些信息自动创建应用服务器并部署应用系统。而以此为基础在日后应用负载上升的时候,可以 自动创建并部署新应用服务器而无需人工干预。此功能主要可以解决传统应用部署存在的"部署标准化问题"与"服务器需求上升"两个问题。

传统的部署标准化主要靠文档与执行者手工完成,由于不同厂商的文档与技术支持往往大相迳庭,A开发商的部署文档只有A的技术能看懂,而由于部署的所有环节均由技术人员手工完成其可靠性存在风险。

当 传统数据中心的应用系统负载上升需要增加服务器时,往往需要原厂人员支持,实效性存在风险,而如果再加上手工部署带来的风险可能会对正常系统造成影响。而 在实施了单纯虚拟化的数据中心看似可以通过复制虚拟机解决问题,实际上并非如此,因为单纯的复制虚拟机之后不仅还需要手工的将其加入负载均衡的范围,如果 增加的是中间件服务器的话,还修改其他服务器的配置(如session复制策略)使其知道多出了一台资源,而且不说还要为其重新设置一个IP以及将其设置 到应用系统的安全组等基础操作。
『image』

3.2 资源扩展

如果某应用系统负载节节攀升,已经部署的应用服务器处理能力不足时,就需要增加应用服务器的处理能力。

vmware 提供了scale up技术可以在应用服务器出现性能瓶颈的时候,自动增加其配置,如原来的2个虚拟cpu,而可以增加为4个(增加过程中需要短暂停机),这样做可以显著的 提高应用的能力扩展性。
当然这样做有2个瓶颈:
1.物理服务器的CPU上限就是虚拟机的上限,在到达之后无法逾越;
2.如果物理服务器上有其他应用将 cpu占满,则应用无法扩展。

bingocloud 的思路不是scale up而是scale out的思路,当一个应用服务器出现性能瓶颈时,云平台会自动在当前物理机,或其他有空闲资源的物理机上即时装配(方式参考“应用部署”)一台新的应用服 务器,并且采用负载均衡技术让应用自身的能力增强对最终用户透明。

3.3 高可用性
……
收起
参与4

查看其它 2 个回答shareall_327的回答

shareall_327shareall_327系统架构师ldtd
好资料,感谢楼主
系统集成 · 2013-09-02
浏览1845

回答者

shareall_327
系统架构师ldtd

shareall_327 最近回答过的问题

回答状态

  • 发布时间:2013-09-02
  • 关注会员:1 人
  • 回答浏览:1845
  • X社区推广