镜像服务(Glance)安装配置,这一篇就够了!

本文详细介绍如何安装和配置OpenStack的镜像服务Glance,包括数据库创建、服务配置及镜像上传验证等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验目标
OpenStack 的镜像服务 (glance) 允许用户发现、注册和恢复虚拟机镜像。它提供了一个 REST API,允许您查询虚拟机镜像的 metadata 并恢复一个实际的镜像。您可以存储虚拟机镜像通过不同位置的镜像服务使其可用,就像OpenStack 对象存储那样从简单的文件系统到对象存储系统。
OpenStack 镜像服务包括以下组件:
glance-api 接收镜像 API 的调用,诸如镜像发现、恢复、存储。
glance-registry 存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。
glance-registry 是私有内部服务,用于服务 OpenStack Image 服务。不要向用户暴露该服务数据库存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用 MySQL 或 SQLite

创建数据库、凭证和 endpoint

  • 实现要求
    创建 glance 数据库,创建 glance 服务的 API endpoint

  • 实现过程
    创建 glance 数据库,创建 glance 用户并授权

MariaDB > CREATE DATABASE glance;
MariaDB > GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '123456';
MariaDB > GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123456';
MariaDB > GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'controller' IDENTIFIED BY '123456';

在这里插入图片描述
授权以后重启数据库服务

# systemctl restart mariadb

找到认证服务安装过程中创建的 admin-openrc 文件,执行

# . admin-openrc

创建用户 glance,会提示输入密码,我这里是 123456

# openstack user create --domain default --password-prompt glance

在这里插入图片描述
添加 admin 角色到 glance 用户和 service 项目上,命令没有输出

# openstack role add --project service --user glance admin

创建 glance 服务实体

# openstack service create --name glance --description "OpenStack Image" image

在这里插入图片描述
创建镜像 endpoint

# 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

在这里插入图片描述

安装服务

  • 实现要求
    安装 glance 服务,并配置 glance
  • 实现过程
    安装服务
# yum install openstack-glance -y

进入/etc/glance/目录,备份 glance-api.conf 文件 glance-api.conf.bak

# cp glance-api.conf glance-api.conf.bak

修改 glance-api.conf,编辑文件 vi glance-api.conf

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

备份 glance-registry.conf 文件 glance-registry.conf.bak

# cp glance-registry.conf glance-registry.conf.bak

修改 glance-registry.conf,编辑文件 vi glance-registry.conf

[database]
connection = mysql+pymysql://glance:123456@controller/glance
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = 123456
[paste_deploy]
flavor = keystone

检查数据库 glance 中是否有表,如果无,则查看/var/log/glance/api.log

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

如果会报错,需要对日志文件赋权限:

cd /var/log/glance/api.log
chown -R glance:glance /var/log/glance/api.log 

进入数据库:mysql -uroot -p123456 (进入数据库之前要打开数据库,use tables)
在这里插入图片描述
启动镜像服务、配置开机启动

# systemctl start openstack-glance-api.service openstack-glance-registry.service
# systemctl enable openstack-glance-api.service openstack-glance-registry.service
# systemctl status openstack-glance-api.service openstack-glance-registry.service

==注意:==如果 openstack-glance-api.servicde 状态失败,请检查 9292 端口。

验证安装

  • 实现要求
    下载测试镜像,上传镜像,验证安装
  • 实现过程
    执行环境变量
# . admin-openrc

下载一个比较小的镜像测试

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

使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它

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

在这里插入图片描述
==注意:==如果命令报错,请 source admin-openrc。确认镜像的上传并验证属性,有输出证明 glance 配置正确

# openstack image list

在这里插入图片描述
参考资料:
《OpenStack 从零开始学》–卢万龙著,电子工业出版社第 2 篇安装配置篇,第 12章(P122)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃香菜的斌斌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值