精华内容
下载资源
问答
  • 第6章 OpenStack镜像服务OpenStack云计算实战镜像服务基础管理Glance镜像制作OpenStack镜像手动安装和部署Glance6.1 镜像服务基础镜像与镜像服务镜像镜像的英文为Image又译为映像指一系列文件或一个磁盘驱动器的精确...
  • OpenStack 镜像服务Glance [三]

    千次阅读 2016-11-28 15:43:35
    OpenStack 镜像服务Glance [三]标签(空格分隔): openstack 时间:2016年11月28日 博客地址:www.abcdocker.com 公众号:abcdockerOpenStack镜像服务Glance介绍创建虚拟机我们需要有glance的支持,因为glance是...

    OpenStack 镜像服务Glance [三]

    标签(空格分隔): openstack
    时间:2016年11月28日
    博客地址:www.abcdocker.com
    公众号:abcdocker

    OpenStack镜像服务Glance介绍

    创建虚拟机我们需要有glance的支持,因为glance是提供镜像服务
    glance有两个比较重要的服务
    Glance-api接受云系统镜像的构建、删除、读取请求
    Glance-Registry云系统的镜像注册服务
    image_1b289am7r11f85hn7714quj8h9.png-382.8kB
      我们需要配置glance-api的配置文件和glance-registry配置文件
      glance不需要配置消息队列,但是glance需要配置keystone(认证中心

    提示:默认情况下上传镜像存放在/var/lib/glance/images

    安装glance
    创建数据库和在keystone上创建glance用户我们已经创建完成

    安装软件包

    [root@linux-node1 ~]# yum install openstack-glance -y

    修改数据库地址

    [root@linux-node1 ~]# vim /etc/glance/glance-api.conf
    [database]
    …
    connection = mysql+pymysql://glance:glance@192.168.56.11/glance
    …
    
    
    [root@linux-node1 ~]# vim /etc/glance/glance-registry.conf
    [database]
    …
    connection = mysql+pymysql://glance:glance@192.168.56.11/glance#打开注释,写mysql地址,注意是在database默认下

    修改完之后我们需要同步数据库

    [root@linux-node1 ~]# su -s /bin/sh -c "glance-manage db_sync" glance
    #替我们去创建表结构,openstack有警告没有关系,只要不是error就可以

    同步完数据库之后我们进行检查

    [root@linux-node1 ~]# mysql -h 192.168.56.11 -u glance -pglance -e "use glance;show tables;"
    +----------------------------------+
    | Tables_in_glance                 |
    +----------------------------------+
    | artifact_blob_locations          |
    | artifact_blobs                   |
    | artifact_dependencies            |
    | artifact_properties              |
    | artifact_tags                    |
    | artifacts                        |
    | image_locations                  |
    | image_members                    |
    | image_properties                 |
    | image_tags                       |
    | images                           |
    | metadef_namespace_resource_types |
    | metadef_namespaces               |
    | metadef_objects                  |
    | metadef_properties               |
    | metadef_resource_types           |
    | metadef_tags                     |
    | migrate_version                  |
    | task_info                        |
    | tasks                            |
    +----------------------------------+

    我们要确保数据库可以进行同步

    设置keystone

    [keystone_authtoken]进行设置

    [root@linux-node1 ~]# vim /etc/glance/glance-api.conf
    …
    [keystone_authtoken]
    auth_uri = http://192.168.56.11:5000
    auth_url = http://192.168.56.11:35357
    memcached_servers = 192.168.56.11:11211
    auth_type = password                    #验证类型为密码
    project_domain_name = default           #默认域
    user_domain_name = default              #用户默认域
    project_name = service                  #项目名称
    username = glance                       #用户
    password = glance                       #密码
    

    提示:必须复制在[keystone_authtoken]模块下,否则不生效
    还需要设置[paste_deploy]模块

    [paste_deploy]
    flavor = keystone
    
    #去掉注释并修改为keystone

    设置registry,和api的设置一样

    [root@linux-node1 ~]# vim /etc/glance/glance-registry.conf
    …
    [keystone_authtoken]
    auth_uri = http://192.168.56.11:5000
    auth_url = http://192.168.56.11:35357
    memcached_servers = 192.168.56.11:11211
    auth_type = password                    
    project_domain_name = default           
    user_domain_name = default              
    project_name = service                  
    username = glance                       
    password = glance            
    …
    [paste_deploy]
    flavor = keystone

    配置镜像路径
    glance-api配置本地文件系统存储和镜像文件位置

    [root@linux-node1 ~]# vim /etc/glance/glance-api.conf
    …
    [glance_store]
    stores = file,http
    default_store = file
    filesystem_store_datadir = /var/lib/glance/images
    
    #以上配置都是打开注释就可以

    检查
    glance-api配置文件配置小结:

    [root@linux-node1 ~]# grep '^[a-z]' /etc/glance/glance-api.conf 
    connection = mysql+pymysql://glance:glance@192.168.56.11/glance
    stores = file,http
    default_store = file
    filesystem_store_datadir = /var/lib/glance/images
    auth_uri = http://192.168.56.11:5000
    auth_url = http://192.168.56.11:35357
    memcached_servers = 192.168.56.11:11211
    auth_type = password        
    project_domain_name = default  
    user_domain_name = default
    project_name = service  
    username = glance
    password = glance
    flavor = keystone

    registry配置如下

    [root@linux-node1 ~]# grep '^[a-z]' /etc/glance/glance-registry.conf 
    connection = mysql+pymysql://glance:glance@192.168.56.11/glance
    auth_uri = http://192.168.56.11:5000
    auth_url = http://192.168.56.11:35357
    memcached_servers = 192.168.56.11:11211
    auth_type = password 
    project_domain_name = default
    user_domain_name = default   
    project_name = service      
    username = glance          
    password = glance         
    flavor = keystone
    
    提示:registry和api的配置跟我一样现在我们就可以启动了

    设置开启启动并开启服务

    [root@linux-node1 ~]# systemctl enable openstack-glance-api.service 
    [root@linux-node1 ~]# systemctl enable openstack-glance-registry.service 
    [root@linux-node1 ~]# systemctl start openstack-glance-api.service 
    [root@linux-node1 ~]# systemctl start openstack-glance-registry.service

    image_1b2kdnfi710p31rpf2lj1j5nig19.png-95.6kB

    提示:9292glance-api的端口,9191glance-registry的端口

    在keystone上设置服务注册
    1.创建服务

    [root@linux-node1 ~]# source admin-openstack.sh 
    [root@linux-node1 ~]# openstack service create --name glance --description "OpenStack Image" image
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | OpenStack Image                  |
    | enabled     | True                             |
    | id          | c9fd28645efe45faa2a9cf2f2cce623e |
    | name        | glance                           |
    | type        | image                            |
    +-------------+----------------------------------+
    

    2.创建镜像服务的API端点

    [root@linux-node1 ~]# openstack endpoint create --region RegionOne \
    > image public http://192.168.56.11:9292
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | cabb8016fef74b438a341866ef10917f |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | c9fd28645efe45faa2a9cf2f2cce623e |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://192.168.56.11:9292        |
    +--------------+----------------------------------+
    
    [root@linux-node1 ~]# openstack endpoint create --region RegionOne image internal http://192.168.56.11:9292
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 0bafb4e5d90745d789a16c97fc3f5688 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | c9fd28645efe45faa2a9cf2f2cce623e |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://192.168.56.11:9292        |
    +--------------+----------------------------------+
    
    [root@linux-node1 ~]# openstack endpoint create --region RegionOne image admin http://192.168.56.11:9292
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 911d06d783094d62bf2cf97e4dd3fed6 |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | c9fd28645efe45faa2a9cf2f2cce623e |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://192.168.56.11:9292        |
    +--------------+----------------------------------+

    测试
    我们可以使用openstack list或者glance list进行查看

    [root@linux-node1 ~]# openstack image list
    
    [root@linux-node1 ~]# glance image-list
    +----+------+
    | ID | Name |
    +----+------+
    +----+------+

    提示:如果此处没有出现空,那么这时候就需要看日志了。

    最后我们可以上传一个镜像进行测试

    [root@linux-node1 ~]# wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

    我们下载上面的镜像进行测试

    [root@linux-node1 ~]# openstack image create "cirros" \
    >   --file cirros-0.3.4-x86_64-disk.img \
    >   --disk-format qcow2 --container-format bare \
    >   --public
    +------------------+------------------------------------------------------+
    | Field            | Value                                                |
    +------------------+------------------------------------------------------+
    | checksum         | ee1eca47dc88f4879d8a229cc70a07c6                     |
    | container_format | bare                                                 |
    | created_at       | 2016-11-17T10:34:14Z                                 |
    | disk_format      | qcow2                                                |
    | file             | /v2/images/fc67361d-ad30-40b2-9d96-941e50fc17f5/file |
    | id               | fc67361d-ad30-40b2-9d96-941e50fc17f5                 |
    | min_disk         | 0                                                    |
    | min_ram          | 0                                                    |
    | name             | cirros                                               |
    | owner            | 026a58f98402437fa95ef4a21fbd4d1a                     |
    | protected        | False                                                |
    | schema           | /v2/schemas/image                                    |
    | size             | 13287936                                             |
    | status           | active                                               |
    | tags             |                                                      |
    | updated_at       | 2016-11-17T10:34:14Z                                 |
    | virtual_size     | None                                                 |
    | visibility       | public                                               |
    +------------------+------------------------------------------------------+

    #提示:如果没有环境变量还需要source一下

    检查是否上传成功

    [root@linux-node1 ~]# openstack image list
    +--------------------------------------+--------+--------+
    | ID                                   | Name   | Status |
    +--------------------------------------+--------+--------+
    | fc67361d-ad30-40b2-9d96-941e50fc17f5 | cirros | active |
    +--------------------------------------+--------+--------+
    [root@linux-node1 ~]# glance image-list
    +--------------------------------------+--------+
    | ID                                   | Name   |
    +--------------------------------------+--------+
    | fc67361d-ad30-40b2-9d96-941e50fc17f5 | cirros |
    +--------------------------------------+--------+
    [root@linux-node1 ~]# ls /var/lib/glance/images/
    fc67361d-ad30-40b2-9d96-941e50fc17f5
    
    镜像存放在/var/lib/glance/images下

    [M版本]
    官方中文文档:http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/keystone-install.html

    image_1b2kejcd9lfq13h31f5g1897oopm.png-58.1kB

    展开全文
  • OpenStack镜像服务Glance介绍(三)

    千次阅读 2018-07-03 09:28:28
    OpenStack镜像服务Glance介绍创建虚拟机我们需要有glance的支持,因为glance是提供镜像服务 glance有两个比较重要的服务 Glance-api接受云系统镜像的构建、删除、读取请求 Glance-Registry云系统的镜像注册服务 ...

    OpenStack镜像服务Glance介绍

    创建虚拟机我们需要有glance的支持,因为glance是提供镜像服务 
    glance有两个比较重要的服务 
    Glance-api接受云系统镜像的构建、删除、读取请求 
    Glance-Registry云系统的镜像注册服务 
    image_1b289am7r11f85hn7714quj8h9.png-382.8kB
      我们需要配置glance-api的配置文件和glance-registry配置文件 
      glance不需要配置消息队列,但是glance需要配置keystone(认证中心

    提示:默认情况下上传镜像存放在/var/lib/glance/images

    安装glance 
    创建数据库和在keystone上创建glance用户我们已经创建完成

    安装软件包

    
    
    1. [root@linux-node1 ~]# yum install openstack-glance -y

    修改数据库地址

    
    
    1. [root@linux-node1 ~]# vim /etc/glance/glance-api.conf
    2. [database]
    3. connection = mysql+pymysql://glance:glance@192.168.56.11/glance
    4. [root@linux-node1 ~]# vim /etc/glance/glance-registry.conf
    5. [database]
    6. connection = mysql+pymysql://glance:glance@192.168.56.11/glance
    7. #打开注释,写mysql地址,注意是在database默认下

    修改完之后我们需要同步数据库

    
    
    1. [root@linux-node1 ~]# su -s /bin/sh -c "glance-manage db_sync" glance
    2. #替我们去创建表结构,openstack有警告没有关系,只要不是error就可以

    同步完数据库之后我们进行检查

    
    
    1. [root@linux-node1 ~]# mysql -h 192.168.56.11 -u glance -pglance -e "use glance;show tables;"
    2. +----------------------------------+
    3. | Tables_in_glance |
    4. +----------------------------------+
    5. | artifact_blob_locations |
    6. | artifact_blobs |
    7. | artifact_dependencies |
    8. | artifact_properties |
    9. | artifact_tags |
    10. | artifacts |
    11. | image_locations |
    12. | image_members |
    13. | image_properties |
    14. | image_tags |
    15. | images |
    16. | metadef_namespace_resource_types |
    17. | metadef_namespaces |
    18. | metadef_objects |
    19. | metadef_properties |
    20. | metadef_resource_types |
    21. | metadef_tags |
    22. | migrate_version |
    23. | task_info |
    24. | tasks |
    25. +----------------------------------+

    我们要确保数据库可以进行同步

    设置keystone

    [keystone_authtoken]进行设置

    
    
    1. [root@linux-node1 ~]# vim /etc/glance/glance-api.conf
    2. [keystone_authtoken]
    3. auth_uri = http://192.168.56.11:5000
    4. auth_url = http://192.168.56.11:35357
    5. memcached_servers = 192.168.56.11:11211
    6. auth_type = password #验证类型为密码
    7. project_domain_name = default #默认域
    8. user_domain_name = default #用户默认域
    9. project_name = service #项目名称
    10. username = glance #用户
    11. password = glance #密码

    提示:必须复制在[keystone_authtoken]模块下,否则不生效 
    还需要设置[paste_deploy]模块

    
    
    1. [paste_deploy]
    2. flavor = keystone
    3. #去掉注释并修改为keystone

    设置registry,和api的设置一样

    
    
    1. [root@linux-node1 ~]# vim /etc/glance/glance-registry.conf
    2. [keystone_authtoken]
    3. auth_uri = http://192.168.56.11:5000
    4. auth_url = http://192.168.56.11:35357
    5. memcached_servers = 192.168.56.11:11211
    6. auth_type = password
    7. project_domain_name = default
    8. user_domain_name = default
    9. project_name = service
    10. username = glance
    11. password = glance
    12. [paste_deploy]
    13. flavor = keystone

    配置镜像路径 
    glance-api配置本地文件系统存储和镜像文件位置

    
    
    1. [root@linux-node1 ~]# vim /etc/glance/glance-api.conf
    2. [glance_store]
    3. stores = file,http
    4. default_store = file
    5. filesystem_store_datadir = /var/lib/glance/images
    6. #以上配置都是打开注释就可以

    检查 
    glance-api配置文件配置小结:

    
    
    1. [root@linux-node1 ~]# grep '^[a-z]' /etc/glance/glance-api.conf
    2. connection = mysql+pymysql://glance:glance@192.168.56.11/glance
    3. stores = file,http
    4. default_store = file
    5. filesystem_store_datadir = /var/lib/glance/images
    6. auth_uri = http://192.168.56.11:5000
    7. auth_url = http://192.168.56.11:35357
    8. memcached_servers = 192.168.56.11:11211
    9. auth_type = password
    10. project_domain_name = default
    11. user_domain_name = default
    12. project_name = service
    13. username = glance
    14. password = glance
    15. flavor = keystone

    registry配置如下

    
    
    1. [root@linux-node1 ~]# grep '^[a-z]' /etc/glance/glance-registry.conf
    2. connection = mysql+pymysql://glance:glance@192.168.56.11/glance
    3. auth_uri = http://192.168.56.11:5000
    4. auth_url = http://192.168.56.11:35357
    5. memcached_servers = 192.168.56.11:11211
    6. auth_type = password
    7. project_domain_name = default
    8. user_domain_name = default
    9. project_name = service
    10. username = glance
    11. password = glance
    12. flavor = keystone
    13. 提示:registryapi的配置跟我一样现在我们就可以启动了

    设置开启启动并开启服务

    
    
    1. [root@linux-node1 ~]# systemctl enable openstack-glance-api.service
    2. [root@linux-node1 ~]# systemctl enable openstack-glance-registry.service
    3. [root@linux-node1 ~]# systemctl start openstack-glance-api.service
    4. [root@linux-node1 ~]# systemctl start openstack-glance-registry.service

    image_1b2kdnfi710p31rpf2lj1j5nig19.png-95.6kB

    提示:9292glance-api的端口,9191glance-registry的端口

    在keystone上设置服务注册 
    1.创建服务

    
    
    1. [root@linux-node1 ~]# source admin-openstack.sh
    2. [root@linux-node1 ~]# openstack service create --name glance --description "OpenStack Image" image
    3. +-------------+----------------------------------+
    4. | Field | Value |
    5. +-------------+----------------------------------+
    6. | description | OpenStack Image |
    7. | enabled | True |
    8. | id | c9fd28645efe45faa2a9cf2f2cce623e |
    9. | name | glance |
    10. | type | image |
    11. +-------------+----------------------------------+

    2.创建镜像服务的API端点

    
    
    1. [root@linux-node1 ~]# openstack endpoint create --region RegionOne \
    2. > image public http://192.168.56.11:9292
    3. +--------------+----------------------------------+
    4. | Field | Value |
    5. +--------------+----------------------------------+
    6. | enabled | True |
    7. | id | cabb8016fef74b438a341866ef10917f |
    8. | interface | public |
    9. | region | RegionOne |
    10. | region_id | RegionOne |
    11. | service_id | c9fd28645efe45faa2a9cf2f2cce623e |
    12. | service_name | glance |
    13. | service_type | image |
    14. | url | http://192.168.56.11:9292 |
    15. +--------------+----------------------------------+
    16. [root@linux-node1 ~]# openstack endpoint create --region RegionOne image internal http://192.168.56.11:9292
    17. +--------------+----------------------------------+
    18. | Field | Value |
    19. +--------------+----------------------------------+
    20. | enabled | True |
    21. | id | 0bafb4e5d90745d789a16c97fc3f5688 |
    22. | interface | internal |
    23. | region | RegionOne |
    24. | region_id | RegionOne |
    25. | service_id | c9fd28645efe45faa2a9cf2f2cce623e |
    26. | service_name | glance |
    27. | service_type | image |
    28. | url | http://192.168.56.11:9292 |
    29. +--------------+----------------------------------+
    30. [root@linux-node1 ~]# openstack endpoint create --region RegionOne image admin http://192.168.56.11:9292
    31. +--------------+----------------------------------+
    32. | Field | Value |
    33. +--------------+----------------------------------+
    34. | enabled | True |
    35. | id | 911d06d783094d62bf2cf97e4dd3fed6 |
    36. | interface | admin |
    37. | region | RegionOne |
    38. | region_id | RegionOne |
    39. | service_id | c9fd28645efe45faa2a9cf2f2cce623e |
    40. | service_name | glance |
    41. | service_type | image |
    42. | url | http://192.168.56.11:9292 |
    43. +--------------+----------------------------------+

    测试 
    我们可以使用openstack list或者glance list进行查看

    
    
    1. [root@linux-node1 ~]# openstack image list
    2. [root@linux-node1 ~]# glance image-list
    3. +----+------+
    4. | ID | Name |
    5. +----+------+
    6. +----+------+

    提示:如果此处没有出现空,那么这时候就需要看日志了。

    最后我们可以上传一个镜像进行测试

    
    
    1. [root@linux-node1 ~]# wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

    我们下载上面的镜像进行测试

    
    
    1. [root@linux-node1 ~]# openstack image create "cirros" \
    2. > --file cirros-0.3.4-x86_64-disk.img \
    3. > --disk-format qcow2 --container-format bare \
    4. > --public
    5. +------------------+------------------------------------------------------+
    6. | Field | Value |
    7. +------------------+------------------------------------------------------+
    8. | checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
    9. | container_format | bare |
    10. | created_at | 2016-11-17T10:34:14Z |
    11. | disk_format | qcow2 |
    12. | file | /v2/images/fc67361d-ad30-40b2-9d96-941e50fc17f5/file |
    13. | id | fc67361d-ad30-40b2-9d96-941e50fc17f5 |
    14. | min_disk | 0 |
    15. | min_ram | 0 |
    16. | name | cirros |
    17. | owner | 026a58f98402437fa95ef4a21fbd4d1a |
    18. | protected | False |
    19. | schema | /v2/schemas/image |
    20. | size | 13287936 |
    21. | status | active |
    22. | tags | |
    23. | updated_at | 2016-11-17T10:34:14Z |
    24. | virtual_size | None |
    25. | visibility | public |
    26. +------------------+------------------------------------------------------+

    #提示:如果没有环境变量还需要source一下

    检查是否上传成功

    
    
    1. [root@linux-node1 ~]# openstack image list
    2. +--------------------------------------+--------+--------+
    3. | ID | Name | Status |
    4. +--------------------------------------+--------+--------+
    5. | fc67361d-ad30-40b2-9d96-941e50fc17f5 | cirros | active |
    6. +--------------------------------------+--------+--------+
    7. [root@linux-node1 ~]# glance image-list
    8. +--------------------------------------+--------+
    9. | ID | Name |
    10. +--------------------------------------+--------+
    11. | fc67361d-ad30-40b2-9d96-941e50fc17f5 | cirros |
    12. +--------------------------------------+--------+
    13. [root@linux-node1 ~]# ls /var/lib/glance/images/
    14. fc67361d-ad30-40b2-9d96-941e50fc17f5
    15. 镜像存放在/var/lib/glance/images

    [M版本] 
    官方中文文档:http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/keystone-install.html

    展开全文
  • Glance镜像服务 它在OpenStack中的项目名称为Glance。在早期的OpenStack版本中,Glance只有管理镜像的功能,并不具备镜像存储功能。现在,Glance已发展成为集镜像上传、检索、管理和存储等多种功能的OpenStack核心...

    Glance镜像服务

    它在OpenStack中的项目名称为Glance。在早期的OpenStack版本中,Glance只有管理镜像的功能,并不具备镜像存储功能。现在,Glance已发展成为集镜像上传、检索、管理和存储等多种功能的OpenStack核心服务。

    镜像

    镜像的英文为lmage,又译为映象,通常是指一系列文件或一个磁盘驱动器的精确副本。镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用。

    概念理解

    举例子: Ghost是使用镜像文件的经典软件,其镜像文件可以包含更多信息,如系统文件、引导文件、分区表信息等,这样镜像文件就可以包含一个分区甚至是一块硬盘所有信息。Ghost可基于镜像文件快速安装操作系统和应用程序。
    举列子:VMware的虚拟机模板

    镜像服务

    就是用来管理镜像的,让用户能够发现、获取和保存镜像。在OpenStack中提供镜像服务的是Glance,其主要功能如下:

    • 查询和获取镜像的元数据和镜像本身
    • 注册和上传虚拟机镜像,包括镜像的创建、上传、下载和管理
    • 维护镜像信息,包括元数据和镜像本身。
    • 支持多种方式存储镜像,包括普通的文件系统、Swift、Amazon S3等
    • 对虚拟机实例执行创建快照命令来创建新的镜像,或者备份虚拟机的状态。

    lmages API的版本

    Glance提供的RESTful API目前有两个版本:API v1和API v2

    • v1只提供基本的镜像和成员操作功能,包括镜像创建、删除、下载、列表、详细信息查询、更新,以及镜像租户成员的创建、删除和列表。

    • v2除了支持v1的所有功能外,主要增加了镜像位置的添加、删除、修改,元数据和名称空间操作,以及镜像标记操作。

      两个版本对镜像存储支持相同,v1从N版开始已经过时,迁移路径使用v2进行替代

    镜像格式

    虚拟机镜像文件磁盘格式

    • raw:无结构的磁盘格式
    • vhd:该格式通用于VMware、Xen、VirtualBox以及其他虚拟机管理程序
    • vhdx:vhd格式的增强版本,支持更大的磁盘尺寸
    • vmdk:一种比较通用的虚拟机磁盘格式
    • vdi:由VirtualBox虚拟机监控程序和QEMU仿真器支持的磁盘格式
    • iso:用于光盘(CD-ROM)数据内容的档案格式
    • ploop:由Virtuozzo支持,用于运行OS容器的磁盘格式
    • qcow2:由QEMU仿真支持,可动态扩展,支持写时复制(Copy on Write)的磁盘格式
    • aki:在Glance中存储的Amazon内核格式
    • ari:在Glance中存储的Amazon虚拟内存盘(Ramdisk)格式
    • ami:在Glance中存储的Amazon机器格式

    镜像格式

    镜像文件容器格式

    • bare:没有容器或元数据“信封”的镜像

    • ovf:开放虚拟化格式

    • ova:在Glance中存储的开放虚拟化设备格式

    • aki:在Glance中存储的Amazon内核格式

    • ari:在Glance中存储的Amazon虚拟内存盘(Ramdisk)格式

    • Docker:在Glance中存储的容器文件系统的Dockerd的tar档案

      如果不能确定选择哪种容器格式,那么简单地容器格式指定为bare是安全

    镜像状态1

    • queued:这是一种初始化状态,镜像文件刚被创建,在Glance数据库只有其元数据,镜像数据还没有上传至数据库中
    • saving:是镜像的原始数据在上传到数据库中的一种过渡状态,表示正在上传镜像
    • uploading:指示已进行导入数据提交调用,此状态下不允许调用PUT/file (saving状态会执行PUT/file,这是另外一种上传的方法)
    • importing:指示已经完成导入调用,但是镜像还未准备好使用

    镜像状态2

    • active:表示当镜像数据成功上传完毕,成为Glance中可用的镜像
    • deactivated:表示任何非管理员用户都无权访问镜像数据,禁止下载镜像,也禁止镜像导出和镜像克隆之类的操作
    • killed:表示镜像上传过程中发生错误,镜像不可读
    • deleted:镜像将在不久后被自动删除,该镜像不可再用,但是目前Glance仍然保留该镜像的相关信息和原始数据
    • pending_delete:与deleted相似,Glance还没有清除镜像数据,但处于该状态的镜像不可恢复

    访问权限

    • Public(公共的):可以被所有的项目使用
    • Private (私有的):只有被镜像所有者所在的项目使用
    • Shared(共享的):一个非共有的镜像可以共享给其他项目,这是通过项目成员(member-*)操作来实现的
    • Protected(受保护的):这种镜像不能被删除

    架构图

    image-20201222121203625

    • 客户端是Glance服务应用程序使用者,是OpenStack命令行工具、Horizon或Nova服务
    • glance-api是系统后台运行的服务进程,是进入Glance的入口。它对外提供REST API,负责接收用户的RESTful请求,响应镜像查询、获取和存储的调用。
    • glance-registry是系统后台运行的glance注册服务进程,负责处理与镜像元数据相关的RESTful请求,元数据包括镜像大小、类型等信息。Glance-api接收的请求如果是与镜像的元数据相关的操作,glance-api会把请求转发给glance-registry。glance-registry会解析请求内容,并与数据库交互,存储、处理、检索镜像的元数据。glance-api对外提供API,而glance-registry的API只由
    • Glance的DB模块存储的是镜像的元数据,可以选用MYSQL、MariaDB、SQLite等数据库。镜像的元数据通过glance-registry存放在数据库中。注意镜像本身(chunk数据)是通过glance存储驱动存放到各种存储后端中的。
    • 存储后端(Store Backend) Glance自身并不存储镜像,它将镜像存放在后端存储系统中。镜像本身的数据通过glance_store存放在各种后端,并可从中获取。支持本地存储、对象存储、RBD块设备、Sheepdog分布式存储、Cinder块存储、VMware数据存储。
    • 具体使用哪种 backend,是在
      letc/glance/glance-api.conf 中配置的[glance_store]

    流程解析

    OpenStack的操作都需经Keystone进行身份认证(AuthN)并授权(AuthZ),Glance也不例外。Glance是一个C/S架构,提供一个REST API,用户就通过RESTAPI来执行镜像的各种操作。Glance Domain Controller是一个主要的中间件,相当于调度器,作用是将Glance内部服务的操作分发到以下各个功能层

    image-20201222121338672

    • Policy(规则定义):定义镜像操作的访问规则,这些规则在/etc/policy.json文件中定义,该层对其进行监视并实施。
    • Quota(配额限制):如果管理员对某用户定义了镜像大小的镜像上传上限,则该用户上传了超过该限额的镜像时会上传失败。
    • Location(定位):通过glance_store与后台存储进行交互,例如上传、下载镜像,管理镜像存储位置。该层还能够在添加新位置时检查位置URI是否正确;镜像位置改变时删除存储后端保存的镜像数据;防止镜像位置重复。
    • DB(数据库):实现与数据库进行交互的API,一方面将镜像转换为相应的格式以存储在数据库中,另一方面将从数据库读取的信息转换为可操作的镜像对象。
    • Registry Layer(注册层):是一个可选层,通过使用单独的服务控制Glance Domain Controller与GlanceDB之间的安全交互。
    • Glance DB:是Glance服务使用的核心库,该库对Glance内部所有依赖数据库的组件是共享的。(这个库是存一些元数据信息的,不是真正存镜像的数据库)
    • Glance Store:用来组织处理Glance和各种存储后端的交互,提供了一个统一的接口来访问后端的存储。所有的镜像文件操作都是通过调用Glance Store库来执行的,它负责与外部存储端或本地文件存储系统的交互。

    示例分析

    • 用户执行上传镜像命令。Glance-api服务收到请求,并通过它的中间件进行解析,获取版本号等信息。
    • Glance-registry服务API获取一个registry client,调用registryclient的add_image(添加镜像)函数。此时镜像的状态为"queued",标识该镜像ID已经被保留,但是镜像还未上传。
    • Glance-registry服务执行client的add_image函数,向glance数据库插入一条记录。
    • Glance-api调用glance-registry的update_image_metadata函数,更新数据库中该镜像的状态为"saving”,标识镜像正在被上传
    • Glance-api端存储接口提供的add函数上传镜像文件。
      ance-api调用glance-registry的update_image_metadata函数,更新数据库中该镜像的状态为"saving”,标识镜像正在被上传
    • Glance-api端存储接口提供的add函数上传镜像文件。
    • Glance-api调用glance-registry的update_image_metadata函数,更新数据库中该镜像的状态为"active"并发通知。"active"标识镜像在Glance中完全可用。
    展开全文
  • 本节书摘来自异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.5节,作者: 【英】...2.5 用OpenStack镜像服务管理镜像 在OpenStack存储中上传和管理镜像都是通过glance命令行工具实现的,它提供了一...

    本节书摘来自异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.5节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 更多章节内容可以访问云栖社区“异步社区”公众号查看。

    2.5 用OpenStack镜像服务管理镜像

    在OpenStack存储中上传和管理镜像都是通过glance命令行工具实现的,它提供了一系列OpenStack环境中上传、删除、修改存储镜像相关信息的命令,非常方便。

    准备工作
    开始时,请确认登录到了可以运行glance工具的Ubuntu系统或者已经在OpenStack镜像服务直接运行在其上的OpenStack 控制节点上。可以通过下面的方法安装glance客户端工具:

    sudo apt-get update  
    sudo apt-get -y install glance-client
    

    为了保证环境变量设置正确,admin用户和密码应和之前创建的保持一致,执行以下操作:

    export OS_TENANT_NAME=cookbook  
    export OS_USERNAME=admin  
    export OS_PASSWORD=openstack  
    export OS_AUTH_URL=http://172.16.0.1:5000/v2.0/  
    export OS_NO_CACHE=1
    

    操作步骤
    可以有多种方式上传和查看OpenStack镜像服务中的镜像文件,本书中将介绍其中一种。按照下面的步骤上传镜像文件和查看上传镜像的详细信息。

    上传Ubuntu镜像文件
    Ubuntu提供的镜像可以方便地添加到OpenStack环境之中。

    1.首先,从 http://uec-images.ubuntu.com 上下载Ubuntu云系统镜像。

    wget http://uec-images.ubuntu.com/precise/current/precise-server-  
    cloudimg-amd64-disk1.img
    

    2.然后上传这个文件:

    glance image-create \  
       --name='Ubuntu 12.04 x86_64 Server' \  
       --disk-format=qcow2 \  
       --container-format=bare \  
       --public < precise-server-cloudimg-amd64-disk1.img
    

    输出如图2-2所示。


    9f13836154c9060c45afd56aa58feba046f2bc2e

    列出镜像文件
    要列出OpenStack镜像服务资源库中的镜像文件,可以直接使用glance客户端来询问镜像服务或使用nova客户端来管理OpenStack环境,这将在第3章中详细介绍。

    要列出用户可用的镜像,需要使用下面的命令:

    glance image-list
    

    可得到类似图2-3所示的结果。


    5929066d5216ecd14f39b4c143e965e0ad77a0d5

    查看镜像文件详细信息
    需要查看资源库中更详细的镜像信息时,可以通过下面的命令获得:

    glance image-show IMAGE_ID
    

    例如:

    glance image-show 794dca52-5fcd-4216-ac8e-7655cdc88852
    

    它将返回一个关于相关镜像文件的详细列表。

    删除镜像文件
    在一个OpenStack云计算环境中,将会有很多情况下需要删除已经有的镜像文件。可以通过下面的方式删除私有或公共的镜像文件。

    1.使用如下命令删除镜像文件:

    glance image-delete IMAGE _ID

    例如:

    glance image-delete 794dca52-5fcd-4216-ac8e-7655cdc88852
    

    2.当成功执行删除镜像后,OpenStack Image不会产生输出。可以通过执行glance image-list验证结果。

    将私有镜像文件设为公开镜像文件
    当上传镜像文件时,这些镜像文件将只有上传者才拥有权限,即私有镜像文件。如果使用上述方式上传了镜像文件,但又希望它可以给其他用户使用时,在OpenStack环境下,可以使用下面的方法将其设为公开。

    1.首先,查看镜像文件确认哪一个需要公开。在本书的例子中,选择了最初上传的镜像。

    glance image-show IMAGE_ID
    

    例如:

    glance image-show 2e696cf4-5167-4908-a769-356a![image](51dc572
    8```  
    
    这个命令会得到类似图2-4所示的反馈信息。
    <div style="text-align: center">
     <img src=" https://yqfile.alicdn.com/928f069b9997c604bf69daff56ac2499e7114f17.png" >
    </div>
    
    2.这时,可以将其设为公开镜像,使本环境内所有用户均可以使用这个镜像文件。
    

    glance image-update 2e696cf4-5167-4908-a769-356a51dc5728 \
       --is-public True

    3.使用glance查看详细信息。

    glance image-show 2e696cf4-5167-4908-a769-356a51dc5728

    输出如图2-5所示。
    <div style="text-align: center">
     <img src=" https://yqfile.alicdn.com/b1982c92911425681077f36c302ee671f5717bdc.png" >
    </div>
    
    工作原理
    从私有云环境来看,OpenStack镜像服务是一个非常灵活的镜像管理系统,它允许用户进行多种镜像管理方式,从添加新镜像,删除镜像,到更新信息,比如文件的命名方式,它让用户很方便的能识别这些镜像文件,还能将私有镜像转换为共有镜像。当然,还可以将共有镜像转换为私有镜像。
    
    展开全文
  • 本节书摘来异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.5节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 译者...2.5 用OpenStack镜像服务管理镜像 OpenStack云计算实战手册(第2版)在Op...
  • 本节书摘来自异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.3节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 更多章节...默认情况下,OpenStack镜像服务,即Glance,被配置使用本地SQL数据库...
  • 本节书摘来自异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.4节,作者: 【英】Kevin ...2.4 使用OpenStack身份认证服务配置OpenStack镜像服务 为了保证OpenStack计算服务正确运行,必须对OpenS...
  • 本节书摘来异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.4节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 译者: 黄凯...2.4 使用OpenStack身份认证服务配置OpenStack镜像服务 OpenStack云...
  • 本节书摘来异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.2节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 译者: ...2.2 安装OpenStack镜像服务 OpenStack云计算实战手册(第2版)Ubuntu...
  • 本节书摘来自异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.2节,作者: 【英】Kevin ...2.2 安装OpenStack镜像服务 Ubuntu资源库提供了便利的软件包安装方式,所以,从Ubuntu Cloud Archive...
  • 本节书摘来自异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.1节,作者: 【英】Kevin Jackson...第2章 Glance OpenStack镜像服务 本章将讲述以下内容: 安装OpenStack镜像服务 用MySQL配置OpenSt...
  • 四、Openstack镜像服务(glance)   简单介绍: Glance主要有两个组件:glance-api、glance-registry glance-api:接受镜像api调用,镜像发现、恢复、存储 glance-registry:存储、处理和恢复镜像的元数据   ...
  • 本节书摘来异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,作者: 【英】Kevin Jackson , 【美】Cody Bunch 译者...第2章 Glance OpenStack镜像服务 OpenStack云计算实战手册(第2版)本章将讲述以下...
  • 本节书摘来异步社区《OpenStack云计算实战手册(第2版)》一书中的第2章,第2.3节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 译者: ...2.3 用MySQL配置OpenStack镜像服务 OpenStack云计算实战手册(第2版)...
  • 1. 下载CentoOS8通用云镜像 http://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.1.1911-20200113.3.x86_64.qcow2 修改镜像中root 的密码 # sudo apt install libguestfs-tools 固定密码 #...
  • 创建虚拟机我们需要有glance的支持,因为glance是提供镜像服务。 Glance有两个比较重要的服务: Glance-api:接受云系统镜像的构建、删除、读取请求 Glance-Registry:云系统的镜像注册服务 我们需要配置glance...
  • openstack镜像介绍

    2020-12-16 19:56:26
    目录 一.... 二.Glance镜像服务简介 三.Glance镜像服务功能 ...四.Glance的两个版本 ...五....六....七....一....镜像文件其实和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件...Glance是OpenStack镜像服务,用来..
  • OpenstackGlance镜像服务,OpenStack镜像简介OpenStack镜像服务管理和存储镜像OpenStack镜像的类型和格式 Glance镜像服务, OpenStack镜像简介 OpenStack镜像是一个文件,能够运行、启动虚拟盘 OpenStack的虚拟服务器...
  • OpenStack Glance镜像管理介绍 技术创新变革未来 前言 Glance提供镜像服务OpenStack的基础服务创建虚拟机实例时离不开镜像 服务 本章节分为两个部分理论和实验 理论部分主要讲解Glance作用架构原理和流程 实验部分...
  • OpenStack 镜像构建操作手册 1 目录 前言 3 1. 手动制作 OpenStack 镜像 3 2. 上传镜像 11 3. DIB 工具介绍 13 4. 功能验证 15 5. 总结 17 6. 参考文献 18 2 前言 本文以制作 CentOS7.2 镜像为例 详细介绍手动制作 ...
  • openstack镜像制作

    千次阅读 2016-01-06 14:24:53
    .. 声明: ... openstack镜像制作要在openstack上创建虚拟机,必然要使用到虚拟机镜像。 对于普通用户,可以使用已经创建好的虚拟机镜像。一般是操作系统官方构建并提供的。某些用户可以有自己独特的
  • Openstack镜像制作

    千次阅读 2016-10-16 16:22:19
    Openstack镜像制作 qemu-img create -f qcow2 /opt/centos6.5-x86-64-openstack-DEV.img 50G qemu-img create -f qcow2 /opt/centos6.5-x86-64-openstack-QAS.img 50G qemu-img create -f qcow2 /opt/centos6.5-x86
  • win10openstack镜像

    2021-08-21 15:12:16
    用于在openstack上创建win10虚拟机。管理员用户名administrator,密码administrator,test用户名test,密码000000。
  • OpenStack镜像构建操作手册.docx
  • openstack 镜像指导说明

    2015-12-31 14:17:01
    openstack英文官方镜像制作指导说明
  • openstack镜像(glance)服务篇一、安装和配置1.先决条件1)创建glance数据库并授权 mysql -uroot-p123123 create database glance; grant all privileges on glance.* to‘glance’@’localhost’ identified by ...
  • Openstack镜像制作.docx

    2019-11-12 10:01:24
    文档讲述了,OpenStack如何制作镜像,包括制作Ubuntu、Red Hat Enterprise Linux、windows镜像制作方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,219
精华内容 8,087
关键字:

openstack镜像服务