q456123 发表于 2016-1-9 02:57:10

OpenStack Glance安装

  Glance是OpenStack镜像服务,用来注册、登陆和检索虚拟机镜像。Glance服务提供了一个REST API,使你能够查询虚拟机镜像元数据和检索的实际镜像。通过镜像服务提供的虚拟机镜像可以存储在不同的位置,从简单的文件系统对象存储到类似OpeenStack对象存储系统。
  
  为了简单,本安装镜像服务使用普通文件系统做为后端,也就是说上传镜像将被存储在一个目录里,这个目录是/var/lib/glance/image,你要确保这个目录提供足够的空间,然后再来存储虚拟机的镜像和快照。大小怎么着自己看着办。
  
  
  镜像服务组件:
  Glance-API 承受镜像API的探索,检索和存储镜像的API调用。
  Glance-registry 存储,处理和检索有关镜像的元数据,元数据大小、类型等等。
  Database 存储镜像元数据,你可以选择你喜欢的数据库,现在比较多的是mysql和sqlite
  
  镜像文件存储在存储库中,你可以选择不同的存储库,比如正常文件系统、 RADOS、Amazon 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请求,并且可以存储在对象存储服务的磁盘文件上。
  逻辑图:

  
  安装镜像服务:
  
  glance服务工作在虚拟磁盘镜像上面,用户可以添加一个新镜像,或者从现有的服务中存储快照,使用快照来备份或者做为其它服务器的模版,你可以注册镜像在对象存储或者在其它的文件系统中,例如可以使用WEB服务或者NFS,MFS等。
  
  1、安装镜像服务包
  # apt-get install glance python-glanceclient
  2、配置数据位置,glance-api和glance-registry都有自己的配置文件,路径分别是
  /etc/glance/glance-api.conf
  /etc/glance/glance-registry.conf修改选项,连接mysql
  两个文件都要改
  #sql_connection = mysql://glance:stack@controller/glance

  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';

  5、重启下
  # service glance-api restart
  # service glance-registry restart

  6、用镜像服务创建数据表
  # glance-manage db_sync

  查下一下有多少表:

  看一下images的表结构:

  6、创建一个用户glance在keystone,使用密码和邮件,并把他添加到服务的租户里去。记住咯,又一个密码。
  # keystone user-create --name=glance --pass=stack --email=zwhset@163.com

  
  7、把镜像服务注册到keystone里去,修改配置文件。
  修改glance-api.comf 和glance-registry.conf
  
  auth_host = controller
  auth_port = 35357
  auth_protocol = http
  admin_tenant_name = service
  admin_user = glance
  admin_password = stack

  
  
  还是一样两个都要改
  
  
  8、把凭证添加到下面两个文件中去
  /etc/glance/glance-api-paste.ini
  /etc/glance/glance-registry-paste.ini
  
  
  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

  
  9、在keystone上面注册镜像服务让其它服务可以看到并且创建终端。
  # keystone service-create --name=glance --type=image --description="Glance Image Service"

  
  10、使用刚返回的ID创建终端服务。
  #  keystone endpoint-create --service-id=310682cc6c304ddb91be7a5798bf608e --publicurl=http://controller:9292 --internalurl=http://controller:9292 --adminurl=http://controller:9292

  11、重启glance服务以生效刚修改的
  # service glance-registry restart
  #  service glance-api restart

  
  验证镜像服务的安装
  1、下载一个13M镜像测试。
  # mkdir images
  # cd images/
  # wget http://cdn.download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img

  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

  
  选项说明:
  # glance image-create --name=imageLabel --disk-format=fileFormat   --container-format=containerFormat --is-public=accessValue < imageFile
  imageLable:镜像的名称,随意写。
  fileFormat:指定图像的格式,有效的格式为qcow2,raw,vhd,vmdk,vdi,iso,aki,ari和ami
  查看格式:

  containerFormat:指定container的格式,有效的格式有bare,ovf,aki,ari 和ami
  imageFile:指定镜像文件
  
  3、查看镜像列表

  
页: [1]
查看完整版本: OpenStack Glance安装