openstack (五) Glance 部署
1.glance组件详解
作用:主要用于帮助用户发现、注册及搜索VM实例映像文件(通过REST API的形式)
三大组件功能
磁盘映像文件的存储目录:/var/lib/glance/images2.组件部署
- 数据库配置
创建glance数据库
CREATE DATABASE glance;
数据库赋权
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-glance
- 配置文件修改
备份两个配置文件/etc/glance/glance-api.conf和/etc/glance/glance-registry.conf
编辑glance-api配置文件
#vim /etc/glance/glance-api.conf [database] # ... connection = mysql+pymysql://glance:/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 [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数据库的配置信息
# 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 #关于数据库操作的日志信息