OpenStack部署应用第二篇:镜像服务glance(转)
1、镜像服务Glance介绍
镜像服务 (glance) 允许用户发现、注册和获取虚拟机镜像。它提供了一个 REST API,允许您查询虚拟机镜像的 metadata 并获取一个现存的镜像。您可以将虚拟机镜像存储到各种位置,从简单的文件系统到对象存储系统—-例如 OpenStack 对象存储, 并通过镜像服务使用。
注释:简单来说,本指南描述了使用`file``作为后端配置镜像服务,能够上传并存储在一个托管镜像服务的控制节点目录中。默认情况下,这个目录是 /var/lib/glance/images/。
OpenStack镜像服务是IaaS的核心服务,如同 :ref:`get_started_conceptual_architecture`所示。它接受磁盘镜像或服务器镜像API请求,和来自终端用户或OpenStack计算组件的元数据定义。它也支持包括OpenStack对象存储在内的多种类型仓库上的磁盘镜像或服务器镜像存储。
大量周期性进程运行于OpenStack镜像服务上以支持缓存。同步复制(Replication)服务保证集群中的一致性和可用性。其它周期性进程包括auditors, updaters, 和 reapers。
OpenStack镜像服务包括以下组件:
glance-api
接收镜像API的调用,诸如镜像发现、恢复、存储。
glance-registry
存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。
警告:glance-registry是私有内部服务,用于服务OpenStack Image服务。不要向用户暴露该服务
数据库
存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用MySQL或SQLite。
镜像文件的存储仓库
Various repository types are supported including normal file systems (or any filesystem mounted on the glance-api controller node), Object Storage, RADOS block devices, VMware datastore, and HTTP. Note that some repositories will only support read-only usage.
元数据定义服务
通用的API,是用于为厂商,管理员,服务,以及用户自定义元数据。这种元数据可用于不同的资源,例如镜像,工件,卷,配额以及集合。一个定义包括了新属性的键,描述,约束以及可以与之关联的资源的类型。
2、环境准备
1)创建数据库及数据库授权(第一篇中已经完成)
2)创建用户、glance服务实体、镜像服务的 API 端点
source admin-openstack # 获得 admin 凭证来获取只有管理员能执行的命令的访问权限 openstack service create --name glance --description "OpenStack Image" image # 创建``glance``服务实体 # 创建glance endpoint openstack endpoint create --region RegionOne image public http://192.168.56.11:9292 openstack endpoint create --region RegionOne image internal http://192.168.56.11:9292 openstack endpoint create --region RegionOne image admin http://192.168.56.11:9292 # 检查创建结果 openstack endpoint list
3)安装并配置glance服务
1)安装软件包 yum install -y openstack-glance 2)配置glance服务 [root@linux-node1 glance]# grep -n '^[a-z]' glance-api.conf 1748:connection = mysql+pymysql://glance:glance@192.168.56.11/glance 1864:stores = file,http 1896:default_store = file 2196:filesystem_store_datadir = /var/lib/glance/images 3179:auth_uri = http://192.168.56.11:5000 3180:auth_url = http://192.168.56.11:35357 3181:memcached_servers = 192.168.56.11:11211 3182:auth_type = password 3183:project_domain_name = default 3184:user_domain_name = default 3185:project_name = service 3186:username = glance 3187:password = glance 3990:flavor = keystone [root@linux-node1 glance]# grep -n '^[a-z]' glance-registry.conf 1038:connection = mysql+pymysql://glance:glance@192.168.56.11/glance 1128:auth_uri = http://192.168.56.11:5000 1129:auth_url = http://192.168.56.11:35357 1130:memcached_servers = 192.168.56.11:11211 1131:auth_type = password 1132:project_domain_name = default 1133:user_domain_name = default 1134:project_name = service 1135:username = glance 1136:password = glance 1911:flavor = keystone
# 如果上传配置文件,确保文件权限正确
# 同步镜像服务数据库
su -s /bin/sh -c "glance-manage db_sync" glance # 除法错误信息都可以忽略
mysql -h 192.168.56.11 -uglance -pglance -e "use glance;show tables;" # 检查结果
# 启动服务
systemctl enable openstack-glance-api.service openstack-glance-registry.service
systemctl start openstack-glance-api.service openstack-glance-registry.service
# 验证服务是否正常(无错误输出就OK)
openstack image list
# 验证服务正确部署 source admin-openstack # 获得 admin 凭证来获取只有管理员能执行的命令的访问权限 wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img # 下载源镜像 使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它 $ openstack image create "cirros" \ --file cirros-0.3.4-x86_64-disk.img \ --disk-format qcow2 --container-format bare \ --public # 确认镜像的上传并验证属性 openstack image list
出处:http://www.cnblogs.com/madsnotes/
声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。