四、OpenStack Glance安装 – 煮酒品茶 – 51CTO技术博客

GlanceOpenStack镜像服务,用来注册、登陆和检索虚拟机镜像。Glance服务提供了一个REST API,使你能够查询虚拟机镜像元数据和检索的实际镜像。通过镜像服务提供的虚拟机镜像可以存储在不同的位置,从简单的文件系统对象存储到类似OpeenStack对象存储系统。

 

为了简单,本安装镜像服务使用普通文件系统做为后端,也就是说上传镜像将被存储在一个目录里,这个目录是/var/lib/glance/image,你要确保这个目录提供足够的空间,然后再来存储虚拟机的镜像和快照。大小怎么着自己看着办。

 

 

镜像服务组件:

Glance-API 承受镜像API的探索,检索和存储镜像的API调用。

Glance-registry 存储,处理和检索有关镜像的元数据,元数据大小、类型等等。

Database 存储镜像元数据,你可以选择你喜欢的数据库,现在比较多的是mysqlsqlite

 

镜像文件存储在存储库中,你可以选择不同的存储库,比如正常文件系统、 RADOSAmazon S3 HTTP,也有一些提供只读使用,所以我们可以使用不同的分布式文件系统来扩展。

 

Object Storage {Ring proxy object container account replication updaters auditors} auditors检查{object,container,account}updaters失败更新{container account} account处理container列表 container处理对象列表 object文件所在地 Ring名称与物理位置映射。

 

它接受来自最终用户和Nova的镜像和镜像元数据的API请求,并且可以存储在对象存储服务的磁盘文件上。

逻辑图:

wKiom1LLS_6jNAi8AABydgb4nlI415.jpg

 

安装镜像服务:

 

glance服务工作在虚拟磁盘镜像上面,用户可以添加一个新镜像,或者从现有的服务中存储快照,使用快照来备份或者做为其它服务器的模版,你可以注册镜像在对象存储或者在其它的文件系统中,例如可以使用WEB服务或者NFSMFS等。

 

1、安装镜像服务包

# apt-get install glance python-glanceclient

2、配置数据位置,glance-apiglance-registry都有自己的配置文件,路径分别是

/etc/glance/glance-api.conf

/etc/glance/glance-registry.conf修改[default]选项,连接mysql

两个文件都要改

#sql_connection = mysql://glance:stack@controller/glance

wKiom1LLTNXzLK3MAAA2MPZZ1wQ102.jpg

3、删除rm /var/lib/glance/glance.sqlite文件,避免ubuntu使用sqlite连接数据库

# rm /var/lib/glance/glance.sqlite

4、创建数据库和连接方式,又是一个密码,同样记住了。

mysql> create database glance;

mysql> GRANT ALL PRIVILEGES ON glance.* TO ‘glance’@’localhost’ IDENTIFIED BY ‘stack’;

mysql> GRANT ALL PRIVILEGES ON glance.* TO ‘glance’@’controller’ IDENTIFIED BY ‘stack’;

wKioL1LLTNDwxvizAABXdeQuxsY349.jpg

5、重启下

# service glance-api restart

# service glance-registry restart

wKiom1LLTOfTEl5tAAA98GfbxdU096.jpg

6、用镜像服务创建数据表

# glance-manage db_sync

wKioL1LLTOXCCL_eAAAQVe61818830.jpg

查下一下有多少表:

wKiom1LLTPuRsmp9AABa6G-EilE621.jpg

看一下images的表结构:

wKiom1LLTQSi3gNPAADD47Giy9k116.jpg

6、创建一个用户glancekeystone,使用密码和邮件,并把他添加到服务的租户里去。记住咯,又一个密码。

# keystone user-create –name=glance –pass=stack –email=zwhset@163.com

wKioL1LLTQDghHH_AABKGp_DbUs699.jpg

 

7、把镜像服务注册到keystone里去,修改配置文件。

修改glance-api.comf glance-registry.conf

[keystone_authtoken]

auth_host = controller

auth_port = 35357

auth_protocol = http

admin_tenant_name = service

admin_user = glance

admin_password = stack

wKiom1LLTRWCxpDwAAApcontl0U625.jpg

 

 

还是一样两个都要改

 

 

8、把凭证添加到下面两个文件中去

/etc/glance/glance-api-paste.ini

/etc/glance/glance-registry-paste.ini

 

[filter:authtoken]

paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory

delay_auth_decision = true

auth_host=controller

admin_user=glance

admin_tenant_name=service

admin_password=stack

flavor=keystone

wKioL1LLTRHznAmTAAAtE-ptzUE672.jpg

 

9、keystone上面注册镜像服务让其它服务可以看到并且创建终端。

# keystone service-create –name=glance –type=image –description=”Glance Image Service”

wKiom1LLTSXwvJDqAABVN8ILXB8341.jpg

 

10、使用刚返回的ID创建终端服务。

#  keystone endpoint-create –service-id=310682cc6c304ddb91be7a5798bf608e –publicurl=http://controller:9292 –internalurl=http://controller:9292 –adminurl=http://controller:9292

wKioL1LLTR-j1dJxAACIkGPLVSw945.jpg

11、重启glance服务以生效刚修改的

# service glance-registry restart

#  service glance-api restart

wKioL1LLTSbRGYvVAAA9h2rdtKw318.jpg

 

验证镜像服务的安装

1、下载一个13M镜像测试。

# mkdir images

# cd images/

# wget http://cdn.download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img

wKiom1LLTTvB35xcAADO_TBq_gY518.jpg

2、上传镜像到镜像服务

# glance image-create –name=”CirrOS 0.3.1″ –disk-format=qcow2 –container-format=bare –is-public=true < cirros-0.3.1-x86_64-disk.img

wKioL1LLTTbjvtFwAAC5mBZ-E1I280.jpg

 

选项说明:

# glance image-create –name=imageLabel –disk-format=fileFormat   –container-format=containerFormat –is-public=accessValue < imageFile

imageLable:镜像的名称,随意写。

fileFormat:指定图像的格式,有效的格式为qcow2,raw,vhd,vmdk,vdi,iso,aki,ariami

查看格式:

wKiom1LLTVCg4lzmAAAllYdteq0778.jpg

containerFormat:指定container的格式,有效的格式有bare,ovf,aki,ari ami

imageFile:指定镜像文件

 

3、查看镜像列表

wKioL1LLTVnTi46QAABgCE97MW0987.jpg

来源URL:http://cwtea.blog.51cto.com/4500217/1349207