全文转自https://www.voidking.com/dev-ubuntu16-manual-openstack-glance/

目标

紧接着《Ubuntu16手动安装OpenStack——keystone篇》,本文我们来安装glance,主要参考Glance Installation Tutorial for Ubuntu

glance简介

Image服务(glance)使用户能够发现、注册和检索虚拟机映像。它提供了一个REST API,使用户可以查询虚拟机镜像元数据并检索实际镜像。用户可以通过Image服务,把虚拟机映像存储在各种位置,从简单的文件系统到OpenStack Object Storage等对象存储系统。

为简单起见,官方教程中介绍如何配置Image服务以使用文件后端,该文件后端上载并存储在托管Image服务的控制器节点上的目录中。默认情况下,此目录为/var/lib/glance/ images/。在继续之前,请确保控制器节点在此目录中至少有几千兆字节的可用空间。请记住,由于文件后端通常是控制器节点的本地,因此通常不适合多节点glance部署。

OpenStack Image服务是Infrastructure-as-a-Service(IaaS)的核心。它接受来自磁盘或服务器映像的API请求,以及来自终端用户或OpenStack Compute组件的元数据定义。它还支持在各种存储库类型(包括OpenStack Object Storage)上存储磁盘或服务器映像。许多定期进程在OpenStack Image服务上运行以支持缓存。Replication服务可确保群集的一致性和可用性,其他定期进程包括auditors,updaters和reapers。

OpenStack Image服务包括以下组件:

glance-api
接受Image API调用以进行镜像发现,检索和存储。

官方建议将Glance作为独立服务器以传统方式运行。

glance-registry
存储,处理和检索有关镜像的元数据。元数据包括大小和类型等选项。

注册表是一个私有的内部服务,供OpenStack Image服务使用,不要将此服务公开给用户。

Glance注册服务及其API已在queens版本中弃用,并且在“S”开发周期开始后,可根据OpenStack标准弃用政策进行删除。

Database
存储镜像元数据,您可以根据自己的喜好选择数据库,大多数部署使用MySQL或SQLite。

Storage repository for image files
支持各种存储库类型,包括常规文件系统(或安装在glance-api控制器节点上的任何文件系统),Object Storage,RADOS块设备,VMware数据存储和HTTP。

请注意,某些存储库仅支持只读用法。

Metadata definition service
供应商、管理员、服务和用户的通用API,用于定义自己的元数据。此元数据可用于不同类型的资源,如 images、artifacts、volumes、flavors和aggregates。定义包括新属性的关键字、描述、约束和它可以关联的资源类型。

安装和配置

本节介绍如何在控制器节点上安装和配置镜像服务(glance)。为简单起见,此配置将镜像存储在本地文件系统上。

root用户

为了避免权限问题,建议切换到root用户进行操作(否则要加很多sudo)。
sudo -i

数据库

1、登录数据库
mysql -uroot -p,密码为openstack。

2、创建glance数据库
CREATE DATABASE glance;

3、授权
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'openstack';

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'openstack';

4、退出数据库
exit;

服务证书和端点

1、使admin环境生效
. admin-openrc

2、创建glance用户
openstack user create --domain default --password-prompt glance

根据提示设置密码为openstack。

3、将admin角色添加到glance用户和service项目上
openstack role add --project service --user glance admin

4、创建glance服务实体
openstack service create --name glance --description "OpenStack Image" image

5、创建镜像服务API endpoints

1
2
3
4
5
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

安装和配置组件

1、安装glance
apt -y install glance

2、备份glance-api.conf
mv /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak

3、vim /etc/glance/glance-api.conf,新建glance-api.conf文件内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[DEFAULT]
bind_host = 0.0.0.0 [glance_store]
default_store = file
filesystem_store_datadir = /var/lib/glance/images/ [database]
# MariaDB connection info
connection = mysql+pymysql://glance:openstack@controller/glance # Keystone auth info
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = openstack [paste_deploy]
flavor = keystone

4、备份glance-registry.conf
mv /etc/glance/glance-registry.conf /etc/glance/glance-registry.conf.bak

5、vim /etc/glance/glance-registry.conf,新建glance-registry.conf内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[DEFAULT]
bind_host = 0.0.0.0 [database]
# MariaDB connection info
connection = mysql+pymysql://glance:openstack@controller/glance # Keystone auth info
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = openstack [paste_deploy]
flavor = keystone

6、更改权限

1
2
chmod 644 /etc/glance/glance-api.conf /etc/glance/glance-registry.conf
chown glance. /etc/glance/glance-api.conf /etc/glance/glance-registry.conf

7、生成glance数据库结构
su -s /bin/bash glance -c "glance-manage db_sync"

完成后登录mysql查看数据。

查看日志命令:
tail /var/log/glance/glance-api.log

tail /var/log/glance/glance-registry.log

8、重启镜像服务
systemctl restart glance-api glance-registry

验证操作

1、使admin环境生效
. admin-openrc

2、下载corris镜像
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img

3、上传corris镜像到glance,存储为QCOW2格式,并且设置为所有人可见

1
2
3
4
openstack image create "cirros" \
--file cirros-0.4.0-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public

有关OpenStack映像创建参数的信息,请参阅OpenStack用户指南中的创建或更新映像(glance)

有关映像的磁盘和容器格式的信息,请参阅OpenStack虚拟机映像指南中的映像的磁盘和容器格式

4、查看镜像
openstack image list

看到镜像ID、Name和Status。

cd /var/lib/glance/images,可以看到名为镜像ID的文件。

Ubuntu16手动安装OpenStack——glance篇--转的更多相关文章

  1. Ubuntu16手动安装OpenStack——nova篇。。转

    前言: 本文转自https://www.voidking.com/dev-ubuntu16-manual-openstack-nova/ ,过程非常的详细,作者也说本实验最终失败,因为课程要求我们只要 ...

  2. Ubuntu16手动安装OpenStack——keystone篇

    本博客来自于https://www.voidking.com/dev-ubuntu16-manual-openstack-keystone/ 赶紧做笔记 keystone简介 OpenStack身份识 ...

  3. Ubuntu16手动安装OpenStack

    记录大佬的博客全文转载于https://www.voidking.com/dev-ubuntu16-manual-openstack-env/ 前言 <Ubuntu16安装OpenStack&g ...

  4. ubuntu16.0 安装 openstack

    主要参考官方文档:https://docs.openstack.org/liberty/zh_CN/install-guide-ubuntu/environment-nosql-database.ht ...

  5. 手动安装OpenStack Mistral

    Prepare packages: $ sudo apt-get install python-dev python-setuptools python-pip libffi-dev libxslt1 ...

  6. openstack奠基篇:devstack (liberty)于centos 7安装

    openstack是什么,能做什么,我就不说了,他的优势和伟大,可以想想AWS的云服务平台.学习和研究openstack(IaaS),个人的习惯是有一个可以操作的平台,然后结合代码看看详细逻辑,这个过 ...

  7. kolla-ansible安装openstack(Ocata)

    基本功能部署 基础环境 角色 操作系统 硬件配置 Depoly CentOS 7 Server 磁盘:40GB 内存:8GB 网卡:ens3(内网) ens4(外网) Sched CentOS 7 S ...

  8. Linux(CentOS、Ububtu)一键安装Openstack及其它参考文档汇总

    原文链接  http://www.aboutyun.com/thread-10920-1-1.html openstack相关资料 CentOS下一键安装Openstack  http://blog. ...

  9. devstack安装openstack newton版本

    准备使用devstack安装openstack N版,搞一套开发环境出来.一连整了4天,遇到各种问题,各种错误,一直到第4天下午4点多才算完成. 在这个过程中感觉到使用devstack搭建openst ...

随机推荐

  1. 元组&字典&函数基础

    set: 类似dict, 是一组key的集合,不存储value 本质:无序和无重复元素的集合 创建: 创建set需要一个list或者tuple或者dict作为输入集合 重复元素在set中会自动被过滤 ...

  2. 基于bmob后端云小程序开发——口袋吉他

    人的一生90%的时间都在做着无聊的事情,社会的发展使得我们的闲暇时间越来越多,我们把除了工作的其他时间放在各种娱乐活动上. 程序员有点特殊,他们把敲代码看成娱乐活动的一部分,以此打发时间的不占少数.这 ...

  3. 牛客多校第3场 J 思维+树状数组+二分

    牛客多校第3场 J 思维+树状数组+二分 传送门:https://ac.nowcoder.com/acm/contest/883/J 题意: 给你q个询问,和一个队列容量f 询问有两种操作: 0.访问 ...

  4. mysql find_in_set 与 in 的用法与区别,mysql范围搜索,mysql范围查询

    mysql find_in_set 与 in 的用法与区别 1.find_in_set 用于模糊查询,并且数据库中的值是用英文逗号分隔的: 例如: (1).去字段中查询 select find_in_ ...

  5. Python6_模块、包、import、from import的解释

    先说一下模块和包是什么? 模块(module):简单来说一个模块(module)就是一个py文件.在python中是这么约定. 模块里面有函数.类,就是一组代码的集合.   模块显然要有一个名字,这个 ...

  6. POJ 2976 Dropping tests [二分]

    1.题意:同poj3111,给出一组N个有价值a,重量b的物品,问去除K个之后,剩下的物品的平均值最大能取到多少? 2.分析:二分平均值,注意是去除K个,也就是选取N-K个 3.代码: # inclu ...

  7. 015 Ceph的集群管理_1

    一.理解Cluster Map cluster map由monitor维护,用于跟踪ceph集群状态 当client启动时,会连接monitor获取cluster map副本,发现所有其他组件的位置, ...

  8. BeetleX之XRPC使用详解

    XRPC是基于BeetleX扩展一个远程接口调用组件,它提供基于接口的方式来实现远程服务调用,在应用上非常简便.组件提供.NETCore2.1和.NETStandard2.0的client版本,因此即 ...

  9. 大数据(5)---分布式任务资源调度Yarn

    前面也说到过的Yarn是hadoop体系中的资源调度平台.所以在整个hadoop的包里面自然也是有它的.这里我们就简单介绍下,并配置搭建yarn集群. 首先来说Yarn中有两大核心角色Resource ...

  10. JAVA字节码文件之第三篇(访问标识)

    一.Access Flags 访问标志 访问标志信息包括该 Class 文件是类还是接口,是否被定义成 public 或者 abstract , 如果是类,是否被声明成 final. 访问标志表 二. ...