作者:李晓辉
联系方式: 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控制台块存储管理
创建卷
登陆控制台,点击项目、计算、卷,点击创建卷
![clip_image001 clip_image001]()
输入卷名称、选择卷的来源、类型、大小、可用域范围,然后点击创建卷
![clip_image002 clip_image002]()
分配卷到实例
查看一下实例中现在有几个硬盘,下图显示只有一个vda硬盘
Lsblk
![clip_image003 clip_image003]()
现在分配刚创建的1G卷到实例
点击卷右侧的下箭头,点击管理连接,将卷连接到实例
![clip_image004 clip_image004]()
点击连接卷
![clip_image005 clip_image005]()
可以看出连结中
![clip_image006 clip_image006]()
连接完成
![clip_image007 clip_image007]()
再次检查实例中的硬盘个数
发现现在已经多了一个vdb硬盘,大小为1G
![clip_image008 clip_image008]()
扩展卷大小
由于生产数据增长的需求,硬盘可能会不够用,这个时候我们可以直接对卷做扩容
如果需要扩展卷,那就需要先暂时把附加到实例的卷分离出来,然后扩容,最后再次附加
再次管理连接
![clip_image009 clip_image009]()
点击分离卷
![clip_image010 clip_image010]()
分离
![clip_image011 clip_image011]()
分离中
![clip_image012 clip_image012]()
点击扩展卷
![clip_image013 clip_image013]()
输入新的大小,然后点击扩展卷
![clip_image014 clip_image014]()
扩展完成,可以看到2G大小
![clip_image015 clip_image015]()
再次附加到实例
![clip_image016 clip_image016]()
我们现在可以看到大小以及为2G
![clip_image017 clip_image017]()
创建卷快照
点击创建快照
![clip_image018 clip_image018]()
注意上面的提示,最好的情况是先暂时卸载卷,确认后直接点击创建
![clip_image019 clip_image019]()
下图就是创建好的快照
![clip_image020 clip_image020]()
从快照创建卷
从快照创建卷的好处大家可以先想一下完整的复制了一块数据一模一样的硬盘,非常实用
在快照上点击创建卷
![clip_image021 clip_image021]()
我们可以看到来源为一个快照,点击创建卷即可
![clip_image022 clip_image022]()
我们发现正在创建中了
![clip_image023 clip_image023]()
将卷上传到镜像
在卷上面点击上传到镜像
![clip_image024 clip_image024]()
我们可以输入名称和格式,点击上传即可
![clip_image025 clip_image025]()
![clip_image026 clip_image026]()
我们可以看到镜像中已经做了一个镜像,已经可以用于创建实例
![clip_image027 clip_image027]()
转让卷到另一个租户
我们可以想象一下,两家公司达成了合作,需要其中一个公司的一个卷里的数据,就可以直接转让即可
![clip_image028 clip_image028]()
完成名称的输入,点击创建转让
![clip_image029 clip_image029]()
保存好凭据和密钥等信息
![clip_image030 clip_image030]()
看到等待传输
![clip_image031 clip_image031]()
登陆另一家公司的控制台
![clip_image032 clip_image032]()
右上角可以看出,当前登录的用户为lixiaohui,在卷处点击接受转让
![clip_image033 clip_image033]()
输入ID和密钥
![clip_image034 clip_image034]()
完成卷的转让
![clip_image035 clip_image035]()
删除卷
选中后点击删除即可
![clip_image036 clip_image036]()
命令行块存储管理
创建卷
查看现在已经有的卷
openstack volume list
![clip_image037 clip_image037]()
创建新的卷,大小为20G,名称为xiaohui
openstack volume create --size 20 xiaohui
openstack volume list
![clip_image038 clip_image038]()
分配卷到实例
我们可以看到下图最后一栏,已经分配到实例了
openstack server add volume Host1 xiaohui
openstack volume list
![clip_image039 clip_image039]()
扩展卷大小
先卸载卷
openstack server remove volume Host1 xiaohui
openstack volume list
![clip_image040 clip_image040]()
openstack volume set --size 5 xiaohui
openstack volume list
下图我们看出大小已经变为5G
![clip_image041 clip_image041]()
重新附加到实例
openstack server add volume Host1 xiaohui
openstack volume list
![clip_image042 clip_image042]()
创建卷快照
查看现有卷的快照
openstack snapshot list
![clip_image043 clip_image043]()
创建了一个名为xiaohui-snap的快照
openstack snapshot create --name xiaohui-snap xiaohui
![clip_image044 clip_image044]()
从快照创建卷
openstack snapshot list
openstack volume create --snapshot xiaohui-snap volume2 --size 6
我们从xiaohui-snap创建了一个volume2,大小为6G的卷
![clip_image045 clip_image045]()
将卷上传到镜像
openstack image create --volume xiaohui --container-format bare --disk-format qcow2 image1
openstack image list
![clip_image046 clip_image046]()
我们可以看到status部分,从uploading、queued到active
![clip_image047 clip_image047]()
转让卷到另一个租户
openstack volume list
cinder transfer-create Xiaohui
创建了一个key和id
![clip_image048 clip_image048]()
切换身份到另一个租户
cat keystonerc_lixiaohui
![clip_image049 clip_image049]()
cinder transfer-accept 33ed420c-2112-468b-9911-5a2aba2f8da5 ebdad68f694c0aad
![clip_image050 clip_image050]()
![clip_image051 clip_image051]()
删除卷
openstack volume list
openstack volume delete xiaohui
openstack volume list
![clip_image052 clip_image052]()
下一篇介绍Ceilometer Telemetry服务