作者:李晓辉

联系方式: [email protected]

环境介绍

类型

控制节点和计算节点等在一起,形成all-in-one

内存

8G

硬盘

200G

网卡

2块

块存储服务概览

块存储服务(cinder)为实例提供块存储。存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的。还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等。

典型情况下,块服务API和调度器服务运行在控制节点上。取决于使用的驱动,卷服务器可以运行在控制节点、计算节点或单独的存储节点。

OpenStack块存储服务(cinder)为虚拟机添加持久的存储,块存储提供一个基础设施为了管理卷,以及和OpenStack计算服务交互,为实例提供卷。此服务也会激活管理卷的快照和卷类型的功能。

块存储服务通常包含下列组件:

cinder-api

接受API请求,并将其路由到cinder-volume执行。

cinder-volume

与块存储服务和例如cinder-scheduler的进程进行直接交互。它也可以与这些进程通过一个消息队列进行交互。cinder-volume服务响应送到块存储服务的读写请求来维持状态。它也可以和多种存储提供者在驱动架构下进行交互。

cinder-scheduler守护进程

选择最优存储提供节点来创建卷。其与nova-scheduler组件类似。

cinder-backup守护进程

cinder-backup服务提供任何种类备份卷到一个备份存储提供者。就像cinder-volume服务,它与多种存储提供者在驱动架构下进行交互。

消息队列

在块存储的进程之间路由信息。

块存储管理

Web控制台块存储管理

创建卷

登陆控制台,点击项目、计算、卷,点击创建卷

OpenStack Cinder 块存储服务管理(七)_第1张图片

输入卷名称、选择卷的来源、类型、大小、可用域范围,然后点击创建卷

OpenStack Cinder 块存储服务管理(七)_第2张图片

分配卷到实例

查看一下实例中现在有几个硬盘,下图显示只有一个vda硬盘

Lsblk

OpenStack Cinder 块存储服务管理(七)_第3张图片

现在分配刚创建的1G卷到实例

点击卷右侧的下箭头,点击管理连接,将卷连接到实例

OpenStack Cinder 块存储服务管理(七)_第4张图片

点击连接卷

OpenStack Cinder 块存储服务管理(七)_第5张图片

可以看出连结中

OpenStack Cinder 块存储服务管理(七)_第6张图片

连接完成

OpenStack Cinder 块存储服务管理(七)_第7张图片

再次检查实例中的硬盘个数

发现现在已经多了一个vdb硬盘,大小为1G

OpenStack Cinder 块存储服务管理(七)_第8张图片

扩展卷大小

由于生产数据增长的需求,硬盘可能会不够用,这个时候我们可以直接对卷做扩容

如果需要扩展卷,那就需要先暂时把附加到实例的卷分离出来,然后扩容,最后再次附加

再次管理连接

OpenStack Cinder 块存储服务管理(七)_第9张图片

点击分离卷

OpenStack Cinder 块存储服务管理(七)_第10张图片

分离

OpenStack Cinder 块存储服务管理(七)_第11张图片

分离中

OpenStack Cinder 块存储服务管理(七)_第12张图片

点击扩展卷

OpenStack Cinder 块存储服务管理(七)_第13张图片

输入新的大小,然后点击扩展卷

OpenStack Cinder 块存储服务管理(七)_第14张图片

扩展完成,可以看到2G大小

OpenStack Cinder 块存储服务管理(七)_第15张图片

再次附加到实例

OpenStack Cinder 块存储服务管理(七)_第16张图片

我们现在可以看到大小以及为2G

OpenStack Cinder 块存储服务管理(七)_第17张图片

创建卷快照

点击创建快照

OpenStack Cinder 块存储服务管理(七)_第18张图片

注意上面的提示,最好的情况是先暂时卸载卷,确认后直接点击创建

OpenStack Cinder 块存储服务管理(七)_第19张图片

下图就是创建好的快照

OpenStack Cinder 块存储服务管理(七)_第20张图片

从快照创建卷

从快照创建卷的好处大家可以先想一下完整的复制了一块数据一模一样的硬盘,非常实用

在快照上点击创建卷

OpenStack Cinder 块存储服务管理(七)_第21张图片

我们可以看到来源为一个快照,点击创建卷即可

OpenStack Cinder 块存储服务管理(七)_第22张图片

我们发现正在创建中了

OpenStack Cinder 块存储服务管理(七)_第23张图片

将卷上传到镜像

在卷上面点击上传到镜像

OpenStack Cinder 块存储服务管理(七)_第24张图片

我们可以输入名称和格式,点击上传即可

OpenStack Cinder 块存储服务管理(七)_第25张图片

OpenStack Cinder 块存储服务管理(七)_第26张图片

我们可以看到镜像中已经做了一个镜像,已经可以用于创建实例

OpenStack Cinder 块存储服务管理(七)_第27张图片

转让卷到另一个租户

我们可以想象一下,两家公司达成了合作,需要其中一个公司的一个卷里的数据,就可以直接转让即可

OpenStack Cinder 块存储服务管理(七)_第28张图片

完成名称的输入,点击创建转让

OpenStack Cinder 块存储服务管理(七)_第29张图片

保存好凭据和密钥等信息

OpenStack Cinder 块存储服务管理(七)_第30张图片

看到等待传输

OpenStack Cinder 块存储服务管理(七)_第31张图片

登陆另一家公司的控制台

OpenStack Cinder 块存储服务管理(七)_第32张图片

右上角可以看出,当前登录的用户为lixiaohui,在卷处点击接受转让

OpenStack Cinder 块存储服务管理(七)_第33张图片

输入ID和密钥

OpenStack Cinder 块存储服务管理(七)_第34张图片

完成卷的转让

OpenStack Cinder 块存储服务管理(七)_第35张图片

删除卷

选中后点击删除即可

OpenStack Cinder 块存储服务管理(七)_第36张图片

命令行块存储管理

创建卷

查看现在已经有的卷

openstack volume list

OpenStack Cinder 块存储服务管理(七)_第37张图片

创建新的卷,大小为20G,名称为xiaohui

openstack volume create --size 20 xiaohui

openstack volume list

OpenStack Cinder 块存储服务管理(七)_第38张图片

分配卷到实例

我们可以看到下图最后一栏,已经分配到实例了

openstack server add volume Host1 xiaohui

openstack volume list

OpenStack Cinder 块存储服务管理(七)_第39张图片

扩展卷大小

先卸载卷

openstack server remove volume Host1 xiaohui

openstack volume list

OpenStack Cinder 块存储服务管理(七)_第40张图片

openstack volume set --size 5 xiaohui

openstack volume list

下图我们看出大小已经变为5G

OpenStack Cinder 块存储服务管理(七)_第41张图片

重新附加到实例

openstack server add volume Host1 xiaohui

openstack volume list

OpenStack Cinder 块存储服务管理(七)_第42张图片

创建卷快照

查看现有卷的快照

openstack snapshot list

OpenStack Cinder 块存储服务管理(七)_第43张图片

创建了一个名为xiaohui-snap的快照

openstack snapshot create --name xiaohui-snap xiaohui

OpenStack Cinder 块存储服务管理(七)_第44张图片

从快照创建卷

openstack snapshot list

openstack volume create --snapshot xiaohui-snap volume2 --size 6

我们从xiaohui-snap创建了一个volume2,大小为6G的卷

OpenStack Cinder 块存储服务管理(七)_第45张图片

将卷上传到镜像

openstack image create --volume xiaohui --container-format bare --disk-format qcow2 image1

openstack image list

OpenStack Cinder 块存储服务管理(七)_第46张图片

我们可以看到status部分,从uploading、queued到active

OpenStack Cinder 块存储服务管理(七)_第47张图片

转让卷到另一个租户

openstack volume list

cinder transfer-create Xiaohui

创建了一个key和id

OpenStack Cinder 块存储服务管理(七)_第48张图片

切换身份到另一个租户

cat keystonerc_lixiaohui

OpenStack Cinder 块存储服务管理(七)_第49张图片

cinder transfer-accept 33ed420c-2112-468b-9911-5a2aba2f8da5 ebdad68f694c0aad

OpenStack Cinder 块存储服务管理(七)_第50张图片

OpenStack Cinder 块存储服务管理(七)_第51张图片

删除卷

openstack volume list

openstack volume delete xiaohui    
openstack volume list

OpenStack Cinder 块存储服务管理(七)_第52张图片

下一篇介绍Ceilometer Telemetry服务