美文网首页OpenStack
OpenStack Cinder特性之Volume-backed

OpenStack Cinder特性之Volume-backed

作者: 余亚飞 | 来源:发表于2019-02-27 11:28 被阅读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开源项目,主要从事于存储服务和镜像服务的开发和维护。

    相关文章

      网友评论

        本文标题:OpenStack Cinder特性之Volume-backed

        本文链接:https://www.haomeiwen.com/subject/vtmxuqtx.html