当前位置: 首页 > news >正文

OpenStack手动分布式部署Glance【Queens版】

目录

Glance简介

1、登录数据库配置(在controller执行)

  1.1登录数据库

  1.2数据库里创建glance

  1.3授权对glance数据库的正确访问

  1.4退出数据库

  1.5创建glance用户密码为000000

  1.6增加admin角色

  1.7创建glance服务

  1.8创建镜像服务API端点

2、安装glance配置组件

  2.1安装glance包

  2.2备份配置文件并且修改(修改了4个地方)

  2.3同步数据库

  2.4(这一步可以不做)现在glance没有日志,我们需要配置下

3、测试


Glance简介

  • Image Service  镜像服务:
  • 代号:Glance:
  • 为云平台虚拟机提供镜像服务,例如:上传镜像、删除镜像等。
  • 说明:镜像:磁盘文件。装好了系统的磁盘文件。把镜像拷贝过来,就不需要装系统。

【glance镜像服务】

  • 它在open stack中的项目名称为Glance.在早期的open stack版本中,Glance只有管理镜像的功能,并不具备镜像存储功能。现在,Glance已经发展称为集上传,检索,管理和存储等多种功能的open stack核心服务。

【glance由两部分组成】

(1)glance-api: 接受云系统镜像的创建,删除,读取请求

(2)glance-Registry: 云系统的镜像注册服务

  • glance-api 是接受 rest api请求的。完成诸如镜像的查找,获取,上传,删除等操作,默认是监听9292端口
  • glance-registry 是用于Mysql的数据交互,用户存储或获取镜像的元数据(metadata);提供镜像元数据相关的REST接口,通过glance-Registry,可以向数据库中写入或获取镜像的各种数据。glance-Registry监听的端口是9191.Glance数据库中有两种表,一张是image表,主要存储了镜像格式,大小等信息;另一张是image property表,主要存了镜像定制化信息。
  • image-store是一个存储的接口层,通过这个接口,glance可以获取镜像,image store支持的存储有Amazon的S3,Openstack本身的swift,还有诸如ceph,sheepdog,GluasterFS等分布式存储,image store是镜像保存与获取的接口,它仅仅是一个接口层,具体的实现需要外部的存储支持。

【镜像服务的主要功能】

  • 1.查询和获取镜像的元数据和镜像本身
  • 2.注册和上传虚拟机镜像,包括镜像的创建、上传、下载和管理
  • 3.维护镜像信息,包括元数据和镜像本身
  • 4.支持多种方式存储镜像,包括普通的文件系统、swift、Amazon、S3等
  • 5.对虚拟机实例执行创建快照命令来创建新的镜像,或者备份虚拟机的状态

 

1、登录数据库配置(在controller执行)

  1.1登录数据库

[root@controller ~]# mysql -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.3.20-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> 

  1.2数据库里创建glance

MariaDB [(none)]> CREATE DATABASE glance;

  1.3授权对glance数据库的正确访问

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

  1.4退出数据库

MariaDB [(none)]> quit;

  1.5创建glance用户密码为000000

[root@controller ~]# openstack user create --domain default --password 000000 glance
Missing value auth-url required for auth plugin password

        如上我的这里会报错,时因为没有source环境变量导致。

        如下修改/etc/profile文件解决:

#[root@controller ~]# vi /etc/profileexport OS_USERNAME=admin
export OS_PASSWORD=000000
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3

##这里的密码设置为了glance 

[root@controller ~]# source /etc/profile
[root@controller ~]# openstack user create --domain default --password 000000 glance

  1.6增加admin角色

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

  1.7创建glance服务

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

  

  1.8创建镜像服务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

 

2、安装glance配置组件

  2.1安装glance包

yum install openstack-glance -y

  2.2备份配置文件并且修改(修改了4个地方)

cp /etc/glance/glance-api.conf{,.bak}
grep -Ev "^$|#" /etc/glance/glance-api.conf.bak > /etc/glance/glance-api.conf
vi /etc/glance/glance-api.conf

[database]
connection = mysql+pymysql://glance:000000@controller/glance[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/[keystone_authtoken]
www_authenticate_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 = 000000[paste_deploy]
flavor = keystone

  2.3同步数据库

su -s /bin/sh -c "glance-manage db_sync" glance
systemctl start openstack-glance-api.service
systemctl enable openstack-glance-api.service

  2.4(这一步可以不做)现在glance没有日志,我们需要配置下

#[root@controller ~]# vi /etc/glance/glance-api.conf[DEFAULT]
log_file = /var/log/glance/glance-api.log
[root@controller ~]# systemctl restart openstack-glance-api.service
[root@controller ~]# tail -f /var/log/glance/glance-api.log 
).  Its value may be silently ignored in the future.
2023-02-09 10:18:22.350 43599 INFO glance.common.wsgi [-] Starting 4 workers
2023-02-09 10:18:22.352 43599 INFO glance.common.wsgi [-] Started child 43611
2023-02-09 10:18:22.354 43611 INFO eventlet.wsgi.server [-] (43611) wsgi starting up on http://0.0.0.0:9292
2023-02-09 10:18:22.355 43599 INFO glance.common.wsgi [-] Started child 43612
2023-02-09 10:18:22.357 43612 INFO eventlet.wsgi.server [-] (43612) wsgi starting up on http://0.0.0.0:9292
2023-02-09 10:18:22.358 43599 INFO glance.common.wsgi [-] Started child 43613
2023-02-09 10:18:22.360 43613 INFO eventlet.wsgi.server [-] (43613) wsgi starting up on http://0.0.0.0:9292
2023-02-09 10:18:22.361 43599 INFO glance.common.wsgi [-] Started child 43614
2023-02-09 10:18:22.363 43614 INFO eventlet.wsgi.server [-] (43614) wsgi starting up on http://0.0.0.0:9292

3、测试

下载cirros-0.4.0-x86_64-disk.img这个镜像上传到/opt下面(镜像文件在我的资源csdn下载地方找到)

切换到/opt目录下

[root@controller opt]# ls
cirros-0.4.0-x86_64-disk.img
[root@controller opt]# glance image-create --name "cirros" \--file cirros-0.4.0-x86_64-disk.img \--disk-format qcow2 --container-format bare \--visibility=public
+------------------+----------------------------------------------------------------------------------+
| Property         | Value                                                                            |
+------------------+----------------------------------------------------------------------------------+
| checksum         | 443b7623e27ecf03dc9e01ee93f67afe                                                 |
| container_format | bare                                                                             |
| created_at       | 2023-02-09T15:25:52Z                                                             |
| disk_format      | qcow2                                                                            |
| id               | 79e21395-0d41-4c98-86f2-bfa813a48a2f                                             |
| min_disk         | 0                                                                                |
| min_ram          | 0                                                                                |
| name             | cirros                                                                           |
| os_hash_algo     | sha512                                                                           |
| os_hash_value    | 6513f21e44aa3da349f248188a44bc304a3653a04122d8fb4535423c8e1d14cd6a153f735bb0982e |
|                  | 2161b5b5186106570c17a9e58b64dd39390617cd5a350f78                                 |
| os_hidden        | False                                                                            |
| owner            | 4c7bdbb75b9e481db886549f7d2711be                                                 |
| protected        | False                                                                            |
| size             | 12716032                                                                         |
| status           | active                                                                           |
| tags             | []                                                                               |
| updated_at       | 2023-02-09T15:25:53Z                                                             |
| virtual_size     | Not available                                                                    |
| visibility       | public                                                                           |
+------------------+----------------------------------------------------------------------------------+
[root@controller opt]# glance image-list
+--------------------------------------+--------+
| ID                                   | Name   |
+--------------------------------------+--------+
| 79e21395-0d41-4c98-86f2-bfa813a48a2f | cirros |
+--------------------------------------+--------+

以上说明部署glance成功


OpenStack简介 | 常见的基础组件

OpenStack手动分布式部署环境准备【Queens版】 

OpenStack手动分布式部署Keystone【Queens版】

相关文章:

OpenStack手动分布式部署Glance【Queens版】

目录 Glance简介 1、登录数据库配置(在controller执行) 1.1登录数据库 1.2数据库里创建glance 1.3授权对glance数据库的正确访问 1.4退出数据库 1.5创建glance用户密码为000000 1.6增加admin角色 1.7创建glance服务 1.8创建镜像服务API端点 2、安装gla…...

谈一谈你对View的认识和View的工作流程

都2023年了,不会还有人不知道什么是View吧,不会吧,不会吧。按我以往的面试经验来看,View被问到的概率不比Activity低多少哦,个人感觉View在Android中的重要性也和Activity不相上下,所以这篇文章将介绍下Vie…...

Redis集群的脑裂问题

集群脑裂导致数据丢失怎么办? 什么是脑裂? 先来理解集群的脑裂现象,这就好比一个人有两个大脑,那么到底受谁控制呢? 那么在 Redis 中,集群脑裂产生数据丢失的现象是怎样的呢? 在 Redis 主从架…...

互斥信号+任务临界创建+任务锁

普通信号量 1、信号量概念 2、创建信号量函数 3、互斥信号量 创建互斥信号量函数 等待信号量函数 释放互斥信号量 4、创建任务临界区 5、任务锁 任务上锁函数 ​编辑 任务结束函数 效果 普通信号量 1、信号量概念 信号量像是一种上锁机制,代码必须获…...

Elasticsearch7.8.0版本进阶——文档搜索

目录一、文档搜索的概述二、倒排索引不可变的优点三、倒排索引不可变的优点一、文档搜索的概述 早期的全文检索会为整个文档集合建立一个很大的倒排索引并将其写入到磁盘。 一旦新的索引就绪,旧的就会被其替换,这样最近的变化便可以被检索到。倒排索引被…...

spring security权限问题

org.springframework.boot spring-boot-starter-security 引入jar extends WebSecurityConfigurerAdapter 用来配置登陆和权限 configure(HttpSecurity http) 覆盖这个方法 //配置授权相关的 .authorizeRequests () //任何请求 .anyRequest() //要求授权后可以访问 .authen…...

mysql 8.0.22安装

mysql8.0.22安装1. 配置my.ini2. 添加环境变量3. 安装mysql3.1 mysql初始化3.2 安装mysql服务3.3 启动mysql服务4. 连接数据库修改连接数据库的密码前提:已经从官网下载mysql8.0.22安装包并解压(下载地址:https://dev.mysql.com/downloads/in…...

Mysql系列:Mysql5.7编译安装

系统环境:Centos7 1:下载mysql源码包 https://dev.mysql.com/downloads/mysql/5.7.html downloads 选择MySQL Community Server>source_code>Generic Linux (Architecture Independent), Compressed TAR Archive -> 选择需要的mysql版本&…...

设备树(配合LED驱动说明)

目录 一、起源 二、基本组成 三、基本语法 四、特殊节点 4.1 根节点 4.2 /memory 4.3 /chosen 4.4 /cpus 多核CPU支持 五、常用属性 5.1 phandle 5.2 地址 --------------- 重要 5.3 compatible --------------- 重要 5.4 中断 --------------- 重要 5.5 …...

(二十六)大白话如何从底层原理解决生产的Too many connections故障?

今天我们继续讲解昨天的那个案例背景,其实就是经典的Too many connections故障,他的核心就是linux的文件句柄限制,导致了MySQL的最大连接数被限制,那么今天来讲讲怎么解决这个问题。 其实核心就是一行命令: ulimit -H…...

ASEMI高压MOS管60R380参数,60R380特征,60R380应用

编辑-Z ASEMI高压MOS管60R380参数: 型号:60R380 漏极-源极电压(VDS):600V 栅源电压(VGS):20V 漏极电流(ID):11A 功耗(PD&#x…...

Python期末试卷

《Python程序设计基础》期末试题 班级 学号 姓名 一.选择题(须知:答案写到下方的表格中,其它一律无效.每题2分,共40分) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1.在Python交互…...

Linux | 网络通信 | http协议介绍 | cookie策略讲解

文章目录url统一资源定位符http协议介绍GET vs POSThttp状态码http常见headercookie session上篇博客定制了一个协议,该协议用来进行简单的计算,其包含了数据的序列化和反序列化,编码和解码的定制,并且该协议基于TCP通信&#xf…...

招投标系统简介 招投标系统源码 java招投标系统 招投标系统功能设计

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及…...

winapi获取和修改camera raw界面元素数据

camera raw 界面如下: 需求就是根据 windows api 来操作界面右边的色温、色调、曝光等属性,进而对图片进行调色。根据 spy 捕获的窗口信息,理论上是可以拿到并修改值的。 根据 class 可以先拿到窗口句柄: #define CAMERA_RAW_CLA…...

C++问答汇总_2023自用

C是一种通用编程语言,具有高级抽象、强类型和编译性能等特点。C语言具有许多特性,包括面向对象编程、模板、多态、运算符重载等等。它广泛应用于各种领域,如系统软件、嵌入式系统、游戏开发、科学计算等等。 1、C11相对于C98的新特性&#xf…...

IDA 实战--(2)熟悉工具

布局介绍 软件启动后会 有几个选项,一般直接选择Go 即可 之后的工作台布局如下 开始分析 分析的第一个,将PE 文件拖入工作区 刚开始接触,我们先保持默认选项,其它选项后面会详细讲解,点击OK 后,等待分析…...

Deep Unsupervised Learning using Nonequilibrium Thermodynamics论文翻译学习

Deep Unsupervised Learning using Nonequilibrium Thermodynamics Author: Jascha Sohl-Dickstein Link: http://proceedings.mlr.press/v37/sohl-dickstein15.pdf Score: ⭐️⭐️⭐️⭐️⭐️ Status: Done Type: Academic Journal 备注: 首篇扩散模型论文 A central prob…...

使用Autoware标定工具包联合标定相机和激光雷达

前面文章介绍了,安装autoware标定工具包、ros驱动usb相机、robosense-16线激光雷达的使用,本文记录使用Autoware标定工具包联合标定相机和激光雷达的过程。1.ros驱动相机,启动相机;启动激光雷达2.联合录制bag包rosbag record -a 参…...

了解线程安全

线程安全是多线程的重点和难点。 线程安全概念 线程安全:在多线程的各种随机调度顺序下,代码没有bug,都能够符合预期的方式来执行,此时认为线程安全 线程不安全:如果在多线程随机调度下代码出现bug,此时…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...