OpenStack Cinder特性之Volume-backed
2019-02-27 本文已影响3人
余亚飞
OpenS tack cinder能够快速的从存储镜像数据的云盘创建新的云盘。与保存在File和Swift的镜像相比,如果后端存储克隆性能比较好,从Volume-backed image创建新的云盘速度会更快。
一 特性简介
Volume-backed image特性是将镜像数据保存到cinder的后端存储中,这样从镜像创建云盘就可以省去从glance下载镜像数据格式转换再拷贝到云盘中这个复杂的过程,直接使用后端存储进行克隆。
二 特性验证
- 验证cinder后端为lvm,OpenStack版本为Mitaka。
- 修改配置项/etc/glance/glance-api.conf
为了允许镜像服务使用cinder作为后端存储,在stores=file,http,swift中增加cinder。
stores = file, http, swift, cinder
为了能够解析locations信息,需要将show_multiple_locations修改为True。
show_multiple_locations = True
- 修改配置项/etc/cinder/cinder.conf
为了允许cinder从镜像盘克隆新的云盘,需要将glance api版本号设置为V2,并且将allowed_direct_url_schemes修改为cinder。
glance_api_version = 2
allowed_direct_url_schemes = cinder
为了允许命令openstack image create --volume <volume>创建一个指向镜像盘的镜像,需要在对应后端中增加字段image_upload_use_cinder_backend,并设置为True。
[lvm]
image_upload_use_internal_tenant = True
- 从镜像创建一个云盘,部分信息如下
+--------------------------------------+------+----------+
| ID | Size | Bootable |
+--------------------------------------+------+----------+
| 1b645cde-4889-4d61-8c12-a81ef25bd51c | 1 | true |
-
在glance中创建一条镜像的记录,此时镜像的状态为queue。
命令如下:
#glance image-create --disk-format raw --container-format bare --name test_image
-
给这个镜像增加locations信息
#glance location-add afe788bc-09fb-4254-9a94-d622c3faf4b6 --url cinder://1b645cde-4889-4d61-8c12-a81ef25bd51c
#glance image-show afe788bc-09fb-4254-9a94-d622c3faf4b6
+------------------+----------------------------------------------------------------------------+
| Property | Value |
+------------------+----------------------------------------------------------------------------+
| checksum | None |
| container_format | bare |
| created_at | 2017-05-18T05:50:23Z |
| disk_format | raw |
| id | afe788bc-09fb-4254-9a94-d622c3faf4b6 |
| locations | [{"url": "cinder://1b645cde-4889-4d61-8c12-a81ef25bd51c", "metadata": {} }] |
| min_disk | 0 |
| min_ram | 0 |
| name | testyu_image |
| owner | 551aa3665faa49278651fe15a532f21e |
| protected | False |
| size | 1073741824 |
| status | active |
| tags | [] |
| updated_at | 2017-05-18T06:47:11Z |
| virtual_size | None |
| visibility | private |
+------------------+----------------------------------------------------------------------------+
其中url中的信息为对应云盘的id。并且需要注意的是在使用该镜像前,对应的云盘不能删除。
- 从这个镜像创建lvm后端的镜像盘,cinder会直接从对应的云盘1b645cde-4889-4d61-8c12-a81ef25bd51c克隆出新的镜像盘。
总结:Volume-backed image功能配置比较复杂,依赖的因素比较多。如果后端存储的克隆性能足够好,可以极大的提升从镜像创建云盘的速度。
参考:https://docs.openstack.org/admin-guide/blockstorage-volume-backed-image.html
余亚飞,云计算软件工程师,参与OpenStack开源项目,主要从事于存储服务和镜像服务的开发和维护。