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

一、Cinder介绍

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

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

二、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各组件协调工作

  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的架构示意图:

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

volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver

时间: 2024-11-06 20:31:48

OpenStack —— 块存储服务Cinder(六)的相关文章

探索 OpenStack 之(9):深入块存储服务Cinder (Part 1)

继研究了Neutron之后,继续Nova的外围研究之旅.本站是研究块存储服务Cinder. 0.验证环境 环境包括: 1.一个controller节点,运行nova-api, nova-scheduler, cinder-api, cinder-scheduler, mysql, rabbitmq 2.一个Nova compute节点,运行一个虚机 3.三个cinder volume节点,每个节点使用LVMISCSIDriver来使用本地存储 4. 创建一个volume type,设置 volu

OpenStack Cinder 块存储服务管理(七)

作者:李晓辉 联系方式: [email protected] 环境介绍 类型 控制节点和计算节点等在一起,形成all-in-one 内存 8G 硬盘 200G 网卡 2块 块存储服务概览 块存储服务(cinder)为实例提供块存储.存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的.还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等. 典型情况下,块服务API和调度器服务运行在控制节点上.取决于使用的驱动,卷服务器可以运行在控制节点.计算节点或单独的存储节点. Op

OpenStack搭建企业私有云 六: 块存储服务(持续更新...)

块存储服务概览 OpenStack块存储服务(cinder)为虚拟机添加持久的存储,块存储提供一个基础设施为了管理卷,以及和OpenStack计算服务交互,为实例提供卷.此服务也会激活管理卷的快照和卷类型的功能.?块存储服务(cinder)为实例提供块存储.存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的.还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等. ?典型情况下,块服务API和调度器服务运行在控制节点上.取决于使用的驱动,卷服务器可以运行在控制节点.计算

openstack安装(liberty)--安装块存储服务(Block Storage service/cinder)

八.安装块存储服务(Block Storage service/cinder) ###注意注意注意时间同步很重要 8.1安装环境准备中配置主机相应配置,包括主机名称,hosts,时间同步,防火墙,SELINUX以及相关OPENSTACK包 8.2控制节点配置 8.2.1创建数据库并授权 [[email protected] ~]# mysql -uroot -p Enter password: MariaDB [(none)]> create database cinder; Query OK,

openstack-mitaka之块存储服务安装部署(controller)

1.以root用户登陆mysql,创建cinder数据库,并授权相应的权限 2.创建服务证书 1)创建cinder用户 2)将cinder用户添加到admin角色组 3)创建服务实体 3.创建块存储服务API端点 4.安装相关软件包 5.配置相关文件,编辑/etc/cinder/cinder.conf 1)[database]设置数据库连接 2)[DEFAULT]设置rabbitMQ消息队列.设置认证服务.设置my_ip 3)[oslo_messaging_rabbit]设置消息队列 4)[ke

【恒天云技术分享系列10】OpenStack块存储技术

原文:http://www.hengtianyun.com/download-show-id-101.html 块存储,简单来说就是提供了块设备存储的接口.用户需要把块存储卷附加到虚拟机(或者裸机)上后才可以与其交互.这些卷都是持久的,它们可以被从运行实例上解除或者重新附加而数据保持完整不变.OpenStack 中的实例是不能持久化的,需要挂载 volume,在 volume 中实现持久化.Cinder 就是提供对 volume 实际需要的存储块单元的实现管理功能. 1.单机块存储 1.1 LV

7、块存储服务(Block Storage service)

1.概述 块存储服务(cinder)为访客实例提供块存储设备.存储设置和消耗的方法由块存储驱动程序或多后端配置的驱动程序确定.有各种可用的驱动程序:NAS / SAN,NFS,iSCSI,Ceph等. Block Storage API和调度程序服务通常在控制器节点上运行.根据使用的驱动程序,卷服务可以在控制器节点,计算节点或独立存储节点上运行. OpenStack Block Storage服务(cinder)将持久存储添加到虚拟机.Block Storage提供了管理卷的基础架构,并与Ope

openstack-9块存储服务(此服务可选)

openstack openstack-9块存储服务(此服务可选) 块存储服务(cinder)为实例提供块存储.存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的.还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等. 典型情况下,块服务API和调度器服务运行在控制节点上.取决于使用的驱动,卷服务器可以运行在控制节点.计算节点或单独的存储节点. For more information, see the Configuration Reference. 块存储服务概览

OpenStack 存储服务 Cinder存储节点部署NFS(十七)

Cinder存储节点部署 1.安装软件包 yum install -y nfs-utils rpcbind 提示:早期版本安装portmap nfs-utils :包括基本的NFS命令与监控程序 rpcbind或portmap:支持安全NFS RPC服务的连接 2.配置NFS目录的访问权限.用户映射 mkdir -p /data/nfs vim /etc/exports /data/nfs *(rw,no_root_squash) 访问权限选项 设置输出目录只读:ro 设置输出目录读写:rw 用