OpenStack之Glance

2024-03-09 14:52
文章标签 openstack glance

本文主要是介绍OpenStack之Glance,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概述

Glance(OpenStack Image Service)是一个提供发现,注册,和下载镜像的服务。Glance 提供了虚拟机镜像的集中存储。通过 Glance 的 RESTful API,可以查询镜像元数据、下载镜像。虚拟机的镜像可以很方便的存储在各种地方,从简单的文件系统到对象存储系统(比如 OpenStack Swift)。

二、GLance功能

  1.传统IT环境下,安装一个系统是从USB或CD上安装,要么用Ghost等克隆工具恢复。有以下几个问题:

    1)安装的系统多了,效率就低了;

    2)时间长,工作量大;

    3)安装完还需要进行手动配置,比如设置IP和安装其他软件等;

    4)备份和恢复系统不灵活;

  2、在glance里image镜像被当做模板来存储;image是一个模块,包含了基本的操作系统和其他软件。

  3、 GLance提供image Service服务,功能就是管理image,让用户能够发现、获取和保存image。(GLance是管理已安装的系统文件)

4、glance具体功能如下:

    a、提供REST API让用户能够查询和获取image的元数据和image本身

    b、支持多种方式存储image,包括普通的文件系统、Swift 、Amazon S3等

    c、对Instance执行Snapshot创建新的image

 注:GLance只查看镜像本身的数据,不关注镜像的其他情况,比如:镜像存储的路径,镜像是否存在等等

三、GLance架构

(1)glance-api 
glance-api 是系统后台运行的服务进程。 对外提供 RESTFUL API,响应镜像查询、获取和存储的调用。glance-api 不会真正处理请求。

  • 如果是与镜像 metadata(元数据)相关的操作,glance-api 会把请求转发给 glance-registry;
  • 如果是与镜像自身存取相关的操作,glance-api 会把请求转发给该 image 的存储后端。

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

1、用户发送请求到glance,glance内部逻辑上通过REST API   AuthZ 中间件    keystone进行身份验证——>中间件  keystore 进行身份验证

2、 keystone验证通过后,由Glance Domain Controller判

断:

1)如果是元数据相关的操作,将把请求转发给glance-registry

写和上传等对数据库有修改的请求都要经过Registry Layer,

只有符合其设置的条件的命令才能通过Database Abstraction

Layer 到达数据库,而对数据库的读操作则不用通过Registry

Layer ,直接到达数据

2)如果是镜像存储相关的,则转到Glance Store,由Glance Store Drives     AuthN    keystone验证 ,通过后到达后端存储

3、具体解释

1)A client:任何使用GLance服务器的应用程序;

2)REST API:GLance提供REST访问API;

3)Database Abstraction Layer(DAL)同一GLance和数据库之间

通信的应用程序编程接口(API)

4)GLance Domain Controller:域控制器,实现主要的中间件功能;比如授权,通知,策略,数据库连接;

5)Glance Store:用于组织Glance和各种数据存储之间的交互;

6)Registry Layer(注册表层):用于通过使用单独的服务来组织域和DAL之间的安全通信的可选层;

4、镜像磁盘文件格式

5.Database --image的metadata会保持到database中默认是                                                                                          (在控制节点上可以查看Glance的database信息)

6.Store backend  --Glance自己并不存储image,真正的image是存放在backend中的;

   Glance支持的多种backend,包括:

     *.A directory on啊localfile system(默认设置)

     *.GridFS   使用MongoDB存储镜像。

     *.Ceph RBD   使用Ceph的RBD接口存储到Ceph集群中

     *.Amazon S3   亚马逊的S3

     *.Sheepdog    专为QEMU/KVM提供的一个分布式存储系统

     *.Openstack Block Storage(Cinder)

     *.OpenStack Object Stortage(Swif)

     *.VMware ESX

    注:具体使用哪种backend,是在/etc/glance/glance-api.conf中配置的

四、镜像文件的访问权限

  1.Public公用的:可被所有的Tenant使用

  2.Private私有的/项目的:只能被image Owner所在的Tenan

使用

  3.Shared共享的:一个非公共的image可以共享给指定的Tenant,通过member-*操作来实现。

  4.Protected受保护的:Protected Image不能被删除

五、image的状态类型

1.Queued:没有上传image数据,只有SQL Database中存有该镜像的元数据(标识该镜像的ID)

2.Saving:标识镜像正在上传image

3.Active:正常状态,标识镜像在Glance中完全使用

4.Deleted/pending_delete:已删除/等待删除的image

5.Killed:标识镜像上传过程中出错,image元数据不正确,镜像完全不可用,等待被删除。

6.deletedGlance已经保存了镜像的信息,但是无法继续使用。在此状态下的镜像稍后将会被自动清除。

7.pending_delete 类似于deleted,区别在于Glance还没有移除镜像数据。在此状态下的镜像是可以被恢复的。

六、创建images

    有两种方法:Web UI(Horizon)和命令行CLI(推荐使用),API v1已经在Newton版本中被删除了。

    *.Web UI的功能没有CLI全,有些操作只提供了CLI。即便是都有的功能,CLI可以使用的参数更多;

    *.一般来说,CLI返回结果更快,操作起来更高效;

    *.CLI可放在脚本中进行批处理;

    *.有些耗时的操作CLI更合适,比如创建镜像;

  注:glance image-creat -name cirros --file ~/cirros0.3.4-x86_64-disk.img --disk-fromat qcow2 --contatiner-format bare --progress

Linux Cloud images

   CentOS: CentOS6 CentOS7

   CirrOS:Download Test image qcow2 formation for QEMU and KVM (crrios cubswin

   Debian:Download (debian)

   Fedora:Download

   Windows:Downloadruns on Hyper-V,KVM, and XenServer/XCP

七、实验
Base 节点上,创建glance数据库并设置数据库的访问权限即所有客户端都可以访问数据库

Ctrl节点上

初始化admin环境变量,以admin身份运行命令

创建glance用户

给project和glance用户指定角色admin      

创建glance镜像服务    

创建glance镜像服务组件的endpoint

yum install openstack-glance

编写配置文件 vim /etc/glance/glance-api.conf

[database] 配置数据库连接

connection = mysql+pymysql://glance:GLANCE_DBPASS@base.nba.com/glance

[keystone_authtoken] 配置keystone身份认证服务

auth_uri = http://ctrl.nba.com:5000

auth_url = http://ctrl.nba.com:35357

memcached_servers = base.nba.com: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_store]配置虚拟机镜像的存储形式和存储路径

stores = file,http

default_store = file

filesystem_store_datadir = /var/lib/glance/images/

openstack image create "cirros" \

--file cirros-0.3.5-x86_64-disk.img \

--disk-format qcow2 --container-format bare \

--public

初始化glance数据库

启动glance api

查验生成的21张表 在base节点上

启动glance-api和registry 服务

下载镜像

上传镜像,镜像磁盘格式为qcow2 访问权限为public

同时开启第二个窗口查验

这篇关于OpenStack之Glance的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/791015

相关文章

OpenStack离线Train版安装系列—3控制节点-Keystone认证服务组件

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

OpenStack离线Train版安装系列—2计算节点-环境准备

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

OpenStack离线Train版安装系列—1控制节点-环境准备

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

OpenStack离线Train版安装系列—0制作yum源

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

OpenStack镜像制作系列5—Linux镜像

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录 CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作

OpenStack镜像制作系列4—Windows Server2019镜像

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录  CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作系

OpenStack镜像制作系列2—Windows7镜像

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录 CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作系列

OpenStack镜像制作系列1—环境准备

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录 CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作

OpenStack离线Train版安装系列—10.控制节点-Heat服务组件

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

OpenStack中加固VNC访问安全

OpenStack中加固VNC访问安全 目录 OpenStack中加固VNC访问安全1.问题发现2.流程分析3.潜在后果4.解决方案④配置IPtables⑤VNC添加访问密码 5.参考链接 1.问题发现 很多同学使用noVNC之后都没有退出终端的习惯,往往都是用完了就直接关闭网页窗口。说这样隐患很大,如果内网里面有一些script kiddie随时都能将我们线上的虚拟