云计算OpenStack学习笔记五:镜像组件(Glance)部署

1.glance组件详解

做用:主要用于帮助用户发现、注册及搜索VM实例映像文件(经过REST API的形式)mysql

三大组件功能sql

磁盘映像文件的存储目录:/var/lib/glance/images

2.组件部署

  • 数据库配置

建立glance数据库数据库

CREATE DATABASE glance;vim

数据库赋权api

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';

复制代码
  • 安装软件

yum install -y openstack-glancebash

  • 配置文件修改

备份两个配置文件/etc/glance/glance-api.conf和/etc/glance/glance-registry.confdom

编辑glance-api配置文件memcached

#vim /etc/glance/glance-api.conf
[database]
# ...
connection = mysql+pymysql://glance:glance@controller/glance
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = glance

[paste_deploy]
# ...
flavor = keystone
[glance_store]
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
复制代码

编辑glance-registry配置文件测试

# vim /etc/glance/glance-registry.conf
[database]
# ...
connection = mysql+pymysql://glance:glance@controller/glance
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = glance

[paste_deploy]
# ...
flavor = keystone
复制代码

更新glance数据库的配置信息ui

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

  • 权限配置
#加载admin的环境变量脚本文件
source admin-openstack.sh
#建立glance用户
openstack user create --domain default --password glance glance
#检查效果
oepnstack user list
#将glance用户添加到service项目的admin角色组
openstack role add --project service --user glance admin
#建立image的server
openstack service create --name glance --description "OpenStack Image" image
#检查效果
openstack service list
#初始化glance服务的api信息
openstack endpoint create --region RegionOne image public http://controller:9292
openstack endpoint create --region RegionOne image internal http://controller:9292
openstack endpoint create --region RegionOne image admin http://controller:9292
#检查效果
openstack endpoint list

复制代码

3.部署效果

  • 服务开机自启

重启glance相关服务,设置开机自启

# systemctl enable openstack-glance-api.service openstack-glance-registry.service
# systemctl start openstack-glance-api.service openstack-glance-registry.service
复制代码

glance-api端口是9292,glance-registry端口是9191

  • 组件验证效果

下载测试镜像文件

wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img

这里上传时遇到问题,经过浏览日志文件发现是35357端口的问题,然而Queen版本的OpenStack中admin用户并未使用该端口,所以是KeyStone组件配置出错致使的问题。经过将endpoint中与KeyStone相关的服务删除后从新开启,解决了问题。

上传镜像文件到glance

openstack image create "cirros" --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public

安装qemu-kvm对镜像文件类型进行检查:qemu-img info cirros-0.3.5-x86_64-disk.img

检查效果

openstack image list

  • 报错信息查看

日志文件检查

cd /var/log/glance
grep 'ERROR' api.log  #关于用户操做的日志信息
grep 'ERROR' registry.log  #关于数据库操做的日志信息
复制代码
相关文章
相关标签/搜索