作者:李晓辉
环境介绍
类型 | 控制节点和计算节点等在一起,形成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服务