【openstack N版】——镜像服务glance
一.openstack镜像服务glance
1.1 glance介绍
glance主要是由三部分组成
- glance-api:接收云系统镜像的创建,删除,读取请求,类似nova-api,通过其他模块(glance-registry及image store)来完成诸如镜像的查找、获取、上传、删除等操作,api监听端口9292。
- glance-registry:云系统的镜像注册服务,用于与mysql数据库交互,存储或获取镜像的元数据(metadata);提供镜像元数据相关的REST接口,通过glance-registry,可以向数据库中写入或获取镜像各种数据,glance-registry监听端口9191,glance数据库中有两张表,一张是image表,另一张是image property表。image表保存了镜像格式、大小等信息;image property表则主要保存镜像的定制化信息。
- image store:是一个存储的接口层,通过这个接口,glance可以获取镜像,image store支持的存储有Amazon的S3、Openstack本身的Swift还有注入ceph,sheepdog,GFS等分布式存储。image store是镜像保存与获取的接口,它仅仅是一个接口层,具体的实现需要外部的存储支持。
1.2 glance环境准备
1.2.1安装glance包(控制节点)
yum install openstack-glance –y
1.2.2创建glance库及用户
#登录数据库
[root@linux-node1 ~]# mysql -uroot –p
#创建glance库
MariaDB [(none)]> create database glance;
Query OK, row affected (0.00 sec)
#创建glance用户并授权
MariaDB [(none)]> grant all privileges on glance.* to glance@'localhost' identified by 'glance';
Query OK, rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on glance.* to glance@'%' identified by 'glance';
Query OK, rows affected (0.00 sec)
1.2.3创建openstack的glance用户
#创建glance用户,密码:glance
[root@linux-node1 ~]# openstack user create --domain default --password-prompt glance
User Password:glance
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | ab8dbf65e6214fb285a438aa3f1007f8 |
| name | glance |
| password_expires_at | None |
+---------------------+----------------------------------+
#将glance用户加入到service项目并且赋予admin角色
[root@linux-node1 ~]# openstack role add --project service --user glance admin
1.3glance配置
1.3.1项目及端点配置
#创建glance服务实体
[root@linux-node1 ~]# openstack service create --name glance --description "OpenStack Image" image
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Image |
| enabled | True |
| id | 301d1fbc076145f7bf92bf92fb50346d |
| name | glance |
| type | image |
+-------------+----------------------------------+
#创建镜像服务API端点
[root@linux-node1 ~]# openstack endpoint create --region RegionOne image public http://192.168.56.11:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | fc8978523b064b518eab75f40a7db017 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 301d1fbc076145f7bf92bf92fb50346d |
| 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 | 5da8b564f1244915a8d0bdf1d1f65a18 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 301d1fbc076145f7bf92bf92fb50346d |
| 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 | 9f35261f1894470d81abfb8dce6876a4 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 301d1fbc076145f7bf92bf92fb50346d |
| service_name | glance |
| service_type | image |
| url | http://192.168.56.11:9292 |
+--------------+----------------------------------+
#查看端点列表
[root@linux-node1 ~]# openstack endpoint list
+----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------------------------+
| ID | Region | Service Name | Service Type | Enabled | Interface | URL |
+----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------------------------+
| 46bb270ff4f04b0da6a69a554322bc27 | RegionOne | keystone | identity | True | public | http://192.168.56.11:5000/v3/ |
| 5da8b564f1244915a8d0bdf1d1f65a18 | RegionOne | glance | image | True | internal | http://192.168.56.11:9292 |
| 77bca853dafb413da29dcbac4bed9305 | RegionOne | keystone | identity | True | admin | http://192.168.56.11:35357/v3/ |
| 7cc4f83fc4f34cf9b1ec5033739aefc1 | RegionOne | keystone | identity | True | internal | http://192.168.56.11:35357/v3/ |
| 9f35261f1894470d81abfb8dce6876a4 | RegionOne | glance | image | True | admin | http://192.168.56.11:9292 |
| fc8978523b064b518eab75f40a7db017 | RegionOne | glance | image | True | public | http://192.168.56.11:9292 |
+----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------------------------+
1.3.2 glance连接数据配置
#修改glance-api配置文件
[root@linux-node1 ~]# vim /etc/glance/glance-api.conf
#连接数据库配置
[database]
connection = mysql+pymysql://glance:glance@192.168.56.11/glance
#修改registry配置文件
[root@linux-node1 ~]# vim /etc/glance/glance-registry.conf
#连接数据库配置
[database]
connection = mysql+pymysql://glance:glance@192.168.56.11/glance
#将数据导入数据库
[root@linux-node1 ~]# su -s /bin/sh -c "glance-manage db_sync" glance
#检查数据
[root@linux-node1 ~]# mysql -uglance -pglance -h192.168.56. -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 |
+----------------------------------+
1.3.3glance连接keystone配置
#编辑glance-api配置文件
[root@linux-node1 ~]# vim /etc/glance/glance-api.conf
#在keystone_authtoken标签下添加连接keystone配置
[keystone_authtoken]
auth_uri = http://192.168.56.11:5000
auth_url = http://192.168.56.11:35357
memcached_servers = 192.168.56.11:
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = glance
#配置认证服务访问,打开注释
flavor = keystone
#配置本地文件系统和镜像存储位置,打开注释
stores = file,http
#配置默认存储,打开注释
default_store = file
#配置文件系统存储数据目录,打开注释
filesystem_store_datadir = /var/lib/glance/images
1.3.4glance配置registry
#修改配置文件
[root@linux-node1 ~]# vim /etc/glance/glance-registry.conf
#在keystone_authtoken标签下配置连接keystone
[keystone_authtoken]
auth_uri = http://192.168.56.11:5000
auth_url = http://192.168.56.11:35357
memcached_servers = 192.168.56.11:
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = glance
#配置认证服务访问,打开注释
flavor = keystone
1.4启动glance服务
#允许开机自启
[root@linux-node1 ~]# systemctl enable openstack-glance-api.service \
openstack-glance-registry.service
#启动服务
[root@linux-node1 ~]# systemctl start openstack-glance-api.service \
openstack-glance-registry.service
二.测试glance
2.1上传镜像
注: 把镜像放到任意目录下,执行以下命令,进入那个目录,否则要加绝对路径
#上传一个官方提供的小镜像来测试
[root@linux-node1 ~]# openstack image create "cirros" \
--file cirros-0.3.-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public
+------------------+------------------------------------------------------+
| Field | Value |
+------------------+------------------------------------------------------+
| checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
| container_format | bare |
| created_at | 2017-02-24T07:03:19Z |
| disk_format | qcow2 |
| file | /v2/images/ed2e38dd-7975-46dc-9ca9-cc3e497ccff0/file |
| id | ed2e38dd-7975-46dc-9ca9-cc3e497ccff0 |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros |
| owner | d24a61dd3ecb43cb9e8a5f6539c6a2bb |
| protected | False |
| schema | /v2/schemas/image |
| size | 13287936 |
| status | active |
| tags | |
| updated_at | 2017-02-24T07:03:20Z |
| virtual_size | None |
| visibility | public |
+------------------+------------------------------------------------------+
2.2查看镜像列表
#新版本查看镜像列表命令
[root@linux-node1 ~]# openstack image list
#蓝版本查看镜像列表命令
[root@linux-node1 ~]# glance image-list
+--------------------------------------+--------+--------+
| ID | Name | Status |
+--------------------------------------+--------+--------+
| ed2e38dd-7975-46dc-9ca9-cc3e497ccff0 | cirros | active |
+--------------------------------------+--------+--------+
【开源是一种精神,分享是一种美德】
— By GoodCook
— 笔者QQ:253097001
— 欢迎大家随时来交流
—原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
【openstack N版】——镜像服务glance的更多相关文章
- OpenStack实践系列③镜像服务Glance
OpenStack实践系列③镜像服务Glance 3.5 Glance部署 修改glance-api和glance-registry的配置文件,同步数据库 [root@node1 ~]# vim /e ...
- CentOS7安装OpenStack(Rocky版)-03.安装Glance镜像服务组件(控制节点)
上篇文章分享了keystone的安装配置,本文接着分享openstack的镜像服务glance. --------------- 完美的分割线 ---------------- 3.0.glance概 ...
- Centos7 install Openstack - (第三节)添加镜像服务(Glance)
Centos7 install Openstack - (第三节)添加镜像服务(Glance) 我的blog地址:http://www.cnblogs.com/caoguo 该文根据openstack ...
- [ Openstack ] OpenStack-Mitaka 高可用之 镜像服务(glance)
目录 Openstack-Mitaka 高可用之 概述 Openstack-Mitaka 高可用之 环境初始化 Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...
- 云计算管理平台之OpenStack镜像服务glance
一.glance简介 openstack中的glance服务是用来存储在openstack上启动虚拟机所需镜像:它主要用于发现.注册及检索虚拟机镜像:它通过提供RESTful风格的api对外提供服务: ...
- 探索 OpenStack 之(10):深入镜像服务Glance
本篇博文来探讨下镜像服务Glance. 0. 基本概念 0.1 基本功能 Glance提供REST API来支持以下镜像操作: 查询 注册 上传 获取 删除 访问权限管理 0.2 Glance RE ...
- OpenStack Train版-3.安装glance镜像服务
安装glance镜像服务 创建数据库并授权 mysql -u root create database glance; GRANT ALL PRIVILEGES ON glance.* TO 'gla ...
- OpenStack 镜像服务 Glance部署(六)
Glance介绍 创建虚拟机我们需要有glance的支持,因为glance是提供镜像的服务. Glance有两个比较重要的服务: Glance-api:接受云系统镜像的构建.删除.读取请求 Glanc ...
- Openstack(八)部署镜像服务glance
8.1glance镜像服务介绍 Glance是OpenStack镜像服务组件,glance服务默认监听在9292端口,其接收REST API请求,然后通过其他模块(glance-registry及im ...
随机推荐
- Practice Round China New Grad Test 2014 报告
今天有Google of Greater China Test for New Grads of 2014的练习赛,主要是为了过几天的校园招聘测试做练习用的,帮助熟悉平台,题目嘛,个人觉得除了A题外, ...
- UVa 357 - Let Me Count The Ways
题目大意:也是硬币兑换问题,与147.674用同样的方法即可解决. #include <cstdio> #include <cstring> #define MAXN 3000 ...
- 谈谈字符集编码及gb2312、utf-8编码原理
一.基础中的基础比特位即bit,是计算机最小的存储单位.以0或1来表示比特位的值.Byte是字节数,bit是位数,在计算机中每八位为一字节,也就是1Byte=8bit:Byte和bit都翻译成比特,俗 ...
- spark在集群上运行
1.spark在集群上运行应用的详细过程 (1)用户通过spark-submit脚本提交应用 (2)spark-submit脚本启动驱动器程序,调用用户定义的main()方法 (3)驱动器程序与集群管 ...
- METRO风格
METRO风格是指微软在WINDOWS PHONE 7中新加入的界面风格,并且计划将其用于windows8中的开始菜单界面.该界面的特点是简洁高效,每一个METRO图标都没有边框,形状有点像地铁站中的 ...
- delphi公用函数
{*******************************************************} { } { Delphi公用函数单元 } { } { 版权所有 (C) 2008 } ...
- Spark算子总结及案例
spark算子大致上可分三大类算子: 1.Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Value型的数据. 2.Key-Value数据类型的Tran ...
- C# Linq to SQL — Group by
需求是需要统计数据库中表某一列的总数量,同时以List的形式返回到UI层. Linq to SQL中的Group by用法如下: IList<Unit.HandleCountClass> ...
- Java高级特性之泛型
首先我们先提出两个问题: 什么是泛型? 为什么要使用泛型?我们先来看看第一个问题什么是泛型.如果你对Java三大特性中的多态性理解的比较透彻的话,泛型就比较好理解了.多态性表示一个对象具备多种状态.比 ...
- 如何测试LBS功能
在LBS功能的开发中,为了保证通用性,服务器存在的坐标是基于wgs84的,这个通常由GPS设备传过来,对于PC来说,如何获得这个值呢?可以利用Google Earth来获得,并修改显示的坐标系统,“工 ...