Openstack

  • 一、Glance镜像服务基本概念
    • 1.什么是Glance,它的作用是什么?
    • 2.OpenStack镜像简介
    • 3.OpenStack镜像服务管理和存储镜像
    • 4.OpenStack镜像的类型和格式
    • 5.Glance镜像的元数据
  • 二、Glance的搭建
    • 1.创建数据库实例和数据库用户
    • 2.创建用户、修改配置文件

一、Glance镜像服务基本概念

1.什么是Glance,它的作用是什么?

Glance是openstack的镜像服务。它提供了虚拟镜像的查询、注册和传输等服务。Glance本身并不实现对镜像的存储的存储功能。Glance只是一个代理。它充当了镜像存储服务与Openstack的其他组件之间的纽带。Glance共支持两种镜像存储机制:简单文件系统和Swift服务存储镜像机制。简单文件系统是指将镜像保存在Glance节点的文件系统中。这种机制相对比较简单,但是存在不足。比如,由于没有备份机制,当文件系统损伤是麻将导致所有的镜像不可用。Swift服务存储镜像机制,是指将镜像以对象的形式保存在Swift对象存储服务器中,由于Swift具有非常健壮的备份还原机制,因此可以降低因为文件系统损伤而造成的镜像不可用情况。

Glance服务支持多种格式的虚拟磁盘镜像。其中包括raw/qcow2、VHD、VDI、VMDK、OVF、kernel和ramdisk。

可以把Glance当做一个对象存储代理服务。可以通过Glance存储任何其他格式的文件。

2.OpenStack镜像简介

OpenStack镜像是一个文件,能够运行、启动虚拟盘
OpenStack的虚拟服务器就是一个镜像的运行实例
镜像包含一个操作系统
OpenStack缺省支持Linux和Windows操作系统
OpenStack镜像还包括其他的管理软件如cloud-init
OpenStack镜像还包括中间件或者应用软件,象NGINX, MySQL, VNFs
Glance存储这些大型二=进制的镜像

3.OpenStack镜像服务管理和存储镜像

  • 虚拟服务器镜像
  • 裸金属服务器镜像
  • 容器镜像
    glance-api: Glance提供的基本接口,通过它可以保存和获取磁盘镜像
    gance-registry:用于将与镜像相关的元数据保存到关
    系数据库中。元数据包括:
  • 镜像名称
  • 镜像保存的位置信息
  • 镜像的大小
  • 镜像的唯一标识号
  • 容器类型: bare
  • 磁盘镜像格式类型
  • 状态.
  • 是否可见
  • 所有者等等
    Glance将镜像保存在各种类型的数据存储系统,如本地存储文件系统(LVM), Swift对象存储、 支持HTTP的远端存储(AMAZON S3)


OpenStack如何将镜像加载成服务器的运行实例?
从Glance镜像到虚拟服务器实例的过程示意图

4.OpenStack镜像的类型和格式

OpenStack镜像服务支持下列的磁盘格式

  • QCOW2 (QEMU Copy-On-Write):精简分配的磁盘格式,用于QEMU & QEMUKVM
  • VMDK (Virtual Machine Disk): Vmware通用的磁盘格式,其他虚拟机管理软件也支持
  • VHD (Virtual Hard Drive): Hyper-V通用磁盘格式,其他虚拟机管理软件也支持
  • VDI (Virtual Disk lmage): Oracle’s VirtualBox 的磁盘格式.
  • ISO (International Organization for Standardization, IS09660):光盘打包的格式
  • RAW:没有压缩的非结构化的镜像磁盘格式
  • VHDX: VHD的增强版本
  • OVA (Open Virtual Appliance ): Vmware定义的开发虚拟应用磁盘格式
  • aki, ami, ari:亚马逊公司的内核(kernel)、主机(machine)、 内存磁盘(ramdisk)的镜像格式

OpenStack镜像的容器格式指的是镜像文件的封装类型,即虚拟机映像文件是否包含和封装
那种有关实际虚拟机的元数据。OpenStack支持镜像容器格式有:

  • Bare: 没有容器或元数据信封。目前OpenStack主要是这种
  • docker: Docker容器格式。Openstack镜像服务 支持docker容器的注册
  • OVA (Open Virtual Appliance ): Vmware定义的开发虚拟应用元数据封装格式
  • OVF (Open Virtualization Format):开放虚拟化格式,-种容器格式,支持的有Vwmare, Hyper-V
  • aki, ami, ari:亚马逊公司的内核(kemnel)、主机(machine)、 内存磁盘(ramdisk)的元数据封装格式

5.Glance镜像的元数据

OpenStack镜像元数据描述了与实例运行时环境相关的镜像属性和要求
OpenStack镜像元数据的作用如下

  • 镜像属性可用于覆盖为Nova Flavors定义的特定行为
  • 镜像属性可用于影响Nova调度程序(ImagePropertiesFllter) 的行为,
  • 镜像属性可用于影响特定NOVA管理程序 (Hypvisor) 的行为
    OpenStack镜像元数据的属性主要有:
  • CPU结构(architecture): 镜x86_ _64, amd64, arm, sparc64,等
  • 虚拟管理程序类型(hypervisor_ _type): KVM, QEMU, Vmware, Hyper-v, lxc, xen, uml, ironic
  • 操作系统发布的版本名(os_ _distro): ubuntu, centos, windows, debian, rhel,等
  • 操作新统的版本号(os_ _version)
  • 操作系统关闭等待时间(os_ shutdown _timeout)
  • 虚拟机模式(vm_ mode): hvm, xen, uml, exe

OpenStack镜像元数据支持客户化定制

二、Glance的搭建

1.创建数据库实例和数据库用户

[root@ct ~]# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit

2.创建用户、修改配置文件

创建OpenStack的Glance用户

[root@ct ~]# openstack user create --domain default --password GLANCE_PASS glance           ###创建glance用户
[root@ct ~]# openstack role add --project service --user glance admin                  #将glance用户添加到service项目中,并且针对这个项目拥有admin权限;注册glance的API,需要对service项目有admin权限
[root@ct ~]# openstack service create --name glance --description "OpenStack Image" image        创建一个service服务,service名称为glance,类型为image;创建完成后可以通过 openstack service list 查看

创建镜像服务 API 端点,OpenStack使用三种API端点代表三种服务:admin、internal、public

[root@ct ~]# openstack endpoint create --region RegionOne image public http://ct:9292
[root@ct ~]# openstack endpoint create --region RegionOne image internal http://ct:9292
[root@ct ~]# openstack endpoint create --region RegionOne image admin http://ct:9292

安装 openstack-glance 软件包

[root@ct ~]# yum -y install openstack-glance

修改glance配置文件,glance有两个配置文件:/etc/glance/glance-api.conf
/etc/glance/glance-registry.conf

备份、过滤注释信息
[root@ct ~]# cp -a /etc/glance/glance-api.conf{,.bak}
[root@ct ~]# grep -Ev '^$|#' /etc/glance/glance-api.conf.bak > /etc/glance/glance-api.conf

添加glance.api配置文件

openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@ct/glance
传入修改的参数
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken password GLANCE_PASS
openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone
openstack-config --set /etc/glance/glance-api.conf glance_store stores file,http
openstack-config --set /etc/glance/glance-api.conf glance_store default_store file
openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/
cat glance-api.conf

备份、过滤注释信息

cp -a /etc/glance/glance-registry.conf{,.bak}
grep -Ev '^$|#' /etc/glance/glance-registry.conf.bak > /etc/glance/glance-registry.conf

修改glance-registry.conf 配置文件(配置与glance-api.conf相同)

openstack-config --set /etc/glance/glance-registry.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@ct/glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken password GLANCE_PASS
openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone
openstack-config --set /etc/glance/glance-registry.conf glance_store stores file,http
openstack-config --set /etc/glance/glance-registry.conf glance_store default_store file
openstack-config --set /etc/glance/glance-registry.conf glance_store filesystem_store_datadir /var/lib/glance/images/

初始化glance数据库,生成相关表结构;(不管有多少个controler,只需要初始化一次即可)

su -s /bin/sh -c "glance-manage db_sync" glance

开启glance服务(此处开启之后会生成存放镜像的目录/var/lib/glance/image)

[root@ct ~]# systemctl enable openstack-glance-api.service
[root@ct ~]# systemctl start openstack-glance-api.service

查看端口(也可以使用lsof -i:9292 )

[root@ct glance]# ss -anpt | grep 9292


赋予openstack-glance-api.service服务对存储设备的可写权限(-h:值对符号连接/软链接的文件修改)

[root@ct ~]# chown -hR glance:glance /var/lib/glance/

镜像导入
先上传cirros镜像到控制节点的/root,然后导入glance,最后查看是否创建成功

[root@ct ~]# openstack image create --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros

查看镜像的两种方式:
openstack image list 可以看到镜像状态
glance image-list无法查看镜像状态

Openstack 之镜像管理服务Glance相关推荐

  1. 云计算技术 - Glance镜像管理服务,上传、制作、删除镜像操作

    preface 在上节中我们了解了keystone服务,下面就看看glance管理镜像的服务吧. glance组成 glance有两部分组成: glance-api 接受云系统镜像的创建,删除,读取请 ...

  2. openstack之镜像管理

    概览 [root@cc07 fast-pulsar]# glance help | grep image[--os-image-url OS_IMAGE_URL][--os-image-api-ver ...

  3. OpenStack(Kilo版本)镜像服务glance的安装部署

    OpenStack镜像服务(glance)允许用户发现.注册和恢复虚拟机镜像.Glance提供Rest API可以查询虚拟机镜像的metadata并且可以获取镜像.通过Glance,虚拟机镜像可以被存 ...

  4. OpenStack入门篇(八)之镜像服务Glance

    一.Glance的概述 Glance是为虚拟机的创建提供镜像的服务,我们基于Openstack是构建基本的IaaS平台对外提供虚拟机,而虚拟机在创建时必须为选择需要安装的操作系统,Glance服务就是 ...

  5. 探索 OpenStack 之(10):深入镜像服务Glance

    本篇博文来探讨下镜像服务Glance. 0.  基本概念 0.1 基本功能 Glance提供REST API来支持以下镜像操作: 查询 注册 上传 获取 删除 访问权限管理 0.2 Glance RE ...

  6. Centos7 install Openstack - (第三节)添加镜像服务(Glance)

    Centos7 install Openstack - (第三节)添加镜像服务(Glance) 我的blog地址:http://www.cnblogs.com/caoguo 该文根据openstack ...

  7. OpenStack 镜像服务Glance [三]

    OpenStack 镜像服务Glance [三] 标签(空格分隔): openstack 时间:2016年11月28日 博客地址:www.abcdocker.com 公众号:abcdocker Ope ...

  8. OpenStack Pike Minimal安装:三、镜像管理

    1.创建服务凭据 #先使用脚本登陆admin [root@controller ~]# . admin-openstack.sh ①创建glance user openstack user creat ...

  9. 让容器应用管理更快更安全,Dragonfly 发布 Nydus 容器镜像加速服务

    镜像对容器部署的挑战 在容器的生产实践中,偏小的容器镜像能够很快地部署启动.当应用的镜像达到几个 GB 以上的时候,在节点上下载镜像通常会消耗大量的时间.Dragonfly 通过引入 P2P 网络有效 ...

最新文章

  1. 影响几代产品人的宝典第 2 部开启预售!5 折限量抢,产品人都需要一本
  2. oracle10g 04030,一次ORA-04030问题的诊断(一)
  3. jdk 版本和内部版本对应_JDK 14 Rampdown:内部版本27
  4. CSS之Multi-columns的column-gap和column-rule
  5. 第一节《Git初始化》
  6. 【CDN】最近,你的APP崩了吗?
  7. Java 数组常用操作一(排序、元素位置查找、添加元素、获取长度、数组反向、最大值最小值、合并、范围填充)
  8. 程序员必修课:为什么非要用 Python 做数据分析?Excel 不好吗?
  9. Quartz2D简单绘制之饼状图
  10. 烟囱加固技术不断完善
  11. 在那里可以下载jar包?
  12. 深度学习面试问题总结
  13. 招聘中的热门技术技能:SQL、Java、Python 和 Linux
  14. 中国智能POS终端行业市场供需与战略研究报告
  15. Effective C++ 读书笔记之Part5.Implementations
  16. word文件点击打印没反应
  17. Android晋级之路
  18. 寒假每日一题——两句话中的不常见单词
  19. 如何让外网访问到内网FTP服务
  20. Noise2Noise:Learning Image Restoration without Clean Data读书笔记

热门文章

  1. 中国科学技术大学计算机学院保研,中国科学技术大学2021年推免生名单公示
  2. “神秘盒子”或威胁全球运输船
  3. 【Python】通过 requests 获取文件字节流
  4. android 根据时间获取周几_Android获得当前系统时间、星期几、周几
  5. 高通发布802.11ax AP/客户端;美国运营商推出无限流量套餐 | IoT黑板报
  6. Linux headless mode (无头模式)
  7. Java环境变量配置及完全卸载
  8. unity3d python脚本_Unity3D 给对象(gameObject)添加脚本代码
  9. SpringBoot的Web开发入门案例6—替换默认容器Tomcat
  10. 关于换工作_写在第四份工作伊始之时