openstack mitaka glance 官方安装步骤

镜像服务概览

   

OpenStack镜像服务是IaaS的核心服务,如同 :ref:`get_started_conceptual_architecture`所示。它接受磁盘镜像或服务器镜像API请求,和来自终端用户或OpenStack计算组件的元数据定义。它也支持包括OpenStack对象存储在内的多种类型仓库上的磁盘镜像或服务器镜像存储。

大量周期性进程运行于OpenStack镜像服务上以支持缓存。同步复制(Replication)服务保证集群中的一致性和可用性。其它周期性进程包括auditors, updaters, 和 reapers。

OpenStack镜像服务包括以下组件:

glance-api

接收镜像API的调用,诸如镜像发现、恢复、存储。

glance-registry

存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。

 
警告

glance-registry是私有内部服务,用于服务OpenStack Image服务。不要向用户暴露该服务

数据库

存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用MySQL或SQLite。

镜像文件的存储仓库

支持多种类型的仓库,它们有普通文件系统、对象存储、RADOS块设备、HTTP、以及亚马逊S3。记住,其中一些仓库仅支持只读方式使用。

元数据定义服务

通用的API,是用于为厂商,管理员,服务,以及用户自定义元数据。这种元数据可用于不同的资源,例如镜像,工件,卷,配额以及集合。一个定义包括了新属性的键,描述,约束以及可以与之关联的资源的类型。


安装和配置

   

这个部分描述如何在控制节点上安装和配置镜像服务,即 glance。简单来说,这个配置将镜像保存在本地文件系统中。

先决条件

安装和配置镜像服务之前,你必须创建创建一个数据库、服务凭证和API端点。

  1. 完成下面的步骤以创建数据库:

    • 用数据库连接客户端以 root 用户连接到数据库服务器:

      $ mysql -u root -p
      
    • 创建 glance 数据库:

      CREATE DATABASE glance;
      
    • 对``glance``数据库授予恰当的权限:

      GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
        IDENTIFIED BY 'GLANCE_DBPASS';
      GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
        IDENTIFIED BY 'GLANCE_DBPASS';
      

      用一个合适的密码替换 GLANCE_DBPASS

    • 退出数据库客户端。

  2. 获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

    $ . admin-openrc
    
  3. 要创建服务证书,完成这些步骤:

    • 创建 glance 用户:

      $ openstack user create --domain default --password-prompt glance
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | e0353a670a9e496da891347c589539e9 |
      | enabled   | True                             |
      | id        | e38230eeff474607805b596c91fa15d9 |
      | name      | glance                           |
      +-----------+----------------------------------+
      
    • 添加 admin 角色到 glance 用户和 service 项目上。

      $ openstack role add --project service --user glance admin
      

       
      注解

      这个命令执行后没有输出。

    • 创建``glance``服务实体:

      $ openstack service create --name glance \
        --description "OpenStack Image" image
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Image                  |
      | enabled     | True                             |
      | id          | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
      | name        | glance                           |
      | type        | image                            |
      +-------------+----------------------------------+
      
  4. 创建镜像服务的 API 端点:

    $ openstack endpoint create --region RegionOne \
      image public http://controller:9292
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 340be3625e9b4239a6415d034e98aace |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      image internal http://controller:9292
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | a6e4b153c2ae4c919eccfdbb7dceb5d2 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      image admin http://controller:9292
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 0c37ed58103f4300a84ff125a539032d |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
    

安全并配置组件

 
注解

默认配置文件在各发行版本中可能不同。你可能需要添加这些部分,选项而不是修改已经存在的部分和选项。另外,在配置片段中的省略号(...)表示默认的配置选项你应该保留。

  1. 安装软件包:

    # yum install openstack-glance
    
  1. 编辑文件 /etc/glance/glance-api.conf 并完成如下动作:

    • 在 [database] 部分,配置数据库访问:

      [database]
      ...
      connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
      

      将``GLANCE_DBPASS`` 替换为你为镜像服务选择的密码。

    • 在 [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_PASS
      
      [paste_deploy]
      ...
      flavor = keystone
      

      将 GLANCE_PASS 替换为你为认证服务中你为 glance 用户选择的密码。

       
      注解

      在 [keystone_authtoken] 中注释或者删除其他选项。

    • 在 [glance_store] 部分,配置本地文件系统存储和镜像文件位置:

      [glance_store]
      ...
      stores = file,http
      default_store = file
      filesystem_store_datadir = /var/lib/glance/images/
      
  2. 编辑文件 ``/etc/glance/glance-registry.conf``并完成如下动作:

    • 在 [database] 部分,配置数据库访问:

      [database]
      ...
      connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
      

      将``GLANCE_DBPASS`` 替换为你为镜像服务选择的密码。

    • 在 [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_PASS
      
      [paste_deploy]
      ...
      flavor = keystone
      

      将 GLANCE_PASS 替换为你为认证服务中你为 glance 用户选择的密码。

       
      注解

      在 [keystone_authtoken] 中注释或者删除其他选项。

  1. 写入镜像服务数据库:

    # su -s /bin/sh -c "glance-manage db_sync" glance
    

     
    注解

    忽略输出中任何不推荐使用的信息。

完成安装

  • 启动镜像服务、配置他们随机启动:

    # systemctl enable openstack-glance-api.service \
      openstack-glance-registry.service
    # systemctl start openstack-glance-api.service \
      openstack-glance-registry.service

验证操作

使用 `CirrOS <http://launchpad.net/cirros>`__对镜像服务进行验证,CirrOS是一个小型的Linux镜像可以用来帮助你进行 OpenStack部署测试。

关于如何下载和构建镜像的更多信息,参考`OpenStack Virtual Machine Image Guide <http://docs.openstack.org/image-guide/>`__。关于如何管理镜像的更多信息,参考`OpenStack用户手册 <http://docs.openstack.org/user-guide/common/cli-manage-images.html>`__。

 
注解

在控制节点上执行这些命令。

  1. 获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

    $ . admin-openrc
    
  2. 下载源镜像:

    $ wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
    

     
    注解

    如果您的发行版里没有包含wget,请安装它

  3. 使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它:

    $ openstack image create "cirros" \
      --file cirros-0.3.4-x86_64-disk.img \
      --disk-format qcow2 --container-format bare \
      --public
    +------------------+------------------------------------------------------+
    | Property         | Value                                                |
    +------------------+------------------------------------------------------+
    | checksum         | 133eae9fb1c98f45894a4e60d8736619                     |
    | container_format | bare                                                 |
    | created_at       | 2015-03-26T16:52:10Z                                 |
    | disk_format      | qcow2                                                |
    | file             | /v2/images/cc5c6982-4910-471e-b864-1098015901b5/file |
    | id               | cc5c6982-4910-471e-b864-1098015901b5                 |
    | min_disk         | 0                                                    |
    | min_ram          | 0                                                    |
    | name             | cirros                                               |
    | owner            | ae7a98326b9c455588edd2656d723b9d                     |
    | protected        | False                                                |
    | schema           | /v2/schemas/image                                    |
    | size             | 13200896                                             |
    | status           | active                                               |
    | tags             |                                                      |
    | updated_at       | 2015-03-26T16:52:10Z                                 |
    | virtual_size     | None                                                 |
    | visibility       | public                                               |
    +------------------+------------------------------------------------------+
    

    更多关于命令:`glance image-create`的参数信息,请参考``OpenStack Command-Line Interface Reference``中的`Image service command-line client <http://docs.openstack.org/cli-reference/openstack.html#openstack-image-create>`部分。

    更多镜像磁盘和容器格式信息,参考 ``OpenStack虚拟机镜像指南``中的`镜像的磁盘及容器格式 <http://docs.openstack.org/image-guide/image-formats.html>`__ 部分。

     
    注解

    OpenStack 是动态生成 ID 的,因此您看到的输出会与示例中的命令行输出不相同。

  4. 确认镜像的上传并验证属性:

    $ openstack image list
    +--------------------------------------+--------+--------+
    | ID                                   | Name   | Status |
    +--------------------------------------+--------+--------+
    | 38047887-61a7-41ea-9b49-27987d5e8bb9 | cirros | active |
    +--------------------------------------+--------+--------+






xx
xx



















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值