云计算之openstack(N版)glance镜像服务最佳实践
2.4镜像服务2.4.1Glance概述Glance由API和registryGlanc-api:接受云系统镜像的创建、删除、读取请求
Glance-regisry:云系统的镜像注册服务
架构图如下:
说明:
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表,一张是image property表,image表保存了镜像格式、大小等信息;image property表则主要保存镜像的定制化信息。
Image store是一个存储的接口层,通过这个接口,glance可以获取镜像,image store支持的存储有Amazon的S3、openstack本身swift,还有诸如ceph,sheepdog,glusterFS等分布式存储,image store是镜像保存与获取的接口,它仅仅是一个接口层,具体的实现需要外部的存储支持
2.4.2glance的配置与安装a数据库的创建与授权
create databaseglance;grant all onglance.* to 'glance'@'localhost' identified by 'glance';grant all onglance.* to 'glance'@'%' identified by 'glance';
b创建服务凭证
获取admin凭证来后去只有管理员能执行的命令的访问权限
sourceadmin-openstack创建服务证书
创建 glance 用户:
openstack usercreate --domain default --password-prompt glance添加 admin 角色到glance 用户和 service 项目上。
openstack role add--project service --user glance admin
创建``glance``服务实体
openstack servicecreate --name glance --description "OpenStack Image" image
创建镜像服务的 API 端点
openstack endpointcreate --region RegionOne image public http://192.168.56.11:9292openstack endpointcreate --region RegionOne image internal http://192.168.56.11:9292openstack endpointcreate --region RegionOne image admin http://192.168.56.11:9292
2.4.3.glance的配置与安装a.软件包的安装
yum install -yopenstack-glance
b编辑文件 /etc/glance/glance-api.con
#配置数据库访问connection =mysql+pymysql://glance:glance@192.168.56.11/glance#配置本地文件系统存储和镜像文件位置stores = file,httpdefault_store =filefilesystem_store_datadir= /var/lib/glance/images#配置认证服务访问auth_uri =http://192.168.56.11:5000auth_url =http://192.168.56.11:35357memcached_servers =192.168.56.11:11211auth_type =passwordproject_domain_name= defaultuser_domain_name =defaultproject_name =serviceusername = glancepassword = glanceflavor = keystone
c编辑文件 ``/etc/glance/glance-registry.conf``
#配置数据库访问connection =mysql+pymysql://glance:glance@192.168.56.11/glance#配置认证服务访问auth_uri =http://192.168.56.11:5000auth_url =http://192.168.56.11:35357memcached_servers =192.168.56.11:11211auth_type =passwordproject_domain_name= defaultuser_domain_name =defaultproject_name =serviceusername = glancepassword = glanceflavor = keystone
d写入镜像服务数据库
su -s /bin/sh -c"glance-manage db_sync" glance检验
mysql -uglance-pglance -h localhost -e "use glance;show tables;"
e启动镜像服务并将其配置为随机启动
systemctl enableopenstack-glance-api.service \openstack-glance-registry.servicesystemctl startopenstack-glance-api.service \openstack-glance-registry.service
2.4.4验证操作获得 admin 凭证来获取只有管理员能执行的命令的访问权限:
sourceadmin-openstack下载源镜像:
wgethttp://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它:
openstack imagecreate "cirros" \--filecirros-0.3.4-x86_64-disk.img \--disk-format qcow2--container-format bare \--public确认镜像的上传并验证属性:
openstack imagelist+--------------------------------------+--------+--------+| ID | Name |Status |+--------------------------------------+--------+--------+|9fe07794-9fb9-4e34-aa23-0fdfe4804bad | cirros | active |+--------------------------------------+--------+--------+
页:
[1]