openstack-6(glance)

glance的理论知识

  • 介绍
    Glance镜像服务包括发现、注册和检索虚拟机映像。Glance有一个RESTful API,它允许查询VM图像元数据以及检索实际图像。

Image service项目代号Glance,是OpenStack的镜像服务组件。Glance主要提供了一个虚拟机镜像文件的存储、查询和检索服务,通过提供一个虚拟磁盘映像目录和存储库,为Nova的虚拟机提供镜像服务,现在Glance具有V1和V2两个版本。

  • glance架构
    在这里插入图片描述
    (1)Glance-api:是一个对外的API接口,能够接受外部的API镜像请求。主要用于分析、分发、响应各种镜像管理的REST Request,然后通过其他模块(EG. glance-registry、Store Backend后端存储接口)完成镜像的发现、获取、存储等操作。默认绑定端口是9292。

(2)glance-registry:用于存储、处理、获取Image Metadata。通过响应从glance-api发送过来的Image Metadata REST Request,然后与MySQL进行交互,实现Image Metadate的存储、处理、获取。默认绑定的端口是9191(该组件从Q版本后,就被集成在了glance-api之中了)

(3)glance-db:在Openstack中使用MySQL来支撑,用于存放Image Metadata。

Image Metadate(镜像元数据):指通过glance-registry来保存在MySQL Database。

(4)Image Store:用于存储镜像文件。通过Store Backend后端存储接口来与glance-api联系。通过这个接口,glance可以从Image Store获取镜像文件再交由Nova用于创建虚拟机。

(5)Glance 通过Store Adapter(存储适配器)支持多种Imange Store方案
支持swift、file system、s3、sheepdog、rbd、cinder等

  • Glance支持的Image格式
    (1)Glance支持的Image格式
    (2)vhd – 一种通用的虚拟机磁盘格式, 可用于Vmware、Xen、Microsoft Virtual PC/Virtual Server/Hyper-V、VirtualBox等
    (3)vmdk – Vmware的虚拟机磁盘格式, 同样也支持多种Hypervisor
    (4)vdi – VirtualBox、QEMU等支持的虚拟机磁盘格式
    (5)qcow2 – 一种支持QEMU并且可以动态扩展的磁盘格式
    (6)aki – Amazon Kernel 镜像
    (7)ari – Amazon Ramdisk 镜像
    (8)ami – Amazon 虚拟机镜像

  • glance的访问权限
    (1)Public 公共的:可以被所有的Tenant使用
    (2)Private 私有的/项目的:只能被Image Owner所在的tenant使用
    (3)Shared 共享的:一个非公共的Image可以共享给指定的Tenant,通过member-*操作来实现。
    (4)Protected 受保护的:Protected Image不能被删除

  • 状态类型及转化
    状态类型:
    (1)Queued:没有上传Image数据,只SQL Database中存有该镜像的元数据
    (2)Saving:正在上传Image
    (3)Active:正常状态
    (4)Deleted/pending_delete: 已删除/等待删除的Image
    (5)Killed:Image元数据不正确,等待被删除

状态的转化:
(1)‘queued’ => (‘saving’, ‘active’, ‘deleted’)
(2)‘saving’ => (‘active’, ‘killed’, ‘deleted’, ‘queued’)
(3)‘active’ => (‘queued’, ‘pending_delete’, ‘deleted’)
(4)‘killed’ => (‘deleted’)
(5)‘pending_delete’ => (‘deleted’)
(6)‘deleted’ => ()

  • 两种API的区别
  1. glance API V1
    在这里插入图片描述
    V1的功能:提供了基本的Image和Member操作
    1). 镜像文件的创建、删除、查询、更改
    2). 镜像Tenant成员的创建、删除和查询

    V1包含有glance-api和glance-registry两个WSGI service,都提供了REST API接口来接收虚拟机镜像管理的请求.

需要注意的是:glance-api 不会真正去处理REST Request,可以将glance-api再分为两部分:
1)一部分是中间件,主要用于对REST Request的分析、分发工作。
2)另一部分来提供实际的服务Store Backend后端存储接口交互,实现镜像上传、下载)
所以若glance-api接收到涉及SQL Database的操作请求时,会调用registry-client并生成HTTP指令,然后转发给glance-registry API进行处理

  1. glance API V2
    在这里插入图片描述
    V2的功能:除了拥有V1的功能之外,还能够:

    1). 镜像Location的添加、删除和修改
    2). Metadata、Namespace、Image tag操作

    V2在实现上,把glance-registry和glance-api合并到了一起,减少了一个中间环节

openstack的glance组件的搭建

  1. 创建glance库并进行创建2个用户
create database glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'  IDENTIFIED BY 'openstack'; 
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'openstack';
  1. 创建glance用户,并在service项目中添加管理员角色。在此之前需要执行source admin-openrc
    (a)openstack user create --domain default --password-prompt glance //设置密码为openstack
    (b)添加权限
openstack role add --project service --user glance admin

在这里插入图片描述

  1. 创建glance服务与3种端口
openstack service create --name glance --description "OpenStack Image" image    //服务创建
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组件,并修改配置文件/etc/glance/glance-api.conf
yum install  -y    openstack-glance 

![在这里插入图片描述](https://img-blog.csdnimg.cn/20181224213612435.png
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编辑vim /etc/glance/glance-registry.conf如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 初始化数据库表结构,执行完成后查看glance库中是否存在表。
su -s /bin/sh -c "glance-manage db_sync" glance

在这里插入图片描述

  1. 服务启动并设置为开机自启动
systemctl enable openstack-glance-api.service openstack-glance-registry.service && systemctl start openstack-glance-api.service  openstack-glance-registry.service
  1. 进行验证
    (1)source admin-openrc
    (2)下载试验镜像cirros
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img

(3)创建镜像

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

在这里插入图片描述

(4)查看已有镜像

openstack image list

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值