OpenStack基础一

众多的开源云计算平台 OpenStack、CloudStack、OpenNebula、Eucalyptus

OpenStack支持多种不同的Hypervisor(如QEMU/KVM、Xen、VMware、Hyper-V、LXC等),通过调用各个的底层Hypervisor的API来实现对客户机的创建和关闭等操作

OpenStack使用的开发语言是Python

OpenStack开源项目是在2010年由Rackspace公司和美国国家航空航天局(NASA)发起的云计算项目。

OpenStack的使命是为大规模的共有云和小规模的私有云都提供一个易于扩展的、弹性云计算服务,从而让云计算的实现更加简单和云计算架构具有更好的扩展性。

OpenStack是一个云计算操作系统,它给用于提供仅仅通过一个使用Web交互接口的控制面板(Dashboard)来管理一个或多个数据中心的所有计算资源池、存储资源池、网络资源池等硬件资源。OpenStack的作用是整合各种底层硬件硬件资源,为系统管理员提供Web界面的控制面板以方便资源管理,为开发者的应用程序提供统一管理接口,为终端用户提供无缝的透明的云计算服务。


7个核心组件:计算nova、对象存储swift(镜像,实例)、块存储Cinder、镜像glance、网络Quantum、身份认证Keystone、控制面板Horizon

1)计算(Compute,代号为“Nova”)

根据需求提供虚拟的服务器。Rackspace和HP公司提供商业云计算服务正是建立在Nova之上,在Mercado Libre和NASA(Nova项目的起源地)内部也是使用的Nova。

2)对象存储(Object Storage,代号为“Swift”)

提供的对象存储服务,允许对文件进行存储或者检索(但不是通过挂载文件服务器上目录的方式来实现)。目前已经有好几家公司开始提供基于Swift的商业存储服务,这些公司包括KT公司、Rackspace公司(Swift项目的发源地)和Internap公司,而且,有很多大公司内部也使用Swift来存储数据。

对象存储就是为了快速共享,有访问速度较快。 为了克服块存储设备和文件存储的问题而产生的。

分布式存储这一块,有块存储、对象存储、文件存储

有不同的开源项目如Ceph、GlusterFS、Sheepdog、Swift,还有不同的商业实现如Google、AWS、微软、金山、七牛、又拍、阿里云还有Qingcloud,思路或多或少都有些不同,可选的硬件种类也很多。似乎可选的东西太多了,而且各有优缺点。

首先对象存储和文件存储的区别是不大的,存储的都是一样的东西,只是抛弃了统一的命名空间和目录树的结构

独立的互联网存储服务一般都是做对象存储的,因为块存储是给计算机用的,对象存储是给浏览器等HTTP客户端用的。独立服务所提供的存储系统,访问都来自互联网,自然是做对象存储;与之相对应,大部分类AWS的主机服务商都会提供一个块存储服务搭配主机服务。

同一个服务商同时提供两个服务是有好处的,除了提供的服务比较全这个优点以外,对象存储还可以支撑块存储的快照、主机的系统镜像存储等应用,可以相互结合的。

对象存储也是一种文件存储,只不过这个对象文件可以是集群里面的。

  • 对于块存储,要求的访问时延是 10ms 级的,因为给虚拟机用的,传统硬盘也是10ms 级的时延,请求尺寸都很小,但qps(iops)可能会很高,那么在这种情况下:
    • 异地多中心是不现实的,存储要和主机尽量接近,相应地可靠性必然会有所打折
    • 强一致副本不会过多,强一致要求对时延有影响
  • 对于对象存储,要求的访问时延是 100ms - 1s 级的,请求一般是中到大尺寸,低 qps 的,在这种情况下
    • 可以用更多的分散副本数来换取更高的可靠性,但过多副本增加维持一致性的难度,需要折衷

另外SSD随着成本降低,在块存储里逐渐成为主流了,以便提供更好的IOPS,AWS这个月开始,创建的EBS卷缺省就是SSD的了。

  1. 对象存储: 也就是通常意义的键值存储,其接口就是简单的GET、PUT、DEL和其他扩展,如七牛、又拍、Swift、S3

  2. 块存储: 这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口需要实现Linux的Block Device的接口或者QEMU提供的Block Driver接口,如Sheepdog,AWS的EBS,青云的云硬盘和阿里云的盘古系统,还有Ceph的RBD(RBD是Ceph面向块存储的接口)

  3. 文件存储: 通常意义是支持POSIX接口,它跟传统的文件系统如Ext4是一个类型的,但区别在于分布式存储提供了并行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存储的接口),但是有时候又会把GFS,HDFS这种非POSIX接口的类文件存储接口归入此类。

http://www.infoq.com/cn/articles/virtual-forum-three-basic-issues-about-distributed-storage/

GFS统一的文件和对象存储:GlusterFS实现了OpenStack里的对象存储API提供同步读取和写入文件或对象的数据的访问

3)块存储(Block Storage,代号为“Cinder”)

为虚拟化的客户机提供持久化的块存储服务。该组件项目的很多代码最初是来自于Nova之中(就是the nova-volume service)。不过请注意,这是块存储(或者volumes)



http://www.ibm.com/developerworks/cn/cloud/library/1402_chenhy_openstackstorage/

4)镜像(Image,代号为“Glance”)

提供了一个虚拟磁盘镜像的目录和存储仓库,可以提供对虚拟机镜像的存储和检索。这些磁盘镜像常常广泛应用于OpenStack Compute组件之中。虽然这种服务在技术上是属于可选的,但任何规模的云都可能对该服务有需求。

5)网络(Network,代号为“Quantum”)

在接口设备之间提供“网络连接即服务”的服务,而这些接口设备主要是由OpenStack的*服务(如Nova)进行管理的。该服务允许用户创建自己的网络,然后添加网络接口设备。Quantum提供了一个可插拔的体系架构,使其能够支持很多流行的网络供应商和新的网络技术。Quantum是在OpenStack的Folsom版本中才加入的新项目。


6)身份认证(Identity,代号为“Keystone”)

为OpenStack上的所有服务提供身份验证和授权。它还提供了在特定OpenStack云服务上运行的服务的一个目录。


7)控制面板(Dashboard,代号为“Horizon”)

为OpenStack的所有服务提供一个模块化的基于Web的用户界面。使用这个Web图形界面,可以完成云计算平台上的大多数的操作,如启动客户机、分配IP地址、设置访问控制权限等。

除了上面介绍的7个核心组件

8)一个是代号为“Ceilometer”的项目,用于对用户实际使用资源的进行比较细粒度的度量,可以为计费系统提供非常详细的资源监控数据(包括CPU、内存、网络、磁盘等)。另一个是代号为“Heat”的项目,使用Amazon的AWS云格式(CouldFormation)模板来编排和描述OpenStack中的各种资源(包括客户机、动态IP、存储卷等),它提供了一套OpenStack故有的RESTful的API,和一套与AWS CloudFormation兼容的查询API。


http://www.ibm.com/developerworks/cn/cloud/library/1402_chenhy_openstackstorage/、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值