Openstack 干掉 VMWare(2)

上一篇文章“Openstack 干掉 VMWare(1)”总体说了一下使用开源版本openstack与vmware的一些比较,注意我说的是开源版本的openstack,至于各个商业版本的openstack,比如华为的FunsionCloud,什么青云QingCloud不在我的讨论范围,他们也没有付给我工资替他们做广告,哈哈,得出的初步结论就是通过openstack开源社区的努力,现在开源版的openstack已经具备了实际落地各中小企业,干掉vmware的条件,让广大人民群众用上自己的开源openstack私有云,下面继续聊一聊。

现在openstack很多实际生产案例都使用分布式存储ceph用于各个组件使用,今天主要从存储这个角度分析一下openstack与vmware的对比。首先简单说一下openstack和ceph的关系,ceph是OpenStack的主流后端存储,和OpenStack亲如兄弟,为OpenStack提供统一共享存储服务。接下来简单介绍ceph分布式存储,ceph是近来迅速崛起的开源分布式存储系统,它主要有以下几个特性:

1.多副本特性,即类似Raid1的冗余特性确保数据安全,可以是1个副本2个副本3个副本多个副本;

2.写时复制COW特性,即当有数据写入的时候才占用存储空间;有了这个特性,空间的使用效率比传统存储大大提高;

3.数据条带化特性,即有IO并发读写特性,这样可以解决一个读取效率的问题,即磁盘越多,读写IO效率越高;

4.thin provisioning特性,即按需分配空间,类似Linux文件系统的sparse稀疏文件;

我尽量以最简要的语言进行描述,其他很多专业的概念和描述有兴趣的话,可以自行参考网上相关资料。以上几个特性对于传统存储可以说是具有革命性的东西,现在从自己的认识加以描述。

当我第一次接触ceph的时候,有一些疑虑,比如:对于小规模的应用场景ceph是不是显得大材小用,如果使用多副本,比如一般使用3个副本,那实际容量只有三分之一,那空间浪费很严重,怎么达到冗余和效率的平衡;再比如,如何确保在拥有多个磁盘的单台物理机故障的情况下保证数据的安全;再比如,ceph的使用和维护会不会很麻烦,硬盘故障更换是不是很麻烦等等。现在经过一定的使用实践,我的这些疑虑都消失了。

首先,最实际的问题,冗余和空间的使用效率问题,我自己做过测试,在确保数据安全,ceph集群数据池pool采用3副本的情况下,openstack孵化10个20G大小raw格式的虚拟机,实际占用的ceph存储空间是30多G,按照传统存储,如果使用raw格式的镜像,占用空间是实打实的,10个20G大小的虚拟机,那么占用的空间就是200G,所以,对于ceph的多副本确保数据安全而“浪费”掉的空间,很容易就被“节约”回来了,所以,ceph的空间使用效率是非常高的。其中它是怎么实现的,太专业我不想多描述我也有些力不从心,可以参考我的另一篇博客“OpenStack使用Ceph存储,Ceph到底做了什么?”。

再次,数据冗余方面的实践问题。由于ceph是将一个存储目标打散分布在多个pg中,多个pg又分布在osd中,一个osd对应一个磁盘,如果拥有多个磁盘的服务器发生故障,导致这台服务器上所有磁盘及osd都不可用,那么数据是不是会丢失,经过实际验证,并不会丢失,ceph通过Crush(Controlled Replication Under Scalable Hashing)算法的多层级的结构,用数据“桶”的概念,在分配pg的时候会避免将2个副本放在同一“桶”内,比如,第一级的桶是osd(磁盘),第二级是host(主机),第三级是chassis(机框),第4级是rack(机架),等等,甚至你可以自己再定义新的“桶”层级,但是一般来说,用这些通用的层级就够了。

再再次,使用维护是不是会很复杂的问题。通过openstack的kolla进行部署的ceph,是通过docker容器实现的,如果需要新增磁盘osd,剔除故障磁盘osd,都可以非常容易实现,可以参考这两篇文章:“Openstack 之 kolla 部署ceph”、“Openstack 之 ceph更换故障磁盘” 。

说了这么些,好像还没提到vmware什么事情,现在来说说vmware和使用ceph的openstack在存储方面的比较。

1.虚拟机冗余功能方面的比较。openstack在生产落地的时候相对于vmware一直有一个软肋就是虚拟机的冗余特性不能得到很好的解决,自从和ceph结合以后,这个问题得到了解决,而且解决成本几乎为0。为什么这么说,vmware使用虚拟机的storage vmotion特性,需要购买它的企业版以上才有这个特性,另外,要实现所有虚拟机冗余的相关功能,不管是HA也好,vMostion也好,还是FT也好,都有一个前提条件,就是必须要有共享存储,而配置磁盘阵列作为共享存储大家都知道是一个不小的投入(自己搭建一个服务器作为共享存储随便玩玩的除外)。而openstack使用ceph则不一样,不需要复杂的配置,不需要集中式的磁盘阵列,因为ceph本身天然就是分布式存储,天然的就是有冗余的特性,因此openstack使用ceph存储,可以很容易就能实现虚拟机的热迁移,即虚拟机不关机的状态下从一台物理服务器迁移到另一台物理服务器,也很容易就能实现虚拟机的遣散(evacuate)功能,即将一台物理服务器上所有的虚拟机迁移到另一台服务器。

2.磁盘IO性价比的比较。vmware虚拟机的磁盘IO效率依靠物理硬件本身,比如使用raid0,数据条带化,可以提高并行读写速度,再比如可以通过使用SSD固态硬盘,依靠集中的磁盘阵列的高速存储等等。而使用分布式存储ceph的openstack的虚拟机磁盘IO效率凭借分布式存储固有的分布式特性,磁盘越多,并行IO读写效率越高,同样也可以通过使用SSD固态硬盘实现高速存储池,满足不同等级的存储需求,比如使用一般的磁盘组成的存储池供对象存储使用,使用SSD固态硬盘组成的存储池供nova的image使用。两者当中的差别是什么,对,成本,就是成本,ceph可以不需要磁盘阵列,全部使用服务器自己,完成分布式存储的构建,灵活而且廉价。

3.扩展性的比较。这个方面就更不用说了,vmware直接举白旗。vmware扩容到后期主要瓶颈就在存储上面,必须提高集中式的磁盘阵列的容量和性能,扩容到它所用磁盘阵列的极限的时候,只有再增加新的磁盘阵列进行扩容,而大家都懂的,IT基础设施里面什么最贵,对了,磁盘阵列,就是磁盘阵列。而使用了ceph的openstack就不同了,存储容量需要扩展的时候,直接在物理服务器上加磁盘osd,直接在openstack集群里面增加存储节点host,而且越加越high,因为分布式存储的特性就是越多的osd(对象存储设备),IO性能越high ,对于ceph来说,可扩展性是它最擅长的事情。

以上都是想到哪儿就写到哪儿,今天就写到这里,后面想到新的东西的时候再写。

原文地址:http://blog.51cto.com/yuweibing/2087933

时间: 2024-10-27 06:20:49

Openstack 干掉 VMWare(2)的相关文章

Openstack 干掉 VMWare(1)

在中小型虚拟化应用场景中,VMware占有很大的市场份额,大家对其也是非常认可,但是根据行内最新消息,现在国内openstack商业化产品华为的Funsioncloud出货量已经超过了vmware,如果加上其他的openstack商业化产品,那么至少说,在中国的私有云或者服务器虚拟化市场,openstack产品已经超过了vmware,存量上面可能vmware还占一定优势,但是增量方面,openstack系产品已经显示出优势,可以预见,今后openstack系产品使用量超越vmware是必然的.

openstack与VMware workStation的区别

免责声明:     本文中使用的部分图片来自于网络,如有侵权,请联系博主进行删除 最近一直在研究云计算,恰好有个同事问了我一个问题:你们研究的openstack到底是什么东西?跟VMware Workstation到底有什么区别? 忽然之间觉得这个问题问题的太好了,现在关于云计算的概念太多了,很多概念都没有很严谨的解释,因此根据个人的理解做一个简单的总结.   首先:"虚拟化"其实有很多分类,比如虚拟化技术,虚拟机软件,IaaS层虚拟化解决方案.甚至java虚拟机之类的东西也可以划到虚

openstack对接VMware浅析

前言 本文是对openstack对接vmware的浅析,所以本文重点是以下两点: 先了解它的整体架构,搞清楚为什么要用这样的架构: 然后再了解架构中的各个组件,组件提供的主要功能与各个组件之间的交互 整体架构 先上图,了解下openstack结合VMware的整体架构. 工作原理和流程: 虚机如何启动? 前端BC-OP或者Horizon发送http请求给Rest api,Nova api 通过RPC Call(Rabbitmq)请求scheduler选择合适的nova-compute,到此为止,

openstack在vmware虚机环境(exsi或者workstation)中实例挂死

在vmware虚机环境中安装了openstack平台,创建实例cirros和centos,openstack并未报错,但是在novnc里查看cirros实例卡在grub无法进入系统,centos实例卡在install centos7之后的界面,并且报内核错误. 后来发现comtute节点的nova.conf中的virt_type=kvm,后改为virt_type=qemu后正常

openstack 集成vmware 填坑经验

liberty 以后版本不在支持直连esxi,只支持链接vcenter 记得在esxi防火墙上启用vnc 默认vcenter是https,要么配证书,要么在nova.conf 改insecure=true 要么改源码 oslo_vmware/service.py 里面有关于ssl链接的东东注释掉,后两者我试过了都ok

Openstack 之 相对于VMWare的劣势

  上面左边是我的个人微信,如需进一步沟通,请加微信.  右边是我的公众号"Openstack私有云",如有兴趣,请关注. 前期写了两篇博文<Openstack 干掉 VMWare(1)>.<Openstack 干掉 VMWare(2)> ,提出了Openstack与VMWare的一些比较,我的出发点是基于使用社区开源版本的Openstack来替代VMware,实现企业节约成本的目的.另外,基于现在风云诡谲的国际贸易形势,说不定什么时候人家EMC不给咱们做生意了

OpenStack、KVM、VMWare和Docker

一.虚拟化 1.什么是虚拟化 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率. 2.什么是虚拟化技术 虚拟化技术是一套解决方案.完整的情况需要CPU.主板芯片组.BIOS和软件的支持,例如VMM软件或者某些操作系统本身.即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能. 3.虚拟

OpenStack建设企业私有云要解决五大问题

OpenStack已经成为一种趋势,但发行版OpenStack尚不完美,企业要建成私有云必须预先充分了解发行版OpenStack的缺点,并寻求专业OpenStack提供商的帮助与合作,才能扬长避短,真正发挥OpenStack的优势,建成最大化企业竞争优势的私有云. OpenStack在企业里如何用好?还有哪些问题需要着重解决?OpenStack在企业里怎么才能用好?开发人员认为是使用姿势的问题;用户认为要稳定可靠,不能老宕机;老板认为多招几个牛X的开发和运维就可以搞定. 其实OpenStack在

openstack mutil-hypervisor

OpenStack 4 岁多啦,每个新版本都能实现一些需求和解决一些问题.其中被企业用户问的最多的一个问题是:同一个 OpenStack 集群能同时支持多种虚拟化技术么(mutil-hypervisor)? 答案当然是 Yes!在说明如何配置 mutil-hypervisor 前,我们需要了解什么是 mutil-hypervisor. mutil-hypervirsor 简介 对很多用户来说,仅采用一种虚拟化技术难以满足他们的需求,所以用户可能会同时采用其它虚拟化技术.比如:1.用户不想被某个虚