OpenStack —— 块存储服务Cinder(六)

简介:

一、Cinder介绍

    Cinder(Block Storage service)提供对volume从创建到删除整个生命周期的管理,从instance的角度看,挂载的每一个volume都是一块硬盘。

    OpenStack早起版本使用nova-volume为云平台虚拟机提供持久性块存储。从F版本后,就把最为Nova组成部分的nova-volume分离了出来,形成了独立的Cinder组件。

wKiom1muPveDfPg3AAB86KCHusI999.png

二、Cinder主要组件

1、cinder-api

    负责接收和处理外界的API请求,通过消息队列服务调用cinder-volume执行操作。

2、cinder-volume

    cinder-volume服务运行在存储节点上,用于管理存储空间,主要执行卷管理相关的功能管理,与volume provider协调工作,OpenStack对Volume的操作,最后都是交给cinder-volume来完成的。

    cinder-volume自身并不管理真正的存储设备,存储设备是由volume provider管理的。cinder-volume与volume provider一起实现volume生命周期的管理。

    每个存储节点都会运行一个卷服务,若干个这样的存储节点联合起来可以构成一个存储资源池。

3、cinder-scheduler

    scheduler通过调度算法选择最合适的存储节点创建volume,功能和nova-scheduler类似。

4、cinder-backup

    cinder-backup服务用于将Cinder卷备份到其他的存储系统上去,目前支持的有以Ceph、Swift和IBM TSM为后端存储的备份存储系统。

5、Messaging queue

    Cinder各个子服务通过消息队列实现进程间通信和相互协作。因为有了消息队列,子服务之间实现了解耦,这种松散的结构也是分布式系统的重要特征。

6、Database 

    Cinder有一些数据需要存放到数据库中,一般使用MySQL。数据库是安装在控制节点上的。

三、Cinder各组件协调工作

wKiom1muTPzC4df-AACFZJOwNtI598.jpg

  1. 客户(可以是 OpenStack 最终用户,也可以是其他程序)向API(cinder-api)发送请求:“帮我创建一个volume”;

  2. API对请求做一些必要处理后,向Messaging(RabbitMQ)发送了一条消息:“让Scheduler创建一个 volume”;

  3. Scheduler(cinder-scheduler)从Messaging获取到API发给它的消息,然后执行调度算法,从若干计存储点中选出节点 A;

  4. Scheduler向Messaging发送了一条消息:“让存储节点 A 创建这个volume”;

  5. 存储节点 A 的Volume(cinder-volume)从Messaging中获取到Scheduler发给它的消息,然后通过driver在volume provider上创建volume。

四、Volume Provider

    以Cinder为例,存储节点支持多种volume provider,包括 LVM, NFS, Ceph, GlusterFS,以及EMC, IBM 等商业存储系统。 
    cinder-volume为这些volume provider定义了统一的driver接口,volume provider只需要实现这些接口,就可以driver的形式即插即用到OpenStack中。下面是cinder driver的架构示意图:

wKiom1muUKXzYAtHAACFlv04P1o681.jpg

   在cinder-volume的配置文件/etc/cinder/cinder.conf中volume_driver配置项设置该存储节点使用哪种volume provider的driver,比如使用LVM,设置成如下:

1
volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver

五、OpenStack云盘的挂载

    Volume的最主要用途是作为虚拟硬盘提供给instance使用。Volume是通过Attach操作挂载到instance上的。

    每个volume实际上是存储节点上VG中的一个LV,存储节点上本地的LV如何挂载到计算节点的 instance上呢?通常情况存储节点和计算节点是不同的物理节点。

    解决方案是使用iSCSI,如下图所示:

wKioL1mvmDCxFSDRAACcPxlFVdE505.jpg

1、iSCSI

    iSCSI是Client-Server架构,有target和initiator两个术语。

  • Target:提供iSCSI存储资源的设备,简单的说,就是iSCSI服务器。

  • Initiator:使用iSCSI存储资源的设备,也就是iSCSI客户端。

    Initiator需要与target建立iSCSI连接,执行login操作,然后就可以使用target上面的块存储设备了。
    Target提供的块存储设备支持多种实现方式,我们实验环境中使用的是LV。 
    Cinder的存储节点cinder-volume默认使用tgt软件来管理和监控iSCSI target,在计算节点nova-compute使用iscsiadm执行initiator相关操作。

2、Attach操作的流程图

wKiom1mvmPKgVywjAAB-P-JEobE618.jpg

  1. 向cinder-api发送attach请求;

  2. cinder-api发送消息;

  3. cinder-volume初始化volume的连接;

  4. nova-compute将volume attach到instance。





     本文转自 wzlinux 51CTO博客,原文链接:http://blog.51cto.com/wzlinux/1962830,如需转载请自行联系原作者


相关文章
|
存储 消息中间件 算法
深入解析OpenStack Cinder:块存储服务详解
本文介绍了OpenStack及其块存储服务Cinder。OpenStack是一个开源云计算管理平台,提供基础设施即服务(IaaS),核心服务包括计算、网络、存储等。Cinder主要用于为虚拟机提供持久性块存储,具备多种功能,如卷操作、备份、快照及与实例的交互等。此外,还详细介绍了Cinder的工作流程、命令行操作及不同存储插件的使用。
2393 8
|
安全 API 网络安全
OpenStack的 网络服务(Neutron)
【8月更文挑战第23天】
1252 10
|
存储 消息中间件 数据库
云计算|OpenStack|社区版OpenStack安装部署文档(八--- 存储服务cinder的安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(八--- 存储服务cinder的安装部署---Rocky版)
759 0
|
运维 数据可视化 Linux
云计算|OpenStack|社区版OpenStack安装部署文档(七--- 仪表盘服务dashboard的安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(七--- 仪表盘服务dashboard的安装部署---Rocky版)
639 0
|
Linux API 数据库
云计算|OpenStack|社区版OpenStack安装部署文档(六 --- 网络服务neutron的安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(六 --- 网络服务neutron的安装部署---Rocky版)
777 0
|
Linux 网络安全 API
云计算|OpenStack|社区版OpenStack安装部署文档(五 --- 计算服务nova安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(五 --- 计算服务nova安装部署---Rocky版)
1258 0
|
存储 关系型数据库 MySQL
云计算|OpenStack|社区版OpenStack安装部署文档(四 --- 镜像服务glance安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(四 --- 镜像服务glance安装部署---Rocky版)
744 0
|
关系型数据库 MySQL 数据库
云计算|OpenStack|社区版OpenStack安装部署文档(三 --- 身份认证服务keystone安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(三 --- 身份认证服务keystone安装部署---Rocky版)
606 0
|
API 数据库
(五)Open Stack(M)----Neutron服务安装与配置(下)
(五)Open Stack(M)----Neutron服务安装与配置(下)
409 0
|
5天前
|
存储 弹性计算 缓存
阿里云服务器租赁费用:新版租赁收费标准及活动报价参考
本文更新了2026年阿里云全系列云服务器租赁活动报价,所有特惠资源均可前往阿里云活动中心选购,整体覆盖从个人入门到企业级高性能场景的全梯度需求。其中轻量应用服务器主打极致性价比,2核2G峰值200M带宽配置每日10点、15点限时抢购价仅38元/年,2核4G配置379元/年起;高性价比的经济型e实例、通用算力型u2i实例覆盖2核4G至4核32G全档位,适配开发测试与中小型企业业务;搭载英特尔至强6处理器的第九代c9i企业级实例算力较上代提升20%,支撑高并发生产环境,不同实例规格价差清晰,用户可根据自身业务负载与预算灵活选型。
1576 112