OpenStack入门修炼之Glance服务部署与测试(9)
2017-12-12 10:11
507 查看
1.Glance服务的介绍
OpenStack镜像服务是IaaS的核心服务,它接受磁盘镜像或服务器镜像API请求,和来自终端用户或OpenStack计算组件的元数据定义。它也支持包括OpenStack对象存储在内的多种类型仓库上的磁盘镜像或服务器镜像存储。
大量周期性进程运行于OpenStack镜像服务上以支持缓存。同步复制(Replication)服务保证集群中的一致性和可用性。其它周期性进程包括auditors, updaters, 和 reapers。
OpenStack镜像服务包括以下组件:
glance-api:接收镜像API的调用,诸如镜像发现、恢复、存储。
glance-registry:存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。
数据库:存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用MySQL或SQLite。
镜像文件的存储仓库:
元数据定义服务:通用的API,是用于为厂商,管理员,服务,以及用户自定义元数据。这种元数据可用于不同的资源,例如镜像,工件,卷,配额以及集合。一个定义包括了新属性的键,描述,约束以及可以与之关联的资源的类型。
2.Glance需要配置的服务:glance-api、glance-registry
Glance-api:接受云系统镜像的创建、删除、读取请求
Glance-registry:云系统镜像注册服务
①Glance-api接收REST API的请求,类似nova-api
②Glance-api在功能上与nova-api十分类似,都是接收REST API请求,然后通过其他模块(glance-registry及Image Store)来完成诸如镜像的查找、‘获取、上传、删除等操作,api默认的监听端口为9292
③Glance-registry用于与MySQL数据库交互,用于存储或获取镜像的元数据(metadata);提供镜像元数据相关的REST接口,通过glance-registry,可以向数据库写入或获取镜像的各种数据,glance-registry的监听端口为9191。glance的数据库中有两张表,一张是image表,另一张是imgage propetry表。image表保存了镜像的格式、大小等信息;而image propetry表则主要保存镜像的定制化信息。可以通过:mysql -h 192.168.56.11 -uglance -pglance -e "use glance;show tables;"查看表信息
④image store是一个存储的接口层,通过这个接口,glance可以获取镜像,image store支持有Amazon的S3,OpenStack本身的swift,还有诸如ceph,GlusterFS等分布式存储。Image Store仅仅是一个接口处,具体的实现需要外部的存储支持。
总结:
glance-api 是系统后台运行的服务进程。
对外提供 REST API,响应 image 查询、获取和存储的调用。
glance-api 不会真正处理请求。
如果是与 image metadata(元数据)相关的操作,glance-api 会把请求转发给 glance-registry;
如果是与 image 自身存取相关的操作,glance-api 会把请求转发给该 image 的 store 。
3.Glance的部署与测试(此处将glance服务配置在控制节点上)
(1)创建“glance”服务实体
(2)创建镜像服务的 API 端点:
OpenStack镜像服务是IaaS的核心服务,它接受磁盘镜像或服务器镜像API请求,和来自终端用户或OpenStack计算组件的元数据定义。它也支持包括OpenStack对象存储在内的多种类型仓库上的磁盘镜像或服务器镜像存储。
大量周期性进程运行于OpenStack镜像服务上以支持缓存。同步复制(Replication)服务保证集群中的一致性和可用性。其它周期性进程包括auditors, updaters, 和 reapers。
OpenStack镜像服务包括以下组件:
glance-api:接收镜像API的调用,诸如镜像发现、恢复、存储。
glance-registry:存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。
数据库:存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用MySQL或SQLite。
镜像文件的存储仓库:
元数据定义服务:通用的API,是用于为厂商,管理员,服务,以及用户自定义元数据。这种元数据可用于不同的资源,例如镜像,工件,卷,配额以及集合。一个定义包括了新属性的键,描述,约束以及可以与之关联的资源的类型。
2.Glance需要配置的服务:glance-api、glance-registry
Glance-api:接受云系统镜像的创建、删除、读取请求
Glance-registry:云系统镜像注册服务
①Glance-api接收REST API的请求,类似nova-api
②Glance-api在功能上与nova-api十分类似,都是接收REST API请求,然后通过其他模块(glance-registry及Image Store)来完成诸如镜像的查找、‘获取、上传、删除等操作,api默认的监听端口为9292
③Glance-registry用于与MySQL数据库交互,用于存储或获取镜像的元数据(metadata);提供镜像元数据相关的REST接口,通过glance-registry,可以向数据库写入或获取镜像的各种数据,glance-registry的监听端口为9191。glance的数据库中有两张表,一张是image表,另一张是imgage propetry表。image表保存了镜像的格式、大小等信息;而image propetry表则主要保存镜像的定制化信息。可以通过:mysql -h 192.168.56.11 -uglance -pglance -e "use glance;show tables;"查看表信息
④image store是一个存储的接口层,通过这个接口,glance可以获取镜像,image store支持有Amazon的S3,OpenStack本身的swift,还有诸如ceph,GlusterFS等分布式存储。Image Store仅仅是一个接口处,具体的实现需要外部的存储支持。
总结:
glance-api 是系统后台运行的服务进程。
对外提供 REST API,响应 image 查询、获取和存储的调用。
glance-api 不会真正处理请求。
如果是与 image metadata(元数据)相关的操作,glance-api 会把请求转发给 glance-registry;
如果是与 image 自身存取相关的操作,glance-api 会把请求转发给该 image 的 store 。
3.Glance的部署与测试(此处将glance服务配置在控制节点上)
(1)创建“glance”服务实体
[root@linux-node1 ~]# openstack service create --name glance \ > --description "OpenStack Image" image
(2)创建镜像服务的 API 端点:
[root@linux-node1 ~]# openstack endpoint create --region RegionOne image public http://192.168.56.11:9292 [root@linux-node1 ~]# openstack endpoint create --region RegionOne image internal http://192.168.56.11:9292 [root@linux-node1 ~]# openstack endpoint create --region RegionOne image admin http://192.168.56.11:9292[/code] (3)编辑文件 /etc/glance/glance-api.conf 并完成如下动作:
在 [database] 部分,配置数据库访问:[database] ... connection = mysql+pymysql://glance:glance@192.168.56.11/glance
同步修改/etc/glance/glance-registry.conf
在 [database] 部分,配置数据库访问:[database] ... connection = mysql+pymysql://glance:glance@192.168.56.11/glance
(4)同步镜像服务数据库并查看创建是否成功(此处有WARNING可以忽略):[root@linux-node1 ~]# su -s /bin/sh -c "glance-manage db_sync" glance Option "verbose" from group "DEFAULT" is deprecated for removal. Its value may be silently ignored in the future. /usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1171: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade expire_on_commit=expire_on_commit, _conf=conf) /usr/lib/python2.7/site-packages/pymysql/cursors.py:166: Warning: (1831, u"Duplicate index 'ix_image_properties_image_id_name' defined on the table 'glance.image_properties'. This is deprecated and will be disallowed in a future release.") result = self._query(query) [root@linux-node1 ~]# mysql -h 192.168.56.11 -uglance -pglance -e "use glance;show tables;"
(5)编辑文件 /etc/glance/glance-api.conf 并完成如下动作:
在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问:[keystone_authtoken] ... auth_uri = http://192.168.56.11:5000 auth_url = http://192.168.56.11:35357 memcached_servers = 192.168.56.11:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = glance [paste_deploy] ... flavor = keystone
同步修改/etc/glance/glance-registry.conf
在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问:[keystone_authtoken] ... auth_uri = http://192.168.56.11:5000 auth_url = http://192.168.56.11:35357 memcached_servers = 192.168.56.11:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = glance [paste_deploy] ... flavor = keystone
(6)编辑文件 /etc/glance/glance-api.conf 并完成如下动作:
在 [glance_store] 部分,配置本地文件系统存储和镜像文件位置:只需要打开注释[glance_store] ... stores = file,http default_store = file filesystem_store_datadir = /var/lib/glance/images/
到此,glance-api和glance-registry都已经配置完毕
查看glance-api和registry的所有配置[root@linux-node1 ~]# grep "^[a-z]" /etc/glance/glance-api.conf connection = mysql+pymysql://glance:glance@192.168.56.11/glance stores = file,http \# 配置本地文件系统和镜像存储位置 default_store = file \#默认存储文件类型 filesystem_store_datadir = /var/lib/glance/images \#默认镜像存储位置 auth_uri = http://192.168.56.11:5000 auth_url = http://192.168.56.11:35357 memcached_servers = 192.168.56.11:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = glance flavor = keystone \#配置认证服务访问 [root@linux-node1 ~]# grep "^[a-z]" /etc/glance/glance-registry.conf connection = mysql+pymysql://glance:glance@192.168.56.11/glance auth_uri = http://192.168.56.11:5000 auth_url = http://192.168.56.11:35357 memcached_servers = 192.168.56.11:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = glance flavor = keystone
(7)完成安装和配置,启动glance服务[root@linux-node1 ~]# systemctl enable openstack-glance-api.service openstack-glance-registry.service [root@linux-node1 ~]# systemctl start openstack-glance-api.service openstack-glance-registry.service
(8)验证操作
①获得 admin 凭证来获取只有管理员能执行的命令的访问权限:[root@linux-node1 ~]# source admin-openstack
②下载源镜像[root@linux-node1 ~]# wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img[/code] ③使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它:
注: 把镜像放到任意目录下,执行以下命令,进入那个目录,否则要加绝对路径[root@linux-node1 ~]# openstack image create "cirros" --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --public
检查上传结果:[root@linux-node1 ~]# openstack image list
配置总结:
①glance服务需要使用数据库,需要在配置文件中配置数据库连接;
②glance服务使用需要在keystone上进行注册认证,需要在配置文件中配置keystone的验证参数和方式,以及token的存储指定在memcache服务器上;
③glance服务的镜像需要配置存储的类型以及路径。
相关文章推荐
- OpenStack入门修炼之Keystone服务部署与测试(8)
- OpenStack入门修炼之Cinder服务的部署与测试(17)
- OpenStack入门修炼之nova服务(计算节点)的部署与测试(11)
- OpenStack入门修炼之neutron服务(计算节点)的部署与测试(13)
- 快速入门Openstack,无脑多节点部署Mitaka(4)--Glance部署
- OpenStack 镜像服务 Glance部署(六)
- Openstack 安装部署指南翻译系列 之 Glance服务安装(Image)
- OpenStack-liberty版Glance服务部署(二)
- OpenStack入门修炼之Cinder服务-->安装并配置一个本地存储节点(18)
- OpenStack(Kilo版本)镜像服务glance的安装部署
- OpenStack入门修炼之Cinder服务-->使用NFS作为后端存储(19)
- Centos7手动部署Openstack Mitaka版安装配置--(四)安装镜像服务glance
- 简易手动部署多节点的Openstack(L版)——叁(安装Glance服务)
- Openstack 网络服务 Neutron计算节点部署(十)
- Linux基础入门教程-使用Squid部署代理缓存服务
- OpenStack Newton版本部署----认证服务(keystone)
- openstack镜像服务(glance)