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

 

 

 

posted @ 2017-01-13 20:07  每天进步一点点!!!  阅读(714)  评论(0编辑  收藏  举报