OpenStack

OpenStack Cinder特性之Volume-backed

2019-02-27  本文已影响3人  余亚飞

OpenS tack cinder能够快速的从存储镜像数据的云盘创建新的云盘。与保存在File和Swift的镜像相比,如果后端存储克隆性能比较好,从Volume-backed image创建新的云盘速度会更快。

一 特性简介

Volume-backed image特性是将镜像数据保存到cinder的后端存储中,这样从镜像创建云盘就可以省去从glance下载镜像数据格式转换再拷贝到云盘中这个复杂的过程,直接使用后端存储进行克隆。

二 特性验证

  1. 验证cinder后端为lvm,OpenStack版本为Mitaka。
  2. 修改配置项/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
  3. 修改配置项/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
  4. 从镜像创建一个云盘,部分信息如下
+--------------------------------------+------+----------+
|                  ID                               | Size | Bootable |
+--------------------------------------+------+----------+
| 1b645cde-4889-4d61-8c12-a81ef25bd51c |  1   |   true   |

  1. 在glance中创建一条镜像的记录,此时镜像的状态为queue。
    命令如下:
    #glance image-create --disk-format raw --container-format bare --name test_image

  2. 给这个镜像增加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。并且需要注意的是在使用该镜像前,对应的云盘不能删除。

  1. 从这个镜像创建lvm后端的镜像盘,cinder会直接从对应的云盘1b645cde-4889-4d61-8c12-a81ef25bd51c克隆出新的镜像盘。

总结:Volume-backed image功能配置比较复杂,依赖的因素比较多。如果后端存储的克隆性能足够好,可以极大的提升从镜像创建云盘的速度。

参考:https://docs.openstack.org/admin-guide/blockstorage-volume-backed-image.html

余亚飞,云计算软件工程师,参与OpenStack开源项目,主要从事于存储服务和镜像服务的开发和维护。

上一篇下一篇

猜你喜欢

热点阅读