一、glance介绍:

Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找、注册和检索等。 Glance提供Restful API可以查询虚拟机镜像的metadata及获取镜像。 Glance可以将镜像保存到多种后端存储上,比如简单的文件存储或者对象存储。
理解 Image
要理解 Image Service,先得搞清楚什么是 Image 以及为什么要用 Image?
在传统 IT 环境下,安装一个系统要么从安装 CD 从头安装,要么用 Ghost 等克隆工具恢复。这两种方式有如下几个问题:
  1. 如果要安装的系统多了效率就很低
  2. 时间长,工作量大
  3. 安装完还要进行手工配置,比如安装其他的软件,设置 IP 等
  4. 备份和恢复系统不灵活
云环境下需要更高效的方案,这就是 Image。 Image 是一个模板,里面包含了基本的操作系统和其他的软件。
举例来说,有家公司需要为每位员工配置一套办公用的系统,一般需要一个 Win7 系统再加 MS office 软件。 OpenStack 是这么玩的:
  1. 先手工安装好这么一个虚机
  2. 然后对虚机执行 snapshot,这样就得到了一个 image
  3. 当有新员工入职需要办公环境时,立马启动一个或多个该 image 的 instance(虚机)就可以了
在这个过程中,第 1 步跟传统方式类似,需要手工操作和一定时间,但第 2、3 步非常快,全自动化,一般都是秒级别。而且 2、3 步可以循环做。 比如公司新上了一套 OA 系统,每个员工的 PC 上都得有客户端软件。 那么可以在某个现有虚机中先手工安装好 OA 客户端,然后执行 snapshot 操作,得到新的 image,以后可以就直接使用新 image 创建虚机了。另外,snapshot 还有备份的作用,能够非常方便的恢复系统。
理解Image Service
Image Service 的功能是管理 Image,让用户能够发现、获取和保存 Image。在 OpenStack 中,提供 Image Service 的是 Glance,其具体功能如下:
  1. 提供 REST API 让用户能够查询和获取 image 的元数据和 image 本身
  2. 支持多种方式存储 image,包括普通的文件系统、Swift、Amazon S3 等
  3. 对 Instance 执行 Snapshot 创建新的 image
Glance 架构
上面是 Glance 的架构图

glance-api

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

glance-registry

glance-registry 是系统后台运行的服务进程。 负责处理和存取 image 的 metadata,例如 image 的大小和类型。在控制节点上可以查看 glance-registry 进程
Glance 支持多种格式的 image,包括

Database

Image 的 metadata 会保持到 database 中,默认是 MySQL。 在控制节点上可以查看 glance 的 database 信息

Store backend

Glance 自己并不存储 image。 真正的 image 是存放在 backend 中的。 Glance 支持多种 backend,包括:
  1. A directory on a local file system(这是默认配置)
  2. GridFS
  3. Ceph RBD
  4. Amazon S3
  5. Sheepdog
  6. OpenStack Block Storage (Cinder)
  7. OpenStack Object Storage (Swift)
  8. VMware ESX
具体使用哪种 backend,是在 /etc/glance/glance-api.conf 中配置的
其他 backend 的配置可参考http://docs.openstack.org/liberty/config-reference/content/configuring-image-service-backends.html
查看目前已经存在的 image
查看保存目录
每个 image 在目录下都对应有一个文件,文件以 image 的 ID 命名。

二、glance创建镜像:

OpenStack 为终端用户提供了 Web UI(Horizon)和命令行 CLI 两种交换界面。两种方式我们都要会用。可能有些同学觉得既然有更友好的 Web UI 了,干嘛还要用 CLI? 这里有下面的理由:
1、Web UI 的功能没有 CLI 全,有些操作只提供了 CLI。 即便是都有的功能,CLI 可以使用的参数更多
2、一般来说,CLI 返回结果更快,操作起来更高效
4、CLI 可放在脚本中进行批处理
5、有些耗时的操作 CLI 更合适,比如创建镜像(后面将涉及)
三、glance安装部署

一、建立glance数据库并且给权限设置第三方登录

  mysql -uroot -p0330

  CREATE DATABASE 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 

  ①宣告环境变量

  source openrc或 . openrc

  ②创建glance用户

  openstack user create --domain default --password=glance glance

  ③将项目service中的用户glance设置为admin角色

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

  ④创建glance服务

  openstack service create --name glance \ --description "OpenStack Image" image

  ⑤创建服务端点(RegionOne是一个域)

  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

三、安装glance镜像服务,并编辑配置文件

  ①安装

  yum install openstack-glance

  ②先复制再编辑配置文件(复制和无需更改)

  cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak

  cp  /etc/glance/glance-registry.conf  /etc/glance/glance-registry.conf.bak

[DEFAULT][glance_store] stores = file,http default_store = file filesystem_store_datadir = /var/lib/glance/images/ [image_format] [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 [matchmaker_redis] [oslo_concurrency] [oslo_messaging_amqp] [oslo_messaging_kafka] [oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_middleware] [oslo_policy] [paste_deploy] flavor = keystone [profiler] [store_type_location_strategy] [task] [taskflow_executor]

vim /etc/glance/glance-api.conf

[DEFAULT][database] connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance  [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 [matchmaker_redis] [oslo_messaging_amqp] [oslo_messaging_kafka] [oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_policy] [paste_deploy] flavor = keystone [profiler]

vim /etc/glance/glance-registry.conf

③同步数据库

  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-0.3.3-x86_64-disk.img

  source openrc

openstack image create "cirros"   --file cirros-0.3.3-x86_64-disk.img.img   --disk-format qcow2 --container-format bare --public

  ②查看镜像列表(镜像保存在/var/lib/glance/images)

  opentack image list或glance image-list

【补充】

     第三方进入数据库

    1.必须安装mariadb客户端

    2.登录的用户必须可以第三方登录

    mysql -h ip -ukeystone -pkeystone

    3.注释多行

    ctrl +v—— 全部选中——shift i ——#——esc两次

    取消多行注释

    ctrl +v——全部选中——dd

    4、常用服务端口号:

   

    8778    placement    6080   novncproxy9292    glance-registry     8774    nova     9191    registry-api     11211   memcached     9696    neutron         6080   novncproxy        6633   openvswitch

    6640   openvswitch

    5000   keystone  

    35357   keystone            (虽说时keystone的端口号,但是启动与否与apache服务是否启动有最直接关系)

    5672(25672) rabbitmq

    8776     cinder 

    5、报错:

     1)Missing value auth-url required for auth plugin password

      因为没声明变量

     2)Unable to establish connection to http://controller:35357

            因为35357服务没启动,查看msgi配置文件和httpd服务情况

转载于:https://www.cnblogs.com/xiaoxiaotiejiang/p/11084575.html

openstack--glance相关推荐

  1. linux文件删除漏洞,OpenStack Glance v1 API任意文件删除漏洞(CVE-2012-4573)

    发布日期:2012-11-08 更新日期:2012-11-13 受影响系统: openstack Glance Grizzly openstack Glance Essex (2012.1) open ...

  2. OpenStack Glance(镜像服务)基础架构:Basic architecture

    https://docs.openstack.org/glance/pike/contributor/architecture.html OpenStack Glance has a client-s ...

  3. linux glance删除命令,OpenStack Glance v2 API任意文件删除漏洞(CVE-2012-5482)

    发布日期:2012-11-08 更新日期:2012-11-13 受影响系统: openstack Glance Grizzly openstack Glance Essex (2012.1) open ...

  4. Openstack glance 安装 403错误

    Openstack glance 安装 403错误 在按照教程装glance过程中出现了403错误 错误复现: 执行openstack endpoint create --region RegionO ...

  5. openstack——Glance镜像服务

    openstack--Glance 一.Glance镜像服务 1.镜像 2.镜像服务 3.Images API的版本 4.镜像格式 5.镜像状态 6.访问权限 二.Glance架构详解 1.架构图 三 ...

  6. OpenStack——glance

    OpenStack--glance 一.glance镜像服务 1.镜像服务 2.Images API的版本 3.镜像格式 4.镜像格式 5.镜像状态 6.访问权限 7.架构图 8.工作流程 二.部署g ...

  7. glance服务器上传的镜像支持,OpenStack Glance安装配置过程记录

    Glance是作为OpenStack的虚拟机的Image(镜像)服务, 它提供了一系列的REST API, 用来管理.查询虚拟机的镜像, 它支持多种后端存储介质, 例如用本地文件系统作为介质.Swif ...

  8. OpenStack Glance简介

    1. 含义 管理 VM 的启动镜像,Nova 创建 VM 时将使用 Glance 提供的镜像. 2. glance架构图 Image 的 metadata 会保持到 database 中,默认是 My ...

  9. OpenStack — Glance

    文章目录 Glance Glance 架构 支持的镜像格式 raw vhd vhdx vmdk vdi iso qcow2 aki ari ami 支持的后端存储 镜像状态 queued saving ...

  10. 2022云计算真题: OpenStack Glance运维--镜像格式转换

    使用自行搭建的OpenStack平台.在HTTP服务中存在一个镜像为cirros-0.3.4-x86_64-disk.img的镜像,请使用qemu相关命令,对该镜像进行格式转换,转换后的镜像格式为ra ...

最新文章

  1. sql IFNULL
  2. 完善ext.grid.panel中的查询功能(紧接上一篇)
  3. mysql002多表查询.on链接分为三种情况,左链接,右链接,全链接
  4. 组词组合 php,PHP实现的简单组词算法示例
  5. 爱上MVC系列~过滤器实现对响应流的处理
  6. sqlite3数据存储最多存储多少条数据?达到上限如何处理?_把 14 亿人拉到一个微信群,如何实现?...
  7. 创建React脚手架项目
  8. u盘linux 修复grub,Ubuntu 18.04与Win10双系统U盘安装后的GRUB2修复
  9. Python爬取豆瓣高分电影Top250
  10. 建Kangle+EasyPanel对接SWAP IDC虚拟主机自助开通完整教程
  11. 关于 负反馈放大电路,你需要了解这些
  12. 《用递归法解决问题》教学设计
  13. html网页组织结构,使用HTML和CSS编码创建组织结构图
  14. 【微信小程序】判断手机号是否合法
  15. PHP compact() 函数,好用!
  16. html静态商城网页制作 基于HTML+CSS+JavaScript在线服装商城店铺商城设计毕业论文源码
  17. KVM镜像管理利器-guestfish使用详解
  18. insert into... where not exists插入避免重复的使用
  19. 安装pointgray灰度相机,mindvison,pointgray偏振相机的ubuntu驱动
  20. 小米手机(HM1SW)高通开发android程序全过程

热门文章

  1. [转载]秀脱linux实战笔记linux-kernel-3.0.3实战篇
  2. 【爬虫】-爬取食品检验结果
  3. 【JQuery】jQuery(document).ready(function($) { });的几种表示方法及load和ready的区别
  4. Mach-O 的动态链接(Lazy Bind 机制)
  5. angular具体用法及代码
  6. iOS网络编程开发—HTTP协议
  7. 【onethink1.0】HTML模板获取前台和后台当前登录用户名
  8. python学习之if语句
  9. 大量POI点展示的一种解决方案
  10. 【Linux】【通信】1.ping不通