首页 > 代码库 > openstack-ocata-镜像服务

openstack-ocata-镜像服务

一、  镜像服务概述
  镜像服务(glance)使用户能够发现、登记,并检索虚拟机镜像。它提供了一个REST API,使您可以查询虚拟机镜像元数据和检索一个实际的形象。可以存储虚拟机镜像通过镜像服务在不同的位置,从简单的像OpenStack对象存储的文件系统对象存储系统。
为简单起见,本指南描述了图像服务使用文件配置后端,上传并存储在控制器上的一个目录节点托管服务形象。默认情况下,这个目录是/var/lib/glance/images/. 在继续之前,确保控制器节点至少有几个gb的可用空间在这个目录中。记住,由于文件后端通常是本地控制器节点,它不是通常适用于多节点部署。 要求其他后端信息,请参阅配置参考。
  OpenStack形象服务中心“基础架构即服务”(IaaS)所示的概念架构。它接受API请求服务器磁盘或镜像,从终端用户和元数据定义或OpenStack计算组件。它还支持存储的磁盘或服务器图像在不同的存储库类型,包括OpenStack对象存储。 周期性过程运行在OpenStack镜像缓存服务支持。通过集群复制服务确保一致性和可用性。其他周期性过程包括审计、更新和收割。
  Openstack镜像服务包括以下组件:
  1. glance-api
    用于接收API的镜像发现,调用,检索,存储。
  2. glance-registry(镜像注册)
    用于镜像储存、处理、检索元数据。元数据包括大小和类型。
    (注册服务是内部openstack镜像服务使用的,不对外公开。)
  3. database
    用于存储镜像数据库,大多数部署使用mysql或SQLite。
  4. storage repository for image files(镜像文件存储库)
    支持各种存储库类型包括普通文件系统(或任何文件系统安装在glance-api控制器节点),对象存储,RADOS block devices(可靠的分布式存储系统 块存储),VMware存储和HTTP。请注意,某些存储库将只支持只读的用法。
  5. metadata definition service
    通用的API供应商、管理员、服务和用户有效地定义自己的自定义元数据。此元数据可用于不同类型的资源,比如images, artifacts, volumes, flavors, and aggregates。定义包括新属性的关键,描述,约束和它可以关联到的资源类型。
二、 安装和配置
  在控制节点上安装镜像,为了简单起见镜像存储在本地。
  1. 先决条件
    在安装和配置镜像服务之前,必须创建一个数据库、数据凭证、api端点。
    ① 创建数据库(mysql的root密码是centos)
      mysql -u root –p
      create database glance;
      创建用户glance并赋予其访问数据库glance的读写权限。
      grant all privileges on glance.* to ‘glance‘@‘localhost‘ identified by ‘glance‘;
      grant all privileges on glance.* to ‘glance‘@‘%‘ identified by ‘glance‘;
    ② 运行刚才创建的.admin-openrc
      . admin-openrc
    ③ 要创建服务的凭证,完成以下步骤:
      创建glance 用户:
        openstack user create --domain default --password-prompt glance

        技术分享

      增加admin 角色到glance用户和service 项目:
        openstack role add --project service --user glance admin
      创建glance服务实体
        openstack service create --name glance --description "Openstack Image" image

         技术分享

    ④  创建镜像服务API端点:
      openstack endpoint create --region RegionOne image public http://controller:9292

      技术分享

     openstack endpoint create --region RegionOne image internal http://controller:9292

      技术分享

      openstack endpoint create --region RegionOne image admin http://controller:9292

      技术分享

  2. 安装和配置完成
    ① 安装openstack-glance
      yum install openstack-glance
    ② 编辑/etc/glance/glance-api.conf配置文件:
      在[database]下添加connection
        connect = mysql+pymysql://glance:glance@controller/glance
      在[keystone_authtoken] 和 [paste_deploy]下配置身份服务访问(修改及添加):
        [keystone_authtoken]
        auth_uri = http://controller:5000
        auth_url = http://controller:35357
        memcached_servers = controller:11211
        auth_type = password
        project_domain_name = default
        user_domain_name = default
        project_name = service
        username = glance
        password = glance
        [paste_deploy]
        flavor = keystone

      在[glance_store]配置本地文件系统存储和镜像文件位置:
        [glance_store]
        stores = file,http
        default_store = file
        filesystem_store_datadir = /var/lib/glance/images/
    ③ 编辑/etc/glance/glance-registry.conf文件:
      在[database]配置数据库访问:
      connection =mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
      在[keystone_authtoken] 和 [paste_deploy]下配置身份服务访问(修改及添加):
        [keystone_authtoken]
        auth_uri = http://controller:5000
        auth_url = http://controller:35357
        memcached_servers = controller:11211
        auth_type = password
        project_domain_name = default
        user_domain_name = default
        project_name = service
        username = glance
        password = glance

        [paste_deploy]
        flavor = keystone
    ④ 填充镜像服务数据库:
      Su –s /bin/sh –c “glance-manage db_sync” glance (忽略任何输出内容)

      技术分享  3. 完成安装

    启动镜像服务和设置开机启动:
    systemctl enable openstack-glance-api.service openstack-glance-registry.service
    systemctl start openstack-glance-api.service openstack-glance-registry.service
三、 校验操作
  使用CirrOS验证操作镜像的服务,一个小Linux映像,可以帮助你测试你的OpenStack部署。
  在控制节点上执行以下操作。
    1. 源admin环境配置
      . admin-openrc
    2. 下载源镜像
      wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
    3. 上传镜像到镜像服务器使用QCOW2磁盘格式,bare容器格式,公共可见 所有的项目都可以访问。
      (cirros-0.3.5-x86_64-disk.img要在执行命令当前目录下)
      openstack image create "cirros" --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public

      技术分享

    4. 验证镜像是否上传成功
      openstack image list

      技术分享

  镜像服务安装完成!

openstack-ocata-镜像服务