OpenStack实践系列③镜像服务Glance

3.5 Glance部署

修改glance-api和glance-registry的配置文件,同步数据库

[root@node1 ~]# vim /etc/glance/glance-api.conf
connection=mysql://glance:glance@192.168.3.199/glance [root@node1 ~]# vim /etc/glance/glance-registry.conf
connection=mysql://glance:glance@192.168.3.199/glance [root@node1 ~]# su -s /bin/sh -c "glance-manage db_sync" glance
No handlers could be found for logger "oslo_config.cfg"
/usr/lib64/python2./site-packages/sqlalchemy/engine/default.py:: Warning: Duplicate index `ix_image_properties_image_id_name`. This is deprecated and will be disallowed in a future release.
cursor.execute(statement, parameters)(可以忽略)

检查导入glance库的表情况

[root@node1 httpd]# mysql -h192.168.3. -uglance -pglance
MariaDB [(none)]> use glance
Database changed
MariaDB [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 |
+----------------------------------+
rows in set (0.00 sec)

配置glance连接keystone,对于keystone,每个服务都要有一个用户连接keystone

[root@node1 ~]# source admin-openrc.sh
[root@node1 ~]# openstack user create --domain default --password=glance glance
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 8f1bc013d4f04784886c852cd678e756 |
| name | glance |
+-----------+----------------------------------+
[root@node1 ~]# openstack role add --project service --user glance admin

修改glance-api配置文件,结合keystone和mysql

# vim /etc/glance/glance-api.conf

[keystone_authtoken] 部分加入如下配置:

auth_uri = http://192.168.3.199:5000
auth_url = http://192.168.3.199:35357
memcached_servers = 192.168.3.199:
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = glance

[paste_deploy] 部分修改:

flavor=keystone

[default] 部分修改:

notification_driver = noop    # 镜像服务不需要使用消息队列
verbose=True # 打开debug

[glance_store] 部分:

default_store=file    # 镜像存放成文件
filesystem_store_datadir=/var/lib/glance/images/ # 镜像存放位置

编辑/etc/glance/glance-registry.conf文件,并完成以下操作:

verbose=True
notification_driver = noop

在[database]部分中,配置数据库访问

[database]
...

connection=mysql://glance:glance@192.168.3.199/glance

在[keystone_authtoken]和[paste_deploy]部分,配置认证服务访问

[keystone_authtoken]
...

auth_uri = http://192.168.3.199:5000
auth_url = http://192.168.3.199:35357
memcached_servers = 192.168.3.199:
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = glance

[paste_deploy]
...

flavor = keystone

检查glance修改过的配置

[root@node1 ~]# grep -n '^[a-z]' /etc/glance/glance-api.conf
:verbose=True
:notification_driver = noop
:connection=mysql://glance:glance@192.168.3.199/glance
:default_store=file
:filesystem_store_datadir=/var/lib/glance/images/
:auth_uri = http://192.168.3.199:5000
:auth_url = http://192.168.3.199:35357
:memcached_servers = 192.168.3.199:
:auth_plugin = password
:project_domain_id = default
:user_domain_id = default
:project_name = service
:username = glance
:password = glance
:flavor=keystone
[root@node1 ~]# grep -n '^[a-z]' /etc/glance/glance-registry.conf
:verbose=True
:notification_driver = noop
:connection=mysql://glance:glance@192.168.3.199/glance
:auth_uri = http://192.168.3.199:5000
:auth_url = http://192.168.3.199:35357
:memcached_servers = 192.168.3.199:
:auth_plugin = password
:project_domain_id = default
:user_domain_id = default
:project_name = service
:username = glance
:password = glance
:flavor=keystone

对glance设置开机启动并启动glance服务

[root@node1 glance]# systemctl enable openstack-glance-api
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-api.service to /usr/lib/systemd/system/openstack-glance-api.service.
[root@node1 glance]# systemctl enable openstack-glance-registry
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-registry.service to /usr/lib/systemd/system/openstack-glance-registry.service.
[root@node1 glance]# systemctl start openstack-glance-api
[root@node1 glance]# systemctl start openstack-glance-registry

查看galnce占用端口情况,其中9191是registry占用端口,9292是api占用端口

[root@node1 glance]# netstat -lntup | egrep '9191|9292'
tcp 0.0.0.0: 0.0.0.0:* LISTEN /python2
tcp 0.0.0.0: 0.0.0.0:* LISTEN /python2

让glance服务在keystone上注册,才可以允许其他服务调用glance

[root@node1 ~]# source admin-openrc.sh
[root@node1 ~]# openstack service create --name glance --description "OpenStack Image service" image
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Image service |
| enabled | True |
| id | 7e931b709a444c13bac5611fb19b9a05 |
| name | glance |
| type | image |
+-------------+----------------------------------+ [root@node1 ~]# openstack endpoint create --region RegionOne image public http://192.168.3.199:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 4ea9ed1557dc4e548c76cdf0f3d4fbdc |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 7e931b709a444c13bac5611fb19b9a05 |
| service_name | glance |
| service_type | image |
| url | http://192.168.3.199:9292 |
+--------------+----------------------------------+ [root@node1 ~]# openstack endpoint create --region RegionOne image internal http://192.168.3.199:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | cef79d1f235c4fbe9eb2679c101edc15 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 7e931b709a444c13bac5611fb19b9a05 |
| service_name | glance |
| service_type | image |
| url | http://192.168.3.199:9292 |
+--------------+----------------------------------+ [root@node1 ~]# openstack endpoint create --region RegionOne image admin http://192.168.3.199:9292
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | b8012edc462a4d82b68b6a138b47cc94 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 7e931b709a444c13bac5611fb19b9a05 |
| service_name | glance |
| service_type | image |
| url | http://192.168.3.199:9292 |
+--------------+----------------------------------+

在admin和demo中加入glance的环境变量,告诉其他服务glance使用的环境变量,一定要在admin-openrc.sh的路径下执行

[root@node1 ~]# echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh
export OS_IMAGE_API_VERSION=
[root@node1 ~]# tail - admin-openrc.sh
export OS_IMAGE_API_VERSION=
[root@node1 ~]# tail - demo-openrc.sh
export OS_IMAGE_API_VERSION=

报错记录:
[root@node1 ~]# openstack service create --name glance --description "OpenStack Image service" image
An unexpected error prevented the server from fulfilling your request. (HTTP 500) (Request-ID: req-323c5997-7c34-418e-af7b-8dbb4f4fdd0f)

解决办法:
重启keystone相关服务即可
[root@node1 ~]# systemctl restart httpd.service
[root@node1 ~]# systemctl restart memcached.service

如果出现以下情况,表示glance配置成功,由于没有镜像,所以看不到

[root@node1 ~]# glance image-list
+----+------+
| ID | Name |
+----+------+
+----+------+

验证Glance服务操作

使用CirrOS,一个很小的Linux镜像,可以帮助测试OpenStack部署镜像服务是否正常下载一个镜像,上传镜像到glance,要在上一步所下载的镜像当前目录执行

[root@node1 ~]# wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

将图像上传至使用QCOW2磁盘格式,因此所有的项目都可以访问它的服务

[root@node1 ~]# glance image-create --name "cirros" --file cirros-0.3.-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public --progress
[=============================>] %
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
| container_format | bare |
| created_at | --26T02::15Z |
| disk_format | qcow2 |
| id | 447ef14f-5ab2-4a69-af46-cf4331f45967 |
| min_disk | |
| min_ram | |
| name | cirros |
| owner | 7340dd86a8b14e73ac36b6d6385c689c |
| protected | False |
| size | |
| status | active |
| tags | [] |
| updated_at | --26T02::15Z |
| virtual_size | None |
| visibility | public |
+------------------+--------------------------------------+

查看上传镜像

[root@node1 ~]# glance image-list
+--------------------------------------+--------+
| ID | Name |
+--------------------------------------+--------+
| 447ef14f-5ab2-4a69-af46-cf4331f45967 | cirros |
+--------------------------------------+--------+
[root@node1 ~]# cd /var/lib/glance/images/
[root@node1 images]# ls
447ef14f-5ab2-4a69-af46-cf4331f45967 (和image-list中的id一致)

OpenStack实践系列③镜像服务Glance的更多相关文章

  1. OpenStack实践系列④计算服务Nova

    OpenStack实践系列④计算服务Nova 3.6 Nova控制节点的部署创建服务的凭证,完成下列步骤: 创建nova用户,并加入到service项目中,赋予admin权限 [root@node1 ...

  2. OpenStack实践系列⑧可视化服务Horizon之Dashboard演示

    OpenStack实践系列⑧可视化服务Horizon之Dashboard演示 七.可视化服务Horizon之Dashboard演示 仪表板依赖于功能核心服务,包括身份,图像服务,计算和网络两种(neu ...

  3. OpenStack实践系列⑤网络服务Neutron

    OpenStack实践系列⑤网络服务Neutron 3.8 Neturn 服务部署 注册neutron服务 [root@node1 ~]# source admin-openrc.sh [root@n ...

  4. OpenStack实践系列⑨云硬盘服务Cinder

    OpenStack实践系列⑨云硬盘服务Cinder八.cinder8.1存储的三大分类 块存储:硬盘,磁盘阵列DAS,SAN存储 文件存储:nfs,GluserFS,Ceph(PB级分布式文件系统), ...

  5. Centos7 install Openstack - (第三节)添加镜像服务(Glance)

    Centos7 install Openstack - (第三节)添加镜像服务(Glance) 我的blog地址:http://www.cnblogs.com/caoguo 该文根据openstack ...

  6. 【openstack N版】——镜像服务glance

    一.openstack镜像服务glance 1.1 glance介绍 glance主要是由三部分组成 glance-api:接收云系统镜像的创建,删除,读取请求,类似nova-api,通过其他模块(g ...

  7. [ Openstack ] OpenStack-Mitaka 高可用之 镜像服务(glance)

    目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...

  8. 云计算管理平台之OpenStack镜像服务glance

    一.glance简介 openstack中的glance服务是用来存储在openstack上启动虚拟机所需镜像:它主要用于发现.注册及检索虚拟机镜像:它通过提供RESTful风格的api对外提供服务: ...

  9. 探索 OpenStack 之(10):深入镜像服务Glance

    本篇博文来探讨下镜像服务Glance. 0.  基本概念 0.1 基本功能 Glance提供REST API来支持以下镜像操作: 查询 注册 上传 获取 删除 访问权限管理 0.2 Glance RE ...

随机推荐

  1. apt-get使用命令

    apt-get的卸载命令:remove/purge/autoremove/clean/autoclean apt-get purge / apt-get –purge remove 删除已安装包(不保 ...

  2. webservice 项目中遇到的问题

    redshift database 连接异常 解决方案 url 修改添加参数如下 jdbc:redshift://hostname:5439/dbname?ssl=true&sslfactor ...

  3. SpringBoot系列: logging

    我们的 SpringBoot 程序都会加 spring-boot-starter 包, 而该包一个依赖项 spring-boot-starter-logging, 所以SpringBoot 程序不需要 ...

  4. ****** 三十四 ******、软设笔记【存储器系统】-Cache存储器

    Cache存储器 Cache(高速缓冲存储器) 高速缓冲存储器是位于主存与CPU之间的一级存储器,有静态存储芯片(SRAM)组成,容量比较小,速度比主存高得多,接近于CPU的速度,单位成本比内存高.C ...

  5. mysql数据库允许远程连接

    1.验证初始是否允许远程连接 由于本次虚拟机IP为192.168.2.120,因此我们执行 mysql -h 192.168.20.120 -P 3306 -u root -proot(备注:-pro ...

  6. HTML字体自动换行第二行缩进一格

    p {text-indent: -2em; margin-left: 2em;}设置text-indent: -2em;以后p标签中第一行文字向左偏移,这样第二行开始的文字就等于缩进了,但是这样设置会 ...

  7. char,wchar_t 长度

    (测试环境:VC++6.0) char类型 wchar_t类型 类型大小(32位系统) 8位 16位 常量字符表示法 'A' L'A' 或 'A' 常量字符串表示法 'hello' L'hello' ...

  8. python之字符串常用的方法

    1. 去掉空格或换行符 s='. hello .world .\n' new_s = s.strip()#默认去掉字符串前后的空格和换行符 new_s = s.strip('.')#可传参去掉字符串前 ...

  9. HashSet去除List重复元素

    使用Hashset 去重复 例一,List<String> 去重复 public class main { public static void main(String[] args) { ...

  10. 操作dom影响性能的原因

    为什么dom操作会影响性能? 在浏览器当中,dom的实现和ECMAScript的实现是分离的. 例如,在IE中,ECMAScrit的实现在jscript.dll中,而DOM的实现在mshtml.dll ...