项目八 OpenStack存储管理

news2024/12/27 5:49:47

任务一 理解OpenStack块存储服务

1.1 •Cinder的主要功能

提供 持久性块存储资源,供 Nova 计算服务的虚拟机实例使用
管理块存储设备提供一套方法,对卷实现从创建到删除的整个生命周期 管理。
不同的后端存储进行封装,对外提供统一的 API

1.2 •CinderNova的交互

Nova 虚拟机连接或分离 Cinder

虚拟机生命周期中的卷操作

1.3 •Cinder架构

1.4 •Cinder创建卷的基本流程

1)客户端向cinder-api服务发送请求,要求创建一个卷。

2cinder-api服务让cinder-scheduler服务创建一个卷。

3cinder-scheduler服务从若干存储节点中选出一个节点。

4cinder-scheduler服务让该存储节点创建这个卷。

5)对应存储节点的cinder-volume服务通过驱动在卷提供者定义的后端存储设备上创建卷。

1.5 •验证Cinder服务

查看 当前运行的 Cinder 服务。

[root@node-a ~]# systemctl status *cinder*.service

4 Cinder 服务
Ø openstack -cinder- scheduler.service —— 调度服务
Ø openstack -cinder- volume.service —— 卷服务
Ø openstack -cinder- backup.service —— 备份服务
Ø openstack -cinder- api.service ——API 前端 服务
试用 Cinder API
Cinder 提供 API 版本
Ø Cinder API v2
Ø Cinder API v3
查看 当前的 Cinder API 版本信息。

[root@node-a ~]# curl http://192.168.199.31:8776

查看卷列表为 例示范。

1)请求一个demo项目作用域的令牌。

2)导出环境变量OS_TOKEN,并将其值设置为上述操作获取的令牌ID

3Cinder API需要提供项目ID,提供对应项目ID来获取卷列表。

[root@node-a ~]# curl -s -H "X-Auth-Token: $OS_TOKEN"   http://192.168.199.31:8776/v3/2a39abedd0 96 44bb9248 7a78ee442e3f/volumes

任务二 创建和管理卷

2.1 •cinder-api服务

Ø cinder- api 作为 整个 Cinder 服务的门户,所有对 Cinder 的请求都首先由它处理
Ø cinder- api OpenStack 客户端暴露若干 REST API 接口
Ø cinder- api 目前在用的有 v2 v3 两个 版本。
Ø 客户可以将请求发送到端点指定的地址,向 cinder- api 请求卷的操作
Ø cinder- api 提供 REST 标准调用服务,便于与第三方系统集成

2.2 •cinder-scheduler服务

cinder-scheduler 服务通过 调度算法选择最合适的存储 节点。
首先 通过过滤器选择满足条件的存储 节点, 然后通过权重 计算选择 优的 存储节点
可以 Cinder 主配置文件 / etc /cinder/ cinder.conf 中对 cinder-scheduler 进行配置。
过滤器
Ø AvailabilityZoneFilter (可用区域过滤器
Ø CapacityFilter (容量过滤器
Ø CapabilitiesFilter (能力过滤器
权重计算
Ø CapacityWeigher 基于存储节点的空闲容量计算权重 值。

2.3 •cinder-volume服务

cinder-volume 在存储节点上运行 负责 卷的生命周期的 管理。
存储设备 是由卷 驱动管理 的。 cinder-volume 与卷驱动一起实现卷的生命周期管理
驱动 架构

2.4 •cinder-volume服务

存储 后端

enabled_backends=lvmdriver-1,lvmdriver-2,lvmdriver-3

[lvmdriver-1]

volume_group=cinder-volumes-1

volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver

volume_backend_name=LVM_iSCSI

[lvmdriver-2]

volume_group=cinder-volumes-2

volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver

volume_backend_name=LVM_iSCSI

[lvmdriver-3]

volume_group=cinder-volumes-3

volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver

volume_backend_name=LVM_iSCSI_b

2.5•cinder-volume服务

类型( Volume Type
Ø Cinder 的卷类型的作用与 Nova 的实例 类型的 作用类似
Ø 存储 后端的名称需要通过卷类型的扩展规格来定义
Ø 使用卷类型之前必须定义
示例
Ø 定义 一个名为“ lvm 的卷类型。

openstack --os-username admin --os-tenant-name admin volume type create lvm

Ø 创建 一个扩展规格,将卷类型连接到后端名称。

openstack --os-username admin --os-tenant-name admin volume type set lvm --property volume_backend_name=LVM_iSCSI

                       •卷连接到虚拟机实例

                         

cinder-volume 服务定期报告存储节点 状态
Ø cinder-volume 服务定期向 Cinder 服务报告当前存储节点的资源使用情况
Ø cinder-scheduler 服务会用 CapacityFilter 过滤器和 CapacityWeigher 权重计算器基于剩余容量来过滤存储节点。

2.6•cinder-backup服务

cinder-backup 服务为卷提供备份和 恢复功能。
cinder-backup 服务 支持将块存储卷备份到 OpenStack 对象 存储。
cinder-backup 使用备份 驱动架构 来支持不同种类的备份存储系统
/ etc /cinder/ cinder.conf 配置文件的 backup_driver 选项指定 所要使用的备份 驱动。

backup_driver = cinder.backup.drivers.swift

2.7•Cinder服务的部署

cinder- api cinder-scheduler 服务部署在控制节点 上。
cinder-volume 服务部署在存储节点上
相关 RabbitMQ 消息队列和 SQL 数据库通常部署在控制节点上
卷提供 者独立部署。
存储设备驱动与 cinder-volume 服务部署到一起。

2.8 •卷操作的命令行基本用法

1)查看

Ø 列出 卷的信息。

openstack volume list

Ø 查看某卷的详细 信息。

openstack volume show ID

2)创建

openstack volume create

    [--size <大小>]

    [--type <卷类型>]

    [--image <镜像> | --snapshot <快照> | --source <> ]

    [--description <说明信息>]

    [--user <用户>]

    [--project <项目>]

    [--availability-zone <可用区域>]

    [--consistency-group <consistency-group>]

    [--property <=> [...] ]

    [--hint <=> [...] ]

    [--multi-attach]

    [--bootable | --non-bootable]

    [--read-only | --read-write]

    <卷名称>

3)修改卷设置

openstack volume set  [选项列表] <卷名称或ID>

(4)删除

openstack volume delete  [--force | --purge] <> [<> ...]

(5)将卷连接到实例

openstack server add volume  [--device <设备>]  [--tag <标记>]  <实例>  <>

(6)将卷从实例上分离

openstack server remove volume  <实例>  <>

2.9•查看卷服务分布和运行情况

查看 卷服务 的分布和 运行情况。

[root@node-a ~]# source keystonerc_admin

[root@node-a ~(keystone_admin)]# openstack volume service list

+--------------+------------+-----+-------+-----+------------------------+

| Binary            | Host           | Zone | Status   | State  |  Updated At                 |

+--------------+------------+-----+-------+-----+------------------------+

| cinder-scheduler  | node-a        | nova | enabled  | up    | 2020-10-28T08:49:04.000000 |

| cinder-backup    | node-a         | nova | enabled  | up    | 2020-10-28T08:49:02.000000 |

| cinder-volume    | node-a@lvm   | nova  | enabled | up    | 2020-10-28T08:49:06.000000 |

查看存储后端配置
查看存储 后端配置的选项 设置

[DEFAULT]

enabled_backends = lvm

#在配置组[lvm]中设置具体选项

[lvm]

volume_backend_name=lvm                                 #卷后端名称

volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver   #卷驱动为本地LVM

iscsi_ip_address=192.168.199.31                            #iSCSI目标IP地址

iscsi_helper=lioadm                                          # iSCSI管理工具

volumes_dir=/var/lib/cinder/volumes                           #卷目录

设置可启动卷
既可以用作数据磁盘,也可以用作启动盘
用作 启动盘的就是可启动 卷。
可以 设置该卷是否可启动。
在创建虚拟机实例时,如果源选择卷、卷快照或镜像,并选择创建新卷,则创建实例的同时创建的卷为可启动卷,该卷连接到实例并作为其启动盘 /dev/ vda

任务三  了解Swift对象存储服务

3.1Swift对象存储系统

Swift 可以长期存储海量静态数据,并提供检索和更新这些数据的服务。
与文件系统不同,对象存储系统所存储的逻辑单元是对象,而不是传统的文件
对象 包括内容和元数据两个部分 。每个 对象都是一个 RESTful 资源,拥有唯一的 URL

3.2 •Swift的应用场景

作为 网盘类产品的存储引擎
OpenStack Swift 可以 与镜像服务 Glance 结合,为其存储镜像文件
Swift 非常 适合用于存储日志文件和数据备份仓库。
Swift 可以 使用廉价的硬盘和服务器来代替昂贵的存储设备。

3.3 •对象的层次数据模型

3.4 •对象层级结构与对象存储API的交互

资源路径格式

/v1/{account}/{container}/{object}

示例:账户 1234567890 的容器 images 中的对象 flowers/rose.jpg 对应的资源 路径

/v1/1234567890/images/flowers/rose.jpg

可以 使用 marker limit end_marker 查询参数来控制要返回的条目数,以及列表起始位置。

/v1/{account}/{container}/?marker=a&end_marker=d

如果需要逆序,可使用查询参数 reverse

/v1/{account}/{container}/?marker=d&end_marker=a&reverse=on

3.5•对象存储的组件

Swift 对象存储的主要 组成部分

3.6 •对象存储的组件

3.8 •Swift架构

验证 Swift 服务
查看 当前运行的 Swift 服务。

[root@node-a ~]# systemctl status *swift*.service

1openstack-swift-proxy.service:代理服务器。

2openstack-swift-object-expirer.service:对象过期处理器(定时删除对象)。

3openstack-swift-container-replicator.service:对象复制器。

4openstack-swift-account-replicator.servic:账户复制器。

5openstack-swift-account.service:账户服务器。

6openstack-swift-container-updater.service:容器更新器。

7openstack-swift-object-reconstructor.service:对象重构器。

8openstack-swift-object.service:对象服务器。

9openstack-swift-account-reaper.service:账户收割器(处理账户删除操作)。

10openstack-swift-container.service:容器服务器。

11openstack-swift-object-replicator.service:对象复制器。

12openstack-swift-container-sync.service:容器同步器。

13openstack-swift-container-auditor.service:容器审计器。

14openstack-swift-object-auditor.service:对象审计器。

15openstack-swift-object-updater.service:对象更新器。

16openstack-swift-account-auditor.service:账户审计器。

查看 Swift 环文件

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ScheduledExecutorService引起的线上问题(抛出异常后不继续执行)

线上有一个服务&#xff0c;采用ScheduledExecutorService定时任务刷新数据库数据到本地缓存作为路由信息 private ScheduledExecutorService scheduledExecutorService Executors.newScheduledThreadPool(1);scheduledExecutorService.scheduleWithFixedDelay(new Runnable()…

electron下载失败(electron如何切换镜像源)

打开&#xff1a; 或者&#xff1a; C:\Users\用户名\.npmrc 添加&#xff1a; electron_mirrorhttps://npmmirror.com/mirrors/electron/ 到文件中&#xff0c;保存 方法二&#xff1a; npm config set ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/ ELECTR…

MavenPlus插件的基础功能完善

本次更新主要是在初版的searchEverywhere的基础上增加了pom.xml文件编辑器&#xff0c;目前的界面布局如下&#xff0c;进行适当说明&#xff1a; 打开pom文件后&#xff0c;你会得到如上图所示的布局页面&#xff0c;数据会同步显示 如果有冲突信息&#xff0c;则会以红色显示…

如何解决资源管理器被结束任务后的问题,怎么重启或新建资源管理器任务?

服务器上运行的东西太多&#xff0c;修改个文件夹的名字导致卡死。结束任务后导致系统页面空白。&#xff08;关闭了windows资源管理器&#xff09; 按CtrlShiftDelete没有反应。 按CtrlShiftEsc没有反应。 按CtrlShiftEnd没有反应。 按CtrlALTEnd有反应。 (win2012) 输入…

华为数通——单臂路由

单臂路由&#xff1a;指在三层设备路由器的一个接口上通过配置子接口&#xff08;或“逻辑接口”&#xff0c;并不存在真正物理接口&#xff09;的方式&#xff0c;实现原来相互隔离的不同VLAN&#xff08;虚拟局域网&#xff09;之间的互联互通。但是仅仅允许单播通信。 单臂路…

爬取CSDN博文到本地(包含图片,标签等信息)

文章目录 csdnToMD改进将CSDN文章转化为Markdown文档那有什么办法快速得到md文档&#xff1f;例如&#xff1a;获取单个文章markdown获取所有的文章markdown 项目中待解决的问题 csdnToMD 项目原作者&#xff1a;https://gitee.com/liushili888/csdn-is—mark-down 改进后仓库…

全球AI新闻速递6.20

1.国家药监局综合司&#xff1a;关于印发药品监管人工智能典型应用场景清单的通知。 2.Canalys&#xff1a;预计今年全球 AI 手机市场份额达 16%。 3.Adobe Acrobat 升级 AI 技能&#xff1a;文生图、梳理信息等。 4.中国科大人形机器人研究院揭牌。 5.华为官方预告&#x…

如何下载DVS Gesture数据集?解决tonic.datasets.DVSGesture错误HTTP Error 403: Forbidden

1 问题 DVSGesture数据集是一个专注于动态视觉传感&#xff08;Dynamic Vision Sensor, DVS&#xff09;技术的数据集&#xff0c;它包含了基于事件的图像记录&#xff0c;用于手势识别任务。DVSGesture数据集由一系列动态图像组成&#xff0c;这些图像是通过动态视觉传感器捕…

静态网页处理复杂请求

目录 1.定制请求头 (1)&#xff0e;查看请求头 (2)&#xff0e;设置请求头 2.验证 Cookie 3.保持会话 4. SSL 证书验证 在互联网中&#xff0c;网页中的内容是千变万化的&#xff0c;如果只根据请求 URL 发送基本请求&#xff0c;则可能 无法获取网站的响应数据&#xff0…

[创业之路-118] :制造业企业的必备管理神器-ERP-制造业的基本方程式与ERP的发展历程,哪些企业需要ERP?

目录 一、制造业的基本方程式 1.1 基本方程式 1.2 制造的数学模型 二、ERP的发展历程 2.1 发展历程 2.2 比较 三、过往产品回顾 3.1 定货点法 3.2 时段式ERP 3.3 闭环式MRP 3.4 ERP 四、哪些企业需要ERP 4.1 概述 4.2 软件企业需要ERP吗&#xff1f; 一、制造业的…

扫码点餐小程序搭建 商家智能化服务的新趋势

在这个数字化飞速发展的时代&#xff0c;独具个性的扫码点餐小程序也成为了人们对于店铺整体形象的加分项&#xff0c;店铺界面设计新颖、点餐操作简捷、让人心情愉悦的取餐时间差都成为了大家公认的打卡理由之一。因此&#xff0c;高颜值的实用点餐小程序也成为了商家们的店铺…

Hadoop安装和测试

一&#xff0c;下载 地址&#xff1a;Index of /dist/hadoop/common 选择3.3.6版本&#xff08;最新版本之前的一个版本&#xff0c;一般比较稳定&#xff09; 二&#xff0c;解压 解压到/data/module目录&#xff0c;这里随便自定义就好。 tar -zxvf hadoop-3.3.6.tar.gz …

超级好用的JSON格式化可视化在线工具

JSON是开发非常常用的一种报文格式,最常见的需求就是将JSON进行格式化,最好是有图形化界面显示结构关系,以便进行数据分析。 理想的在线JSON工具,应该支持快速格式化、可压缩、快捷复制、可下载导出,对存在语法错误的地方能明确显示。提供搜索定位功能,可视区足够大,最好…

CPU核心是如何影响VPS性能的?

为什么VPS对于各种类型和规模的网站和应用程序来说都是非常出色的解决方案&#xff1f; 首先&#xff0c;它比其他类型的托管具有许多优势&#xff0c;但也许它最大的优势是它可以以合适的价格为您提供合适的性能。 然而&#xff0c;只有当您满足所需的规格时它才会这样做。 …

Linux环境编程基础学习2

For循环累加求和&#xff0c;两种方式&#xff0c;c方式的运算更快 打开文件操作 cat操作的实现 EOF: 1.diff A B比较两个文件是否一样&#xff0c;一样则什么结果都没有 Od -c 文件名可以显示出文件中的不可见字符

贴图法美化Button按钮

贴图法美化Button按钮 项目是在下面这篇文章里的基础上进行美化的&#xff1a;MFC实现INI配置文件的读取 1. 初始效果 2.最终效果 3. 增加 CImgButton 类 1.1 ImgButton.h 头文件 #pragma once // CImgButtonclass CImgButton : public CBitmapButton {DECLARE_DYNAMIC(CImgBu…

IT人周末兼职跑外面三个月心得分享

IT人周末兼职跑外面三个月心得分享 这四个月来&#xff0c;利用周末的时间兼职跑外面&#xff0c;总共完成了564单&#xff0c;跑了1252公里&#xff0c;等级也到了荣耀1&#xff0c;周末不跑就会减分。虽然收入只有3507.4元。 - 每一次的接单&#xff0c;每一段路程&#xff…

定时器-前端使用定时器3s轮询状态接口,2min为接口超时

背景 众所周知&#xff0c;后端是处理不了复杂的任务的&#xff0c;所以经过人家的技术讨论之后&#xff0c;把业务放在前端来实现。记录一下这次的离大谱需求吧。 如图所示&#xff0c;这个页面有5个列表&#xff0c;默认加载计划列表。但是由于后端的种种原因&#xff0c;这…

Vue3 + Element-plus + TS —— 动态表格自由编辑

前期回顾 《 穿越时空的代码、在回首&#xff1a;Evil.js两年后的全新解读 》-CSDN博客 Vue3 TS Element-Plus 封装Tree组件 《亲测可用》_ https://blog.csdn.net/m0_57904695/article/details/131664157?spm1001.2014.3001.5501 态表格 自由编辑 目录 ♻️ 效果图…

【物联网】物联网操作系统简介

目录 一、物联网操作系统概述 1.1内存占用 1.2 内存管理 二、物联网操作系统构成 三、物联网操作系统关键特性 3.1 调度方式 3.2 I/O操作方式 3.3 网络服务 3.3.1 TinyOS网络协议栈 3.3.2 LiteOS网络协议栈 一、物联网操作系统概述 物联网操作系统是支撑物联网大规模…