由于时间关系简单的架构图就先不展示了。后续的更新会贴上...

部署glance

安装memcache服务

yum install memcached python-memcached
systemctl enable memcached.service
systemctl start memcached.service

1.glance的数据库操作

glance跟其他的组件都共享一台数据库,所以直接在部署keystone的那台数据库中操作即可。

mysql -u root -p #登入数据库
CREATE DATABASE glance; #新建库keystone
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY ''; #新建本地访问glance库的账号
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY ''; #新建远程访问glance库的账号

2.glance关于keystone的操作

首先要建立一个glance用户,然后创建一个项目,最后关联赋予角色,在搭建keystone的时候,glance属于一个组件,keystone属于一个组件,nova属于一个组件等等的这些所有的组件都在一个项目中(service项目),所以项目就不需要建立,直接赋予角色信息。

对于glance来说,它属于管理着镜像服务,keystone管理着认证服务,neutron管理着网络服务,nova,cinder等等,这些所有的管理者的用户必须是admin。

#获得管理员权先。
#为glance的使用者创建用户
openstack user create --domain default --password-prompt glance #对glance-service添加role角色,提示:用户glance只有在一个确定的项目service内才有角色的概念,单独的用户或者单独的项目都是无法绑定角色的。
openstack role add --project service --user glance admin

查看关联

由上图可见第一行就是建立了关联,用户--角色--项目都已经建好了。接下来就要建立访问glance的catalog了

#创建glance服务的catalog:service+endpoint
openstack service create --name glance \
--description "OpenStack Image" image
#一定要指定它的类型为image镜像类型
openstack endpoint create --region RegionOne \
image public http://182.92.84.106:9292
openstack endpoint create --region RegionOne \
image internal http://182.92.84.106:9292
openstack endpoint create --region RegionOne \
image admin http://182.92.84.106:9292

指定类型

三种访问路径

public

internal

 admin

查看服务

查看endpoint

注意现在的这些操作都是在keystone里面,还没有具体的glance服务。

keystone对glance的操作就结束了 接下来就是正式安装glance了

 3.安装软件包

yum -y install openstack-glance

4.配置glance

注意注意:每一条配置都要新建到文件中,不要打开注释在原有的基础上修改

创建本地存储

1.一定要在opesntack-glance-api.service服务启动之前部署好存储设备,因为该服务在启动时会加载存储驱动检索存储设备,如果事先不存在,就意味着该服务没有识别到任何可用的存储设备,即便是后来你又新增了存储,仍然是无效的,最终导致你上传镜像失败;

2.一定要赋予opesntack-glance-api.service服务对存储设备的可写权限。

mkdir /var/lib/glance/images
chown -R glance.glance /var/lib/glance/images

配置/etc/glance/glance-api.conf V2版本

[database]
connection = mysql+pymysql://glance:123@182.92.84.106/glance [keystone_authtoken]
auth_uri = http://182.92.84.106:5000
auth_url = http://182.92.84.106:35357
memcached_servers = 182.92.84.106:
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = [paste_deploy]
flavor = keystone [glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

配置 /etc/glance/glance-registry.conf  V1版本

[database]
connection = mysql+pymysql://glance:123@182.92.84.106/glance #可选
[keystone_authtoken]
auth_uri = http://182.92.84.106:5000
auth_url = http://182.92.84.106:35357
memcached_servers = 182.92.84.106:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance password =  
#可选
[paste_deploy]
flavor = keystone

 5.初始化数据库

 su -s /bin/sh -c "glance-manage db_sync" glance

'''
并不是报错
Option "verbose" from group "DEFAULT" is deprecated for removal. Its value may be silently ignored in the future.
/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1171: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade
expire_on_commit=expire_on_commit, _conf=conf)
/usr/lib/python2.7/site-packages/pymysql/cursors.py:166: Warning: (1831, u"Duplicate index 'ix_image_properties_image_id_name' defined on the table 'glance.image_properties'. This is deprecated and will be disallowed in a future release.")
result = self._query(query)
'''

6.启动glance并设置为开机自启动

systemctl enable openstack-glance-api.service \
openstack-glance-registry.service systemctl start openstack-glance-api.service \
openstack-glance-registry.service

 验证

首先获得admin权限

source admin-openrc

这时候执行如下命令可以看到为空

openstack image list 

因为里面还没有镜像 所以我们要先上传一个

下载镜像

wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
使用glacne创一个镜像
openstack image create "cirros" \
--file cirros-0.3.4-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public

镜像上传到glance后 即使删除了原文件也无所谓

可以使用qemu-img来查看镜像信息

openstack之glance部署及操作的更多相关文章

  1. glance系列二:glance部署及操作

    一 简单架构图示参考 更新中... 二 部署glance yum install memcached python-memcachedsystemctl enable memcached.servic ...

  2. openstack(Pike 版)集群部署(三)--- Glance 部署

    一.介绍 参照官网部署:https://docs.openstack.org/glance/queens/install/ 继续上一博客进行部署:http://www.cnblogs.com/weij ...

  3. OpenStack 镜像服务 Glance部署(六)

    Glance介绍 创建虚拟机我们需要有glance的支持,因为glance是提供镜像的服务. Glance有两个比较重要的服务: Glance-api:接受云系统镜像的构建.删除.读取请求 Glanc ...

  4. 理解 OpenStack + Ceph (1):Ceph + OpenStack 集群部署和配置

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  5. openstack高可用集群21-生产环境高可用openstack集群部署记录

    第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群   部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...

  6. openstack核心组件——glance— 镜像服务(6)

    云计算openstack核心组件——glance— 镜像服务(6)   一.glance介绍:              Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像 ...

  7. OpenStack:安装Glance

    >安装Glance1. 安装# apt-get install glance python-glanceclient删除sqlite文件rm -f /var/lib/glance/glance. ...

  8. openstack初始化Glance数据库时报错解决方式

    环境为win7+virtualbox 中的centos6.5 安装Glance 的包 yum install openstack-glance python-glanceclient -y 配置Gla ...

  9. openstack的glance、nova、cinder使用ceph做后端存储

    块设备与 OPENSTACK 通过 libvirt 你可以把 Ceph 块设备用于 OpenStack ,它配置了 QEMU 到 librbd 的接口. Ceph 把块设备映像条带化为对象并分布到集群 ...

随机推荐

  1. COGS:1822. [AHOI2013]作业

    1822. [AHOI 2013] 作业 ★★★   输入文件:ahoi2013_homework.in   输出文件:ahoi2013_homework.out   简单对比时间限制:20 s   ...

  2. 解决CentOS下可以ping通ip ping不通域名

    现象:1. ping不通域名,比如 www.qq.com 2. 可以ping通ip,比如 61.135.157.156 分析:1. 查看DNS配置文件 /etc/resolve.conf, 里面的服务 ...

  3. 从golang的垃圾回收说起(上篇)

    本文来自网易云社区 1 垃圾回收中的重要概念 1.1 定义 In computer science, garbage collection (GC) is a form of automatic me ...

  4. mysql源码

    从代码的角度来说,没有丝毫设计感,尤其是优化器部分.不过那些是常年累积的原因,一些新加较独立的部分,设计的就很舒服,真正的面向对象做法.

  5. `Facebook.Unity.Settings' has already been imported error solution

    after import facebook sdk to unity, i get the '`Facebook.Unity.Settings' has already been imported' ...

  6. Windows系统常用修复命令 无须重装系统

    1.0 netsh int ipv4 reset 2.0 netsh winsock reset winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层 ...

  7. 「LeetCode」0002-Longest Substring Without Repeating Characters(C++)

    分析 贪心思想.注意更新每次判断的最长不同子串的左区间的时候,它是必须单调增的(有时候会在这里翻车). 代码 关掉流同步能有效提高速度. static const auto io_sync_off = ...

  8. Qt-第一个QML程序-1-项目工程的建立

    这个小程序是我发的第一个完整的QMl程序,这个程序也会持续的更新,一步一步的完善起来,最后会有一个什么样的结果也是不知道,只是把自己目前掌握的QML相关的东西都慢慢的写进来,积累起来 先展示一下运行结 ...

  9. 【C++模版之旅】项目中一次活用C++模板(traits)的经历 -新注解

    问题与需求: 请读者先看这篇文章,[C++模版之旅]项目中一次活用C++模板(traits)的经历. 对于此篇文章提出的问题,我给出一个新的思路. talking is cheap,show me t ...

  10. Http的请求和响应

    请求有客户端发起:可分为4个部分,请求方法(Requestmethod).请求的网址(Request URL).请求头(Request Headers).请求体(Request Body) 1.请求方 ...