Openstack 之镜像管理服务Glance
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相关推荐
- 云计算技术 - Glance镜像管理服务,上传、制作、删除镜像操作
preface 在上节中我们了解了keystone服务,下面就看看glance管理镜像的服务吧. glance组成 glance有两部分组成: glance-api 接受云系统镜像的创建,删除,读取请 ...
- openstack之镜像管理
概览 [root@cc07 fast-pulsar]# glance help | grep image[--os-image-url OS_IMAGE_URL][--os-image-api-ver ...
- OpenStack(Kilo版本)镜像服务glance的安装部署
OpenStack镜像服务(glance)允许用户发现.注册和恢复虚拟机镜像.Glance提供Rest API可以查询虚拟机镜像的metadata并且可以获取镜像.通过Glance,虚拟机镜像可以被存 ...
- OpenStack入门篇(八)之镜像服务Glance
一.Glance的概述 Glance是为虚拟机的创建提供镜像的服务,我们基于Openstack是构建基本的IaaS平台对外提供虚拟机,而虚拟机在创建时必须为选择需要安装的操作系统,Glance服务就是 ...
- 探索 OpenStack 之(10):深入镜像服务Glance
本篇博文来探讨下镜像服务Glance. 0. 基本概念 0.1 基本功能 Glance提供REST API来支持以下镜像操作: 查询 注册 上传 获取 删除 访问权限管理 0.2 Glance RE ...
- Centos7 install Openstack - (第三节)添加镜像服务(Glance)
Centos7 install Openstack - (第三节)添加镜像服务(Glance) 我的blog地址:http://www.cnblogs.com/caoguo 该文根据openstack ...
- OpenStack 镜像服务Glance [三]
OpenStack 镜像服务Glance [三] 标签(空格分隔): openstack 时间:2016年11月28日 博客地址:www.abcdocker.com 公众号:abcdocker Ope ...
- OpenStack Pike Minimal安装:三、镜像管理
1.创建服务凭据 #先使用脚本登陆admin [root@controller ~]# . admin-openstack.sh ①创建glance user openstack user creat ...
- 让容器应用管理更快更安全,Dragonfly 发布 Nydus 容器镜像加速服务
镜像对容器部署的挑战 在容器的生产实践中,偏小的容器镜像能够很快地部署启动.当应用的镜像达到几个 GB 以上的时候,在节点上下载镜像通常会消耗大量的时间.Dragonfly 通过引入 P2P 网络有效 ...
最新文章
- 影响几代产品人的宝典第 2 部开启预售!5 折限量抢,产品人都需要一本
- oracle10g 04030,一次ORA-04030问题的诊断(一)
- jdk 版本和内部版本对应_JDK 14 Rampdown:内部版本27
- CSS之Multi-columns的column-gap和column-rule
- 第一节《Git初始化》
- 【CDN】最近,你的APP崩了吗?
- Java 数组常用操作一(排序、元素位置查找、添加元素、获取长度、数组反向、最大值最小值、合并、范围填充)
- 程序员必修课:为什么非要用 Python 做数据分析?Excel 不好吗?
- Quartz2D简单绘制之饼状图
- 烟囱加固技术不断完善
- 在那里可以下载jar包?
- 深度学习面试问题总结
- 招聘中的热门技术技能:SQL、Java、Python 和 Linux
- 中国智能POS终端行业市场供需与战略研究报告
- Effective C++ 读书笔记之Part5.Implementations
- word文件点击打印没反应
- Android晋级之路
- 寒假每日一题——两句话中的不常见单词
- 如何让外网访问到内网FTP服务
- Noise2Noise:Learning Image Restoration without Clean Data读书笔记
热门文章
- 中国科学技术大学计算机学院保研,中国科学技术大学2021年推免生名单公示
- “神秘盒子”或威胁全球运输船
- 【Python】通过 requests 获取文件字节流
- android 根据时间获取周几_Android获得当前系统时间、星期几、周几
- 高通发布802.11ax AP/客户端;美国运营商推出无限流量套餐 | IoT黑板报
- Linux headless mode (无头模式)
- Java环境变量配置及完全卸载
- unity3d python脚本_Unity3D 给对象(gameObject)添加脚本代码
- SpringBoot的Web开发入门案例6—替换默认容器Tomcat
- 关于换工作_写在第四份工作伊始之时