Glance相关介绍


image Service 的功能是管理 Image,让用户能够发现、获取和保存 Image。
在 OpenStack 中,提供 Image Service 的是 Glance,其具体功能如下:
1. 提供 REST API 让用户能够查询和获取 image 的元数据和 image 本身
2. 支持多种方式存储 image,包括普通的文件系统、Swift、Amazon S3 等
3. 对 Instance 执行 Snapshot 创建新的 image

上面是 Glance 的架构图

glance-api
glance-api 是系统后台运行的服务进程。 对外提供 REST API,响应 image 查询、获取和存储的调用。
glance-api 不会真正处理请求。 如果是与 image metadata(元数据)相关的操作,glance-api 会把请求转发给 glance-registry;
如果是与 image 自身存取相关的操作,glance-api 会把请求转发给该 image 的 store backend。

glance-registry
glance-registry 是系统后台运行的服务进程。 负责处理和存取 image 的 metadata,例如 image 的大小和类型。

glance-store
image 的元数据 通过glance-registry 存放在 db 中; image 的chunk 数据 通过 glance-store 存放在各种 backend store 中,并从中获取
支持多种方式存储 image,包括普通的文件系统、Swift、Amazon S3、GlusterFS 等

registry在api后面,它的作用和mysql打交道,存储镜像的属性registry监听9191端口,glance-api监听9292端口
配置glance服务,要配置2个配置文件,1个api和1个registry
glance不需要配置消息队列,但是需要配置keystone
镜像默认在下面路径下,这个目录是 /var/lib/glance/images/。

安装并配置组件


安装软件包
[root@linux-node1 ~]# yum install openstack-glance -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirror01.idc.hinet.net
* extras: mirrors.163.com
* updates: mirrors.163.com
Package 1:openstack-glance-12.0.0-1.el7.noarch already installed and latest version
Nothing to do
[root@linux-node1 ~]#

  

配置部分---数据库部分

1、编辑文件 /etc/glance/glance-api.conf:
在 [database] 部分,配置数据库访问(大概在641行):

[root@linux-node1 ~]# vim /etc/glance/glance-api.conf
connection = mysql+pymysql://glance:glance@192.168.56.11/glance

2、编辑文件 /etc/glance/glance-registry.conf:
在 [database] 部分,配置数据库访问(382行左右):

[root@linux-node1 ~]# vim /etc/glance/glance-registry.conf
connection = mysql+pymysql://glance:glance@192.168.56.11/glance
3、同步数据库。
有警告,openstack有警告没关系,只要不是error即可
[root@linux-node1 ~]# su -s /bin/sh -c "glance-manage db_sync" glance
Option "verbose" from group "DEFAULT" is deprecated for removal. Its value may be silently ignored in the future.
/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1056: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade
expire_on_commit=expire_on_commit, _conf=conf)
[root@linux-node1 ~]#
检查同步结果
[root@linux-node1 ~]# mysql -h192.168.56.11 -uglance -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 |
+----------------------------------+
[root@linux-node1 ~]#

  

 

配置部分---设置keystone

编辑文件 /etc/glance/glance-api.conf 并完成如下动作
在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问:

[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

下面模块下改成如下

以上操作,配置文件更改的部分如下
[root@linux-node1 ~]# grep -n "^[a-Z]"  /etc/glance/glance-api.conf
641:connection = mysql+pymysql://glance:glance@192.168.56.11/glance
1112:auth_uri = http://192.168.56.11:5000
1113:auth_url = http://192.168.56.11:35357
1114:memcached_servers = 192.168.56.11:11211
1115:auth_type = password
1116:project_domain_name = default
1117:user_domain_name = default
1118:project_name = service
1119:username = glance
1120:password = glance
1695:flavor = keystone
[root@linux-node1 ~]#

  

编辑/etc/glance/glance-registry.conf
在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问,配置内容和上面一样:

glance-registry.conf 修改的地方
[root@linux-node1 ~]# grep -n "^[a-Z]"  /etc/glance/glance-registry.conf
382:connection = mysql+pymysql://glance:glance@192.168.56.11/glance
837:auth_uri = http://192.168.56.11:5000
838:auth_url = http://192.168.56.11:35357
839:memcached_servers = 192.168.56.11:11211
840:auth_type = password
841:project_domain_name = default
842:user_domain_name = default
843:project_name = service
844:username = glance
845:password = glance
1402:flavor = keystone
[root@linux-node1 ~]#

  

 

配置部分----设置镜像位置

/etc/glance/glance-api.conf
在 [glance_store] 部分,配置本地文件系统存储和镜像文件位置
在下面模块下取消这3行的注释,可以通过搜索定位

[glance_store]
...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
 
 
最终/etc/glance/glance-api.conf改动如下
[root@linux-node1 ~]# grep -n "^[a-Z]"  /etc/glance/glance-api.conf
641:connection = mysql+pymysql://glance:glance@192.168.56.11/glance
741:stores = file,http
746:default_store = file
1025:filesystem_store_datadir = /var/lib/glance/images
1112:auth_uri = http://192.168.56.11:5000
1113:auth_url = http://192.168.56.11:35357
1114:memcached_servers = 192.168.56.11:11211
1115:auth_type = password
1116:project_domain_name = default
1117:user_domain_name = default
1118:project_name = service
1119:username = glance
1120:password = glance
1695:flavor = keystone
[root@linux-node1 ~]#

  

 启动glance相关服务


glance配置部分完毕,可以启动glance服务了
[root@linux-node1 ~]# systemctl enable openstack-glance-api.service  openstack-glance-registry.service
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-api.service to /usr/lib/systemd/system/openstack-glance-api.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-registry.service to /usr/lib/systemd/system/openstack-glance-registry.service.
[root@linux-node1 ~]# systemctl start openstack-glance-api.service openstack-glance-registry.service
[root@linux-node1 ~]#

查看监听状态
registry监听9191端口
glance-api监听9292端口

[root@linux-node1 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:9191 0.0.0.0:* LISTEN 9299/python2
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 7352/httpd
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 4916/beam.smp
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1615/mysqld
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 7479/memcached
tcp 0 0 0.0.0.0:9292 0.0.0.0:* LISTEN 9298/python2
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7352/httpd
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1745/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1160/sshd
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 4916/beam.smp
tcp 0 0 0.0.0.0:35357 0.0.0.0:* LISTEN 7352/httpd
tcp6 0 0 :::5672 :::* LISTEN 4916/beam.smp
tcp6 0 0 :::22 :::* LISTEN 1160/sshd
[root@linux-node1 ~]#

  

在keystone上做服务注册


下面3步在之前都已经做了

1、之前glance的数据库创建完毕
2、 glance 用户创建完毕
openstack user create --domain default --password-prompt glance
3、添加 admin 角色到 glance 用户和 service 项目上。
openstack role add --project service --user glance admin

接下来创建实体
1、创建glance服务实体,操作之前先source环境变量

[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 | a7cdacff3e804796a7dbf466c616c5ec |
| name | glance |
| type | image |
+-------------+----------------------------------+
[root@linux-node1 ~]#

  

2、创建镜像服务的 API 端点
public,internal,admin 这3个,端口一致
(keystone的admin端口特殊,和public以及internal不一样)

公共的

[root@linux-node1 ~]# openstack endpoint create --region RegionOne  image public http://192.168.56.11:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 4bfca46d433c4f2ebfc2c57ab6f50004 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | a7cdacff3e804796a7dbf466c616c5ec |
| service_name | glance |
| service_type | image |
| url | http://192.168.56.11:9292 |
+--------------+----------------------------------+
[root@linux-node1 ~]#

内部的  

[root@linux-node1 ~]# openstack endpoint create --region RegionOne  image internal http://192.168.56.11:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | c16ae753c62c427194ae2b70655623c5 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | a7cdacff3e804796a7dbf466c616c5ec |
| service_name | glance |
| service_type | image |
| url | http://192.168.56.11:9292 |
+--------------+----------------------------------+
[root@linux-node1 ~]#

管理的  

[root@linux-node1 ~]# openstack endpoint create --region RegionOne   image admin http://192.168.56.11:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 27ed39831e434c73ab2b400f1a1a4ab6 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | a7cdacff3e804796a7dbf466c616c5ec |
| service_name | glance |
| service_type | image |
| url | http://192.168.56.11:9292 |
+--------------+----------------------------------+
[root@linux-node1 ~]#

  

3、查看镜像列表

下面为空很正常,因为还没导入镜像呢

[root@linux-node1 ~]# openstack image list

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

  

4、导入镜像

下载小镜像

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

  

使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它
命令如下,注意操作时镜像是在本目录下,如果不是本目录需要写绝对路径
openstack image create "cirros" \
--file cirros-0.3.4-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public
 
操作如下
[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 | 2017-02-17T16:26:40Z |
| disk_format | qcow2 |
| file | /v2/images/9969eaa3-0296-48cc-a42e- |
| | a02251b778a6/file |
| id | 9969eaa3-0296-48cc-a42e-a02251b778a6 |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros |
| owner | e88437b3330145e1a713469130b4c3cd |
| protected | False |
| schema | /v2/schemas/image |
| size | 13287936 |
| status | active |
| tags | |
| updated_at | 2017-02-17T16:26:40Z |
| virtual_size | None |
| visibility | public |
+------------------+-----------------------------------------------------+
[root@linux-node1 ~]#

5、导入完毕,查看

[root@linux-node1 ~]# openstack image list
+--------------------------------------+--------+--------+
| ID | Name | Status |
+--------------------------------------+--------+--------+
| 9969eaa3-0296-48cc-a42e-a02251b778a6 | cirros | active |
+--------------------------------------+--------+--------+
[root@linux-node1 ~]# glance image-list
+--------------------------------------+--------+
| ID | Name |
+--------------------------------------+--------+
| 9969eaa3-0296-48cc-a42e-a02251b778a6 | cirros |
+--------------------------------------+--------+
[root@linux-node1 ~]#

  

文件在此路径下,文件名和镜像ID一致

[root@linux-node1 images]# cd /var/lib/glance/images/
[root@linux-node1 images]# ls -l
total 12980
-rw-r----- 1 glance glance 13287936 Feb 18 00:26 9969eaa3-0296-48cc-a42e-a02251b778a6
[root@linux-node1 images]#

  

openstack--4--控制节点安装配置glance的更多相关文章

  1. Kubernetes控制节点安装配置

    #环境安装Centos 7 Linux release 7.3.1611网络: 互通配置主机名设置各个服务器的主机名hosts#查找kubernetes支持的docker版本Kubernetes v1 ...

  2. openstack grizzly版cloud控制节点安装

    openstack-ubuntu-create 参考官方文档 三个节点:cloud :控制节点内网:10.10.10.10外网:172.16.56.252 network:网络节点内网:10.10.1 ...

  3. openstack--6--控制节点和计算节点安装配置neutron

    Neutron相关介绍 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个neutron. quantum是因为商标和别的公司重名了,又改成的Neutron ...

  4. 安装Rocky版OpenStack 1控制节点+1计算节点环境部署脚本

    在上一篇文章中叙述了具体的安装部署过程,在这里把相应的部署脚本写出来,供大家参考: 一.执行部署的setup.sh脚本: #!/bin/bash ########################### ...

  5. 脚本安装Rocky版OpenStack 1控制节点+1计算节点环境部署

    视频安装指南请访问: http://39.96.203.138/wordpress/document/%E8%84%9A%E6%9C%AC%E5%AE%89%E8%A3%85rocky%E7%89%8 ...

  6. openstack--5--控制节点和计算节点安装配置nova

    Nova相关介绍 目前的Nova主要由API,Compute,Conductor,Scheduler组成 Compute:用来交互并管理虚拟机的生命周期: Scheduler:从可用池中根据各种策略选 ...

  7. openstack的控制节点部署

    openstack的控制节点部署 主要是使用了本地安装的那个镜像. 会出现几个问题, 1.重启服务无法启动. 2.环境变量无法正确配置可以自己配置

  8. Nova计算节点安装配置

    Nova计算节点安装配置 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ## Nova计算节点安装配置 #基本配置 ...

  9. 在 Linux 多节点安装配置 Apache Zookeeper 分布式集群

    规划: 三台物理服务器就形成了(法定人数).对于高可用性集群,您可以使用高于3的任何奇数.例如,如果设置5台服务器,则集群可以处理两个故障节点等. 物理服务器需要开启的端口 2888 , 3888 和 ...

随机推荐

  1. tensorflow-learning-where-what-how

    这么优秀的外国小哥哥... https://github.com/machinelearningmindset/TensorFlow-Course tensorboard使用:https://gith ...

  2. linux内核工作队列使用总结

    我总结出的内核工作队列中的4种用法 1. 使用系统的工作队列(不延迟) 1)定义一个工作: struct work_struct my_work; 2)编写一个函数: void my_work_fun ...

  3. css 实现省略号. text-overflow: ellipsis; 同时设置四个属性才可以.

    这个同时需要. text-overflow  ;  overflow  ;  white-space ; width ;  四个属性才可以. <!DOCTYPE html> <htm ...

  4. Java Sublime 环境配置

    1.编辑JavaC.sublime-build文件 用winrar 打开 Sublime的安装目录下的Packages文件夹下的Java.sublime-package文件, 双击JavaC.subl ...

  5. C# Windows IPSEC监控(仅此一家,别无分店)

    Windows IPSEC监控,使用C#编写,输出为一行字符串,可以按照既有IPSEC规则生成模板 using System; using System.Diagnostics; using Syst ...

  6. 2D转换下的zoom和transform:scale的区别

    一.什么是zoom 在我们做项目和查看别人的网页的时候总会在一些元素的样式里,看到有一个家伙孤零零的待在那里,它到底是谁呢? 它的名字叫zoom,zoom的意思是“变焦”,虽然在摄影的领域经常被提到, ...

  7. Centos7防火墙开放8080端口

    查看已经开发的端口: firewall-cmd --list-ports 开启端口: firewall-cmd --zone=public --add-port=8080/tcp --permanen ...

  8. 您应该将报表从Excel转换为Power BI的8个原因

    传统上,Microsoft Excel是企业的首选报告工具,但Power BI为企业提供了强大的分析和报告功能.通过快速实验可视化,广泛数据集的统计功能和计算,以及快速重组字段动态获得答案的能力,很明 ...

  9. 2.8 定位一组元素elements

    2.8 定位一组元素elements 前言    前面的几篇都是讲如何定位一个元素,有时候一个页面上有多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象.webdriver 提 ...

  10. php操作mysql几个常用操作

    1.链接数据库 mysql_connet('数据库地址','数据库账号','数据库密码'); 2.选择数据库 mysql_select_db("数据库名"); 3.设置编码 mys ...