《企业私有云建设指南》一2.4.2 OpenStack

举报
华章计算机 发表于 2019/06/04 10:47:50 2019/06/04
【摘要】 本书摘自《企业私有云建设指南》一第二章,第2.4.2节,作者是孙杰 山金孝 张亮 张婷婷 

       2.4.2 OpenStack

       除了计算资源以外,OpenStack还管理存储资源。OpenStack可以为云服务或云应用提供所需的对象及块存储资源;因对性能及价格有需求,很多组织已经不能满足于传统的企业级存储技术,而OpenStack可以根据用户需要提供可配置的对象存储或块存储功能。
       在OpenStack私有云环境中可能存在多种不同类型的存储资源,比如传统的企业级存储和新兴的软件定义存储,按照存储类型可以分为块存储和对象存储等。作为管理数据中心资源的云操作系统,OpenStack通过Cinder和Swift项目来管理这两种存储资源。
       如图2-11所示,与Cinder相比,Swift有些不同,它是一个开源对象存储项目,并不提供存储虚拟化功能,因此,本节我们主要讨论Cinder。与Nova项目类似,Cinder服务本身也不提供存储功能,而是通过虚拟化各种后端存储形成虚拟存储池,以供虚拟机和应用使用。

image.png

       1.虚拟机对块存储的要求

       Cinder是一个资源管理系统,负责向虚拟机提供持久块存储资源,它把不同的后端存储进行封装,向外提供统一的API,对卷进行管理并贯穿虚拟机的整个生命周期。如图2-12所示。

image.png


Cinder的基本功能:

    ◆    创建卷
    ◆    从已有卷创建卷(克隆)
    ◆    扩展卷
    ◆    删除卷
    ◆    挂载卷到虚拟机
    ◆    从虚拟机上分离卷
    ◆    创建卷快照
    ◆    从已有卷快照创建卷
    ◆    删除卷快照
    ◆    从镜像创建卷
    ◆    从卷创建镜像
       Cinder通过插件式驱动来支持不同的后端存储,如图2-13所示。

image.png

image.png

image.png

image.png

       2.存储池管理

       Cinder-volume服务运行在存储节点上,管理着存储空间。每个存储节点都有一个Volume Service,若干个这样的存储节点联合起来可以构成一个虚拟块存储资源池,如图2-17所示。

image.png

       OpenStack Cinder主要包括如下几个子模块(如图2-18所示):
    ◆    Cinder-api:提供Cinder REST API。
    ◆    Cinder-scheduler:将客户端的卷创建请求调度到某个后端存储上,其工作原理类似于Nova-scheduler。
    ◆    Cinder-volume:调用后端存储的接口进行卷操作。

       3.Volume Type和QoS

       运行不同应用的虚拟机对存储可能有不同要求,比如,对I/O要求高的虚拟机自然要求使用高I/O的后端存储,对数据加密有要求的虚拟机则要求后端存储支持卷加密功能,有些虚拟机则有QoS要求。一方面,Cinder-volume周期性地将后端存储的功能和容量等信息上报给Cinder-scheduler;另一方面,Cinder通过Volume Type功能来支持这种需求。

image.png

       Volume Type是定义某个服务级别的标准的集合,它由云管理员定义,用户在创建卷的时候根据需要选择使用某种Volume Type;带有某种Volume Type的卷在被创建后也可以被修改。
       举个例子:如图2-19所示,用户需要创建一个SLA为“Silver”、大小为520GB的卷,他输入大小和Volume Type;Cinder-scheduler则会根据该Volume Type中定义的存储能力,找到一个满足条件的后端存储(Cinder backend),再将卷创建请求调度到该后端存储对应的Cinder-volume服务上。

image.png

       如图2-20所示,Cinder支持两种类型的QoS:
   ◆   一种是“front-end”类型,通过QEMU实现。
   ◆   一种是“back-end”类型,通过后端存储实现。

image.png

       用户使用Cinder QoS的通常步骤是:
    ◆    创建一个QoS spec:cinder qos-create high_read_low_write consumer= "front-end" read_iops_sec=1000 write_iops_sec=10
    ◆    创建一个Volume Type:cinder type-create type1
    ◆    将QoS spec和Volume Type关联起来:cinder qos-associate 9476d6a5-8903-4383-bb0a-bdc753843329 ca306ba5-fe9e-4b87-84b1-49823057c528
    ◆    创建一个使用上述Volume Type的卷:cinder create --display-name high-read-low-write-volume volume-type type1 100
    ◆    将卷挂载到某个虚拟机:nova volume-attach vm-1 high-read-low-write-volume/dev/vdb


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。