博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5 云计算系列之glance镜像服务安装
阅读量:6383 次
发布时间:2019-06-23

本文共 9467 字,大约阅读时间需要 31 分钟。

preface

在上节中我们了解了keystone服务,下面就看看glance管理镜像的服务吧。

glance组成

glance有两部分组成:

  1. glance-api 接受云系统镜像的创建,删除,读取请求
  2. glance-Registry 云系统的镜像注册服务

image

  • glance-api 是接受 rest api请求的。完成诸如镜像的查找,获取,上传,删除等操作,默认是监听9292端口

  • glance-registry 是用于Mysql的数据交互,用户存储或获取镜像的元数据(metadata);提供镜像元数据相关的REST接口,通过glance-Registry,可以向数据库中写入或获取镜像的各种数据。glance-Registry监听的端口是9191.Glance数据库中有两种表,一张是image表,主要存储了镜像格式,大小等信息;另一张是image property表,主要存了镜像定制化信息。

  • image-store是一个存储的接口层,通过这个接口,glance可以获取镜像,image store支持的存储有Amazon的S3,Openstack本身的swift,还有诸如ceph,sheepdog,GluasterFS等分布式存储,image store是镜像保存与获取的接口,它仅仅是一个接口层,具体的实现需要外部的存储支持。

三种存储方式

我们从用户的使用角度来说

  1. 对象存储
    调用restful api来存储文件的属于对象存储。
  2. 块存储
    就像一块硬盘/磁盘/分区一样来存放东西。
  3. 文件存储
    通过文件夹的方式来存放文件。

通过三种不同的存储方式来区别是对象、块还是文件存储

那么就动手配置它吧

我们先把基础工作做好:

  1. 控制节点创建数据库(前面已经完成了)
  2. 创建用户并赋予admin权限(前面已经完成了)
  3. 创建服务实体
[root@linux-node1 ~]# source admin_openrc   # 用admin,不然会报错403错误[root@linux-node1 ~]# openstack service create --name glance \>   --description "OpenStack Image" image+-------------+----------------------------------+| Field       | Value                            |+-------------+----------------------------------+| description | OpenStack Image                  || enabled     | True                             || id          | 75791c905b92412ca4390b3970726f75 || name        | glance                           || type        | image                            |+-------------+----------------------------------+
  1. 创建镜像服务的api端点:
[root@linux-node1 ~]# openstack endpoint create --region RegionOne image public http://192.168.56.11:9292+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | af87e8f5eb69433884165450d75ed3c0 || interface    | public                           || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 75791c905b92412ca4390b3970726f75 || service_name | glance                           || service_type | image                            || url          | http://192.168.56.11:9292        |+--------------+----------------------------------+[root@linux-node1 ~]# openstack endpoint create --region RegionOne image internal http://192.168.56.11:9292+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | 1f10e8ab94db40ed997e170a38b9cb2b || interface    | internal                         || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 75791c905b92412ca4390b3970726f75 || service_name | glance                           || service_type | image                            || url          | http://192.168.56.11:9292        |+--------------+----------------------------------+[root@linux-node1 ~]# openstack endpoint create --region RegionOne image admin http://192.168.56.11:9292+--------------+----------------------------------+| Field        | Value                            |+--------------+----------------------------------+| enabled      | True                             || id           | 8dfebc8930bf4e65b8fc763b9411bf0c || interface    | admin                            || region       | RegionOne                        || region_id    | RegionOne                        || service_id   | 75791c905b92412ca4390b3970726f75 || service_name | glance                           || service_type | image                            || url          | http://192.168.56.11:9292        |+--------------+----------------------------------+# 检测下:[root@linux-node1 ~]# openstack service list+----------------------------------+----------+----------+| ID                               | Name     | Type     |+----------------------------------+----------+----------+| 75791c905b92412ca4390b3970726f75 | glance   | image    || d24e9eacb30a4c9fa6d1109c856f6b11 | keystone | identity |+----------------------------------+----------+----------+[root@linux-node1 ~]# openstack endpoint list| 1f10e8ab94db40ed997e170a38b9cb2b | RegionOne | glance       | image        | True    | internal  | http://192.168.56.11:9292      || 8dfebc8930bf4e65b8fc763b9411bf0c | RegionOne | glance       | image        | True    | admin     | http://192.168.56.11:9292      || af87e8f5eb69433884165450d75ed3c0 | RegionOne | glance       | image        | True    | public    | http://192.168.56.11:9292      |

5.安装glance服务

[root@linux-node1 ~]# yum install openstack-glance

6.修改数据库配置并且同步数据库

# glance-api配置文件[root@linux-node1 openrc]# vim /etc/glance/glance-api.conf[database]connection = mysql+pymysql://glance:glance@192.168.56.11/glance# glance-Registry配置文件[database]connection = mysql+pymysql://glance:glance@192.168.56.11/glance[root@linux-node1 glance]#  su -s /bin/sh -c "glance-manage db_sync" glance  # 警告信息可以忽略[root@linux-node1 glance]# mysql -uglance -h 192.168.56.11 -pglance -e "use glance;show tables;"+----------------------------------+| Tables_in_glance                 |+----------------------------------+| artifact_blob_locations          || artifact_blobs                   || artifact_dependencies            || artifact_properties              || artifact_tags                    || artifacts                        || image_locations                  || image_members                    || image_properties                 || image_tags                       || images                           || metadef_namespace_resource_types || metadef_namespaces               || metadef_objects                  || metadef_properties               || metadef_resource_types           || metadef_tags                     || migrate_version                  || task_info                        || tasks                            |+----------------------------------+

7.配置keystoner认证与镜像存储地方

# api 配置文件[root@linux-node1 glance]# vim /etc/glance/glance-api.conf[keystone_authtoken]     添加keystone认证信息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 = glance[paste_deploy]    认证方式为keystonflavor = keystone[glance_store]   配置本地文件系统存储和镜像文件位置:stores = file,httpdefault_store = filefilesystem_store_datadir = /var/lib/glance/images/# Registry配置文件[root@linux-node1 ~]# vim /etc/glance/glance-registry.conf [keystone_authtoken]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 = glance[paste_deploy]flavor = keystone

8.确保无误,启动服务:

[root@linux-node1 glance]# systemctl enable openstack-glance-api.service \>   openstack-glance-registry.service[root@linux-node1 glance]# systemctl start openstack-glance-api.service \>   openstack-glance-registry.service

9.下载镜像并检测glance服务是否正常

下载镜像

[root@linux-node1 images]# wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img   # 下载镜像

导入镜像到glance

[root@linux-node1 images]# source /root/admin_openrc[root@linux-node1 images]# openstack image create "cirros" \>   --file cirros-0.3.4-x86_64-disk.img \>   --disk-format qcow2 --container-format bare \>   --public+------------------+------------------------------------------------------+| Field            | Value                                                |+------------------+------------------------------------------------------+| checksum         | ee1eca47dc88f4879d8a229cc70a07c6                     || container_format | bare                                                 || created_at       | 2017-01-03T06:46:27Z                                 || disk_format      | qcow2                                                || file             | /v2/images/5c242396-3c7b-4bc6-bec1-3df8eb57d53d/file || id               | 5c242396-3c7b-4bc6-bec1-3df8eb57d53d                 || min_disk         | 0                                                    || min_ram          | 0                                                    || name             | cirros                                               || owner            | 6197e636277d41ce8b0a835fbca4f87a                     || protected        | False                                                || schema           | /v2/schemas/image                                    || size             | 13287936                                             || status           | active                                               || tags             |                                                      || updated_at       | 2017-01-03T06:46:28Z                                 || virtual_size     | None                                                 || visibility       | public                                               |+------------------+------------------------------------------------------+[root@linux-node1 images]# openstack image list+--------------------------------------+--------+--------+| ID                                   | Name   | Status |+--------------------------------------+--------+--------+| 5c242396-3c7b-4bc6-bec1-3df8eb57d53d | cirros | active |+--------------------------------------+--------+--------+

10.如果能够通过openstack image list查看到刚才导入的镜像,那么就说明glance正常工作的了。

转载地址:http://ngwha.baihongyu.com/

你可能感兴趣的文章
Trie 树内存消耗问题
查看>>
环境搭建-VMware上安装CentOS7
查看>>
10月18日科技联播:阿里妈妈将推出全新的信息流营销产品;特斯拉购得上海建厂用地...
查看>>
从键盘读入实数
查看>>
apache 配置 Expire/Cache-Control 头
查看>>
区块链教程btcpool矿池源码分析slparser
查看>>
8、MySQL存储过程
查看>>
第十九章:集合视图(五)
查看>>
Linux网络协议栈(四)——链路层(1)
查看>>
OC 中,覆盖属性会有怎么样的化学反应?
查看>>
Linux MySQL 8.0 忘记密码
查看>>
Android:随笔——我们用什么来替代 Enum 这个内存大户
查看>>
TCP连接的状态详解以及故障排查
查看>>
Arm首次公布CPU路线图,其意义何在
查看>>
来杯咖啡看Pecan
查看>>
SARO平台发展和架构简介
查看>>
Autopep8的使用
查看>>
Sequelize 4.42.1 发布,基于 Nodejs 的异步 ORM 框架
查看>>
jQuery (二)
查看>>
RFC2616-HTTP1.1-Methods(方法规定部分—译文)
查看>>