openstack(2)
目录
块存储服务
安装并配置控制节点
安装并配置一个存储节点
验证操作
封装镜像
上传镜像
块存储服务
安装并配置控制节点
创建数据库
[root@controller ~]# mysql -u root -pshg12345
MariaDB [(none)]> CREATE DATABASE cinder;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \-> IDENTIFIED BY 'cinder';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \-> IDENTIFIED BY 'cinder';
获取admin凭证
创建服务证书
创建一个 cinder 用户 添加 admin 角色到 cinder 用户上
[root@controller ~]# openstack user create --domain default --password cinder cinder
[root@controller ~]# openstack role add --project service --user cinder admin

创建 cinder 和 cinderv2 服务实体
[root@controller ~]# openstack service create --name cinder \
> --description "OpenStack Block Storage" volume
[root@controller ~]# openstack service create --name cinderv2 \
> --description "OpenStack Block Storage" volumev2
创建块设备存储服务的 API 入口点
[root@controller ~]# openstack endpoint create --region RegionOne \
> volume public http://controller:8776/v1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne \
> volume internal http://controller:8776/v1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne \
> volume admin http://controller:8776/v1/%\(tenant_id\)s

[root@controller ~]# openstack endpoint create --region RegionOne \
> volumev2 public http://controller:8776/v2/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne \
> volumev2 internal http://controller:8776/v2/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne \
> volumev2 admin http://controller:8776/v2/%\(tenant_id\)s
安全并配置组件
[root@controller ~]# yum install openstack-cinder
[root@controller ~]# vim /etc/cinder/cinder.conf
配置数据库访问
[database]
connection = mysql+pymysql://cinder:cinder@controller/cinder

配置 “RabbitMQ” 消息队列访问
[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = openstack

配置认证服务访问
[DEFAULT]
auth_strategy = keystone
[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 = cinder
password = cinder


配置``my_ip`` 来使用控制节点的管理接口的IP 地址
[DEFAULT]
my_ip = 192.168.81.11

配置锁路径
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

初始化块设备服务的数据库
[root@controller ~]# su -s /bin/sh -c "cinder-manage db sync" cinder
配置计算节点以使用块设备存储
[root@controller ~]# vim /etc/nova/nova.conf
[cinder]
os_region_name = RegionOne

[root@controller ~]# systemctl restart openstack-nova-api.service
[root@controller ~]# systemctl enable --now openstack-cinder-api.service openstack-cinder-scheduler.service
安装并配置一个存储节点
新建虚机block1,拷贝仓库,无需更改网卡,软件包更新,新增硬盘sdb
创建LVM 物理卷 /dev/sdb 创建 LVM 卷组 cinder-volumes
[root@block1 ~]# yum install lvm2
[root@block1 ~]# systemctl enable --now lvm2-lvmetad.service
[root@block1 ~]# pvcreate /dev/sdb
[root@block1 ~]# vgcreate cinder-volumes /dev/sdb
安全并配置组件
[root@block1 ~]# yum install openstack-cinder targetcli python-keystone
[root@block1 ~]# vim /etc/cinder/cinder.conf
配置数据库访问
[root@block1 ~]# vim /etc/cinder/cinder.conf
[database]
connection = mysql+pymysql://cinder:cinder@controller/cinder
配置 “RabbitMQ” 消息队列访问
[DEFAULT]
rpc_backend = rabbit[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = openstack


配置认证服务访问
[DEFAULT]
auth_strategy = keystone[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 = cinder
password = cinder

配置 my_ip 选项
[DEFAULT]
my_ip = 192.168.81.13

配置LVM后端以LVM驱动结束,卷组``cinder-volumes`` ,iSCSI 协议和正确的 iSCSI服务
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
启用 LVM 后端 配置镜像服务 API 的位置
[DEFAULT]
enabled_backends = lvm
glance_api_servers = http://controller:9292
配置锁路径
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

[root@block1 ~]# systemctl enable --now openstack-cinder-volume.service target.service
验证操作
[root@controller ~]# cinder service-list

dashboard查看
创建云硬盘
管理连接,连接vm2


封装镜像
新建虚机server,下载图形化
安装镜像
[root@server ~]# virt-manager


[root@server ~]# ssh 192.168.122.251
先配置仓库,server通过apache作为仓库源

安装ACPI服务
[root@localhost ~]# yum install acpid
[root@localhost ~]# systemctl enable acpid
使用 cloud-init 工具获取公钥
[root@localhost ~]# yum install cloud-init
安装 cloud-utils-growpart 工具以允许对分区进行调整大小的操作
[root@localhost ~]# yum install cloud-utils-growpart
禁用 Zeroconf 路由
[root@localhost ~]# echo "NOZEROCONF=yes" > /etc/sysconfig/network
配置控制台终端
[root@localhost ~]# vi /boot/grub2/grub.cfg
linux16 /boot/vmlinuz-3.10.0-1160.71.1.el7.x86_64 root=UUID=2fca25ac-4fce-41ba-b934-5267529266fb ro console=tty0 console=ttyS0,115200n8

关闭防火墙,selinux,修改网卡配置
[root@localhost ~]# vi /etc/selinux/config
[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# poweroff
安装管理虚拟化镜像的工具
[root@server ~]# yum install -y libguestfs-tools-c-1.38.2-12.el7.x86_64
清理(或删除)MAC地址相关的详细信息
[root@server images]# cd /var/lib/libvirt/images/
[root@server images]# virt-sysprep -d rhel7.6

缩为名为QCOW2镜像
[root@server images]# virt-sparsify --compress rhel7.6.qcow2 base.qcow2

上传镜像
通过apache上传镜像
admin用户
新建镜像


创建云主机类型


demo用户
创建云主机vm3

[rootacontroller -]# openstack console url show vm3


创建云硬盘

[root@vm3 ~]# su -
[root@vm3 ~]# fdisk -l

分区格式化挂载

扩展云硬盘,需先分离硬盘




相关文章:
openstack(2)
目录 块存储服务 安装并配置控制节点 安装并配置一个存储节点 验证操作 封装镜像 上传镜像 块存储服务 安装并配置控制节点 创建数据库 [rootcontroller ~]# mysql -u root -pshg12345 MariaDB [(none)]> CREATE DATABASE cinder; MariaDB [(none)]> GRANT ALL PR…...
Jmeter 压测保姆级入门教程
1、Jmeter本地安装 1.1、下载安装 软件下载地址: https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/ 选择一个压缩包下载即可 然后解压缩后进入bin目录直接执行命令jmeter即可启动 1.2 修改语言 默认是英文的,修改中文,点击…...
springboot2.1升级到2.7 actuator丢失部分metrics端点
项目场景: 项目需要升级springboot从2.1升级至2.7 问题描述 发现之前的metrics后面的jvm相关的端口丢了 原因分析: 找到这样一篇博文https://blog.csdn.net/CL_YD/article/details/120309094,这篇博文意思是对的,但是写的不太好…...
梦开始的地方——Adobe Premiere Pro
今天,我们来说说一款老生常谈的相信也是很多人都经常迫切需要的软件。Adobe Premiere Pro,简称Pr,是由Adobe公司开发的一款视频编辑软件。 Premiere Pro是视频编辑爱好者和专业人士必不可少的视频编辑工具。它可以提升您的创作能力和创作自由…...
Nginx同时支持Http和Https的配置详解
当配置Nginx同时支持HTTP和HTTPS时,需要进行以下步骤: 安装和配置SSL证书: 获得SSL证书:从可信任的证书颁发机构(CA)或使用自签名证书创建SSL证书。 将证书和私钥保存到服务器:将SSL证书和私钥…...
3.2 Windows驱动开发:内核CR3切换读写内存
CR3是一种控制寄存器,它是CPU中的一个专用寄存器,用于存储当前进程的页目录表的物理地址。在x86体系结构中,虚拟地址的翻译过程需要借助页表来完成。页表是由页目录表和页表组成的,页目录表存储了页表的物理地址,而页表…...
基于springBoot+Vue的停车管理系统
开发环境 IDEA JDK1.8 MySQL8.0Node 系统简介 本项目为前后端分离项目,前端使用vue,后端使用SpringBoot开发,主要的功能有用户管理,停车场管理,充值收费,用户可以注册登录系统,自主充值和预…...
ES开启安全认证
elasticsearch开启安全认证步骤 1.创建证书 进入到es主目录下执行 ./bin/elasticsearch-certutil ca Elasticsearch开启安全认证详细步骤 第一个证书名称默认,直接回车 第二个输入密码,直接回车 完成后会生成一个文件:elastic-stack-ca.p12…...
CS5511规格书|CS5511方案应用说明|DP转双路LVDS/eDP芯片方案
概述:CS5511是一个将DP/eDP输入转换为LVDS信号的桥接芯片,此外,CS5511可以用作在DP/eDP输入到DP/eDP输出场景中桥接芯片。CS5511的高级接收器支持VEDA DisplayPort(DP)1.3和嵌入式DisplayPort(eDP…...
JAVA小游戏“飞翔的小鸟”
第一步是创建项目 项目名自拟 第二步创建个包名 来规范class 再创建一个包 来存储照片 如下: package game; import java.awt.*; import javax.swing.*; import javax.imageio.ImageIO;public class Bird {Image image;int x,y;int width,height;int size;doubl…...
1410. HTML 实体解析器 --力扣 --JAVA
题目 「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。 HTML 里这些特殊字符和它们对应的字符实体包括: 双引号:字符实体为 " ,对应的字符是 &qu…...
【开源】基于Vue.js的海南旅游景点推荐系统的设计和实现
项目编号: S 023 ,文末获取源码。 \color{red}{项目编号:S023,文末获取源码。} 项目编号:S023,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四…...
机器学习【01】相关环境的安装
学习实例 参考资料:联邦学习实战{杨强}https://book.douban.com/subject/35436587/ 项目地址:https://github.com/FederatedAI/Practicing-Federated-Learning/tree/main/chapter03_Python_image_classification 一、环境准备 GPU安装CUDA、cuDNN pytho…...
微服务实战系列之签名Sign
前言 昨日恰逢“小雪”节气,今日寒风如约而至。清晨的马路上,除了洋洋洒洒的落叶,就是熙熙攘攘的上班族。眼看着,暖冬愈明显了,叶子来不及泛黄就告别了树。变化总是在不经意中发生,容不得半刻糊涂。 上集博…...
家用小型洗衣机哪款性价比高?口碑最好迷你洗衣机排行榜
由于我们的内衣、内裤和袜子等等贴身小件衣物的清洁频率比一般的衣物要高。而且,如果我们人工手洗的话,不仅会大大浪费了我们的时间,而且还不能进行对这些贴身的以为进行深层消毒和除菌。这种情况下,就得需要一台专门用于清洗内衣…...
企业远程访问业务系统:对比MPLS专线,贝锐蒲公英为何更优优势?
如今,企业大多都会采用OA、ERP、CRM等各种数字化业务系统。 私有云、公有云混合架构也变得越来越常见。 比如:研发系统部署在公司本地私有云、确保数据安全,OA采用公有云方案、满足随时随地访问需求。 如此一来,也产生了远程访问…...
Maven项目下详细的SSM整合流程
文章目录 🎉SSM整合流程一、两个容器整合✨ 1、先准备好数据库config.properties连接、mybatis-config.xml🎊 2、容器一:优先配置spring.xml文件🎊 3、容器二:配置springMVC.xml文件🎊 4、Tomcat整合spring…...
Linux 设置文件开启数量限制
1、限制某个用户的 vim /etc/security/limits.confroot soft nofile 65535 root hard nofile 65535 *soft nofile 65535 *hard nofile 65535第一行指root用户的每个进程可开启最大的文件数(软限制,只警告)第二行指root用户的每个进程可开启最…...
详解Java中的异常体系机构(throw,throws,try catch,finally)
目录 一.异常的概念 二.异常的体系结构 三.异常的处理 异常处理思路 LBYL:Look Before You Leap EAFP: Its Easier to Ask Forgiveness than Permission 异常抛出throw 异常的捕获 提醒声明throws try-catch捕获处理 finally的作用 四.自定义异常类 一.异…...
【jvm】虚拟机之堆
目录 一、堆的核心概述二、堆的内存细分(按分代收集理论设计)2.1 java7及以前2.2 java8及以后 三、堆内存大小3.1 说明3.2 参数设置3.3 默认大小3.4 手动设置3.5 jps3.6 jstat3.7 OutOfMemory举例 四、年轻代与老年代4.1 说明 五、对象分配过程5.1 说明5…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
PH热榜 | 2025-06-08
1. Thiings 标语:一套超过1900个免费AI生成的3D图标集合 介绍:Thiings是一个不断扩展的免费AI生成3D图标库,目前已有超过1900个图标。你可以按照主题浏览,生成自己的图标,或者下载整个图标集。所有图标都可以在个人或…...
rm视觉学习1-自瞄部分
首先先感谢中南大学的开源,提供了很全面的思路,减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接:https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架: 代码框架结构:readme有…...
RabbitMQ 各类交换机
为什么要用交换机? 交换机用来路由消息。如果直发队列,这个消息就被处理消失了,那别的队列也需要这个消息怎么办?那就要用到交换机 交换机类型 1,fanout:广播 特点 广播所有消息:将消息…...
第22节 Node.js JXcore 打包
Node.js是一个开放源代码、跨平台的、用于服务器端和网络应用的运行环境。 JXcore是一个支持多线程的 Node.js 发行版本,基本不需要对你现有的代码做任何改动就可以直接线程安全地以多线程运行。 本文主要介绍JXcore的打包功能。 JXcore 安装 下载JXcore安装包&a…...
