首页 > 代码库 > OpenStack Cinder 块存储服务管理(七)

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

作者:李晓辉

联系方式: Xiaohui_li@foxmail.com

环境介绍

类型

控制节点和计算节点等在一起,形成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控制台块存储管理

创建卷

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

技术分享

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

技术分享

分配卷到实例

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

Lsblk

技术分享

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

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

技术分享

点击连接卷

技术分享

可以看出连结中

技术分享

连接完成

技术分享

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

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

技术分享

扩展卷大小

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

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

再次管理连接

技术分享

点击分离卷

技术分享

分离

技术分享

分离中

技术分享

点击扩展卷

技术分享

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

技术分享

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

技术分享

再次附加到实例

技术分享

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

技术分享

创建卷快照

点击创建快照

技术分享

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

技术分享

下图就是创建好的快照

技术分享

从快照创建卷

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

在快照上点击创建卷

技术分享

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

技术分享

我们发现正在创建中了

技术分享

将卷上传到镜像

在卷上面点击上传到镜像

技术分享

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

技术分享

技术分享

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

技术分享

转让卷到另一个租户

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

技术分享

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

技术分享

保存好凭据和密钥等信息

技术分享

看到等待传输

技术分享

登陆另一家公司的控制台

技术分享

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

技术分享

输入ID和密钥

技术分享

完成卷的转让

技术分享

删除卷

选中后点击删除即可

技术分享

命令行块存储管理

创建卷

查看现在已经有的卷

openstack volume list

技术分享

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

openstack volume create --size 20 xiaohui

openstack volume list

技术分享

分配卷到实例

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

openstack server add volume Host1 xiaohui

openstack volume list

技术分享

扩展卷大小

先卸载卷

openstack server remove volume Host1 xiaohui

openstack volume list

技术分享

openstack volume set --size 5 xiaohui

openstack volume list

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

技术分享

重新附加到实例

openstack server add volume Host1 xiaohui

openstack volume list

技术分享

创建卷快照

查看现有卷的快照

openstack snapshot list

技术分享

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

openstack snapshot create --name xiaohui-snap xiaohui

技术分享

从快照创建卷

openstack snapshot list

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

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

技术分享

将卷上传到镜像

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

openstack image list

技术分享

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

技术分享

转让卷到另一个租户

openstack volume list

cinder transfer-create Xiaohui

创建了一个key和id

技术分享

切换身份到另一个租户

cat keystonerc_lixiaohui

技术分享

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

技术分享

技术分享

删除卷

openstack volume list

openstack volume delete xiaohui    
openstack volume list

技术分享

下一篇介绍Ceilometer Telemetry服务

本文出自 “阳光☆奋进” 博客,转载请与作者联系!

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