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

分区格式化挂载

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/202632.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git工作流和Commit规范

Git大家都非常熟悉了,就不做过多介绍,但是如何用好Git、如何进行合理的分支开发、Merge你是否有一个规范流程呢?💤 不论是一个团队一起开发一个项目,还是自己独立开发一个项目,都少不了要和Git打交道&…

AI赋能数据表设计

数据表设计软件用过多种,用Ai 设计表几年Ai大模型爆发之后提升了新的高度 用navicat 设计表就是在跟团队的人介绍这次功能的表结构时,没办法看备注,只能看英文字段,导致在比较复杂的表中,总是在表结构和图形结构中来回…

网络和Linux网络_4(应用层)序列化和反序列化(网络计算器)

目录 1. 重新理解协议 2. 网络版本计算器 2.1 前期封装 Log.hpp sock.hpp TcpServer.hpp 第一次测试(链接) 2.2 计算器实现 第二次测试(序列化和反序列化) 第三次测试(客户端字节流) CalServer.cc CalClient.cc 3. 守护进程 3.1 守护进程和前后台进程 3.1 变成…

zlmediakit实现rtsp流服务器

本次实现是将内存中的H264数据经过zlmediakit实现为rtsp流。 我是用的是CAPI的方式,将zlmediakit作为一个sdk嵌入到自己的程序中而不是作为一个独立的进进程服务。 1.编译完成zkmedialit后会得到bin include lib三个文件夹如图 其中bin中的MediaServer是作为独立的…

二蛋赠书八期:《Java物联网、人工智能和区块链编程实战》

前言 大家好!我是二蛋,一个热爱技术、乐于分享的工程师。在过去的几年里,我一直通过各种渠道与大家分享技术知识和经验。我深知,每一位技术人员都对自己的技能提升和职业发展有着热切的期待。因此,我非常感激大家一直…

常见树种(贵州省):015榧树、秋枫、滇合欢、锥栗、红豆树、刺槐、余甘子、黑荆、槐树、黄檀

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、榧树 …

cocos2dx ​​Animate3D(二)

Twirl 扭曲旋转特效 // 持续时间(时间过后不会回到原来的样子) // 整个屏幕被分成几行几列 // 扭曲中心位置 // 扭曲的数量 // 振幅 static Twirl* create(float duration, const Size& gridSize, const Vec2& position, unsigned int twirls, float amplitude)…

​LeetCode解法汇总2304. 网格中的最小路径代价

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个下…

Tars-GO 开发

默认环境是安装好的 创建服务: tarsgo make App Server Servant GoModuleName Tars 实例的名称,有三个层级,分别是 App(应用)、Server(服务)、Servant(服务者,有时也称 Object&am…

构造命题公式的真值表

构造命题公式的真值表 1:实验类型:验证性2:实验目的:3:逻辑联结词的定义方法4:命题公式的表示方法5:【实验内容】 1:实验类型:验证性 2:实验目的&#xff1a…

Python满天星

系列文章 序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://want595.blog.csdn.net/article/details/1295031234漂浮爱心https://want…

Linux 家目录和根目录

摘要: 在 Linux 操作系统中,家目录和根目录是两个非常重要的概念。它们是 Linux 文件系统中的两个关键节点,为用户和系统进程提供存储、管理和访问文件和目录的接口。本文旨在深入探讨和理解这两个目录的结构、功能和使用方式,同时…

C#,《小白学程序》第六课:队列(Queue)其二,队列的应用,编写《实时叫号系统》

医院里面常见的《叫号系统》怎么实现的&#xff1f; 1 文本格式 /// <summary> /// 下面定义一个新的队列&#xff0c;用于演示《实时叫号系统》 /// </summary> Queue<Classmate> q2 new Queue<Classmate>(); /// <summary> /// 《小白学程序…

<C++> 继承

目录 前言 一、继承概念 1. 继承概念 2. 继承定义格式 3. 继承关系和访问限定符 4. 继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、菱形继承及菱形虚拟继承 1. 菱形继承 2. 虚…

什么是高防IP?有什么优势?怎么选择高防IP?

在当今的互联网环境中&#xff0c;分布式拒绝服务&#xff08;DDoS&#xff09;攻击已经成为一种常见的安全威胁。这种攻击通过向目标服务器发送大量的无效流量&#xff0c;使其无法处理正常的请求&#xff0c;从而达到迫使服务中断的目的。作为一个用户&#xff0c;你是否曾遇…

【Web】PhpBypassTrick相关例题wp

目录 ①[NSSCTF 2022 Spring Recruit]babyphp ②[鹤城杯 2021]Middle magic ③[WUSTCTF 2020]朴实无华 ④[SWPUCTF 2022 新生赛]funny_php 明天中期考&#xff0c;先整理些小知识点冷静一下 ①[NSSCTF 2022 Spring Recruit]babyphp payload: a[]1&b1[]1&b2[]2&…

Go 语言中的 Switch 语句详解

switch语句 使用switch语句来选择要执行的多个代码块中的一个。 在Go中的switch语句类似于C、C、Java、JavaScript和PHP中的switch语句。不同之处在于它只执行匹配的case&#xff0c;因此不需要使用break语句。 单一case的switch语法 switch 表达式 { case x:// 代码块 cas…

【深度学习】如何选择神经网络的超参数

1. 神经网络的超参数分类 神经网路中的超参数主要包括: 1. 学习率 η 2. 正则化参数 λ 3. 神经网络的层数 L 4. 每一个隐层中神经元的个数 j 5. 学习的回合数Epoch 6. 小批量数据 minibatch 的大小 7. 输出神经元的编码方式 8. 代价函数的选择 9. 权重初始化的方法 …

2023.11.24 海豚调度,postgres库使用

目录 海豚调度架构dolphinscheduler DAG(Directed Acyclic Graph)&#xff0c; 个人自用启动服务 DS的架构(海豚调度) 海豚调度架构dolphinscheduler 注:需要先开启zookeeper服务,才能进行以下操作 通过UI进行工作流的配置操作, 配置完成后, 将其提交执行, 此时执行请求会被…

【数据分享】我国12.5米分辨率的DEM地形数据(免费获取/地理坐标系)

DEM地形数据是我们在各种研究和设计中经常使用的数据&#xff01;之前我们分享过500米分辨率的DEM地形数据、90米分辨率的DEM地形数据、30米分辨率的DEM地形数据&#xff08;均可查看之前的文章获悉详情&#xff09;。 本次我们为大家带来的是分辨率为12.5m的DEM地形数据&#…