OpenStack之存储cinder

一、 存储

1、DAS

1)存储更多的依赖服务器主机操作系统进行数据的IO读写和存储维护管理,数据备份和恢复要求占用服务器主机资源(包括CPU、系统IO等)

2)直连式存储与服务器主机之间的连接通道通常采用SCSI连接,随着服务器CPU的处理能力越来越强,存储硬盘空间越来越大,阵列的硬盘数量越来越多,SCSI通道将会成为IO瓶颈;服务器主机SCSI ID资源有限,能够建立的SCSI通道连接有限。

3)升级扩展,只能由原设备厂商提供,往往受原设备厂商限制。

4)U盘,移动硬盘都属于直连存储,直连存储在同一时间只能供一台主机使用

2、NAS

1)NAS存储也称为附加存储,就是存储设备通过标准的网络拓扑结构添加到一群计算机上。NAS是文件级的存储方法

2)NAS是即插即用的产品,NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档

3)NAS 缺点是连接NAS的网络除了处理用户正常传输外,还使用网络进行数据备份和恢复,当并行访问量大时,会出现卡顿

3、SAN

1)SAN是通过光纤通道交换机连接存储阵列和服务器主机,最后成为一个专用网络

2)SAS综合了DAS和NAS两种存储的优势,以及利用阵列,使n块磁盘同时提供存储,提高了数据访问的速度,适用于大型应用或数据库系统

3)SAN 缺点是由于使用光纤通道通信。所以成本昂贵

4、NAS与SAN 的主要区别体现在NAS的操作系统在NAS存储上,SAN的操作系统在客户端主机上

二、块存储 、文件存储  对象存储

 1、块存储

磁盘阵列,硬盘,系统识别出来的是硬盘,需要制作文件系统

优点:

1)通过Raid与LVM等手段,对数据提供了保护。

2)组合多块廉价硬盘,成为大容量逻辑盘,提高了容量。

3)写入数据的时候,由于是多块磁盘组合出来的逻辑盘,所以几块磁盘可以并行写入的,提升了读写效率。(raid0)

4)块存储多采用SAN架构组网,传输速率以及封装协议的原因,使得传输速度与读写速率得到提升。

缺点:

1)SAN架构需购买光纤卡,光纤交换机,造价成本高。

2)数据无法共享: 在服务器不做集群 的情况下,块存储裸盘映射给主机,在格式化后使用对主机来说相当于本地磁盘,那么此主机的本地磁盘不能给其他主机使用,无法共享数据

3)文件系统无法共享:不同的操作系统使用不同的文件系统,格式化后,不同文件系统间的数据是无法共享的,虽然其他主机可以挂载,但是数据不能识别

2、文件存储

典型设备 FTP 、NFS服务器

为了为了克服上述文件无法共享的问题,所以有了文件存储

文件存储拿一台服务器/笔记本,只要装上合适的操作系统与软件,就可以架设FTP与NFS服务了,架上该类服务之后的服务器,就是文件存储的一种了。

主机可以直接对文件存储进行文件的上传下载,与块存储不同,主机是不需要再对文件存储进行格式化的,因为文件管理功能已经由文件存储自己搞定了

优点

1)造价低:随便一台机器就可以了,另外普通以太网就可以,根本不需要专用的SAN网络,所以造价低。

2)方便文件共享

缺点

读写速率低,传输速率慢

3、对象存储

典型设备:内置大容量硬盘的分布式服务器

1)区分data/metadata + OSD (Object-based Storage Device):

metadata(元数据服务器)里边主要负责存储对象 的属性即

对象的数据被分开存在哪些分布式服务器中

OSD(Object-based Storage Device)具体 存储数据的分布式

服务器,主要负责存储文件的数据部分

2)对象存储软件以及大容量硬盘

3)专门文件系统的文件服务器:对象存储软件是有专门的文件系统的,所以OSD对外又相当于文件服务器

三、cinder 包含如下几个组件:

cinder-api: 接收 API 请求,调用 cinder-volume 执行操作。

cinder-volume : 管理 volume 的服务,与 volume provider协调工作,管理 volume 的生命周期。运行 cinder-volume 服务的节点被称作为存储节点。

cinder-scheduler: scheduler 通过调度算法选择最合适的存储节点创建 volume。

volume provider: 数据的存储设备,为 volume 提供物理存储空间。 cinder-volume 支持多种volume provider,每种 volume provider 通过自己的 driver 与cinder-volume 协调工作。 Message Queue Cinder 各个子服务通过消息队列实现进程间通信和相互协作。因为有了消息队列,子服务之间实现了解耦,这种松散的结构也是分布式系统的重要特征。

Database: Cinder 有一些数据需要存放到数据库中,一般使用 MySQL。数据库是安装在控制节点上的,比如在我们的实验环境中,可以访问名称为“cinder”的数据库。

 四、cinder流程

 用户向cinder-api发送请求,cinder-api接收API请求后将消息放入消息队列,通过cinder-scheduler处理消息队列 里请求,选择合适节点创建volume,由cinder-volume管理volume,volume provider为volume提供存储空间

实验

创建cinder数据库

设置权限使所有客户端可以登录数据库

创建cinder用户

在Ctrl节点上

将admin role赋予Cinder user和service project

创建cinder和cinderv2服务项  :块存储服务要求2个服务项

创建块存储服务API的endpoints:

初始化数据库即向数据库填充数据

重启nova服务

启动cinder-api 、cinder-scheduler服务并设置开机启动

在cinder存储节点上

添加一块磁盘做pv

在控制节点上 检查存储服务

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

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

相关文章

Type-C接口介绍

1、USB介绍 (1)标准USB A型连接器(左)及B型连接器(右) 引脚1 VCC(5V) 引脚2 Data- 引脚3 Data 引脚4 接地 (2)Micro USB 引脚定义及OTG (USB-HOST) …

QT 多线程使用以及注意事项

Qt 是一个跨平台的 C 应用程序开发框架,提供了丰富的库和工具,用于开发图形用户界面、网络应用、数据库应用等。Qt 中的多线程支持使得开发者可以方便地在应用程序中实现并发执行的功能。 以下是一个简单的使用 Qt 多线程的代码例程: #inclu…

单片机实践:开发板上运行AES128防盗算法

本章内容主要是在开发板上运行AES128防盗算法,并且通过串口调试助手观测防盗算法加密后的值以及解密后的值,判断防盗算法是否在开发板上正确运行。 1,防盗算法 以下为AES128防盗算法源码: aes.h文件源码 #ifndef _AES_H_ #def…

mvcc介绍

前提:在介绍mvcc之前,先简单介绍一下mysql事务的相关问题,mvcc归根结底是用来解决事务并发问题的,当然这个解决不是全部解决,只是解决了其中的一部分问题! mysql事务 一、事务的基本要素(ACID&a…

k8s CKA upgrade - Kubeadm 版本升级实测

升级版本最好是逐步去升级,不要跨越多个大版本,可能会出错 大体流程: 1.先确定升级版本 2.升级kubeadm 3.驱逐节点 4.升级kubelet和kubectl 5.重启kubelet服务 6.恢复节点,使其上线 1.查看现版本:升级版本 kubectl ge…

python从入门到精通(十五):python爬虫完整学习大纲

一、基础知识 爬虫的基本概念和工作原理。 HTTP 协议和网页结构。 Python 爬虫开发的基础库,如 requests、BeautifulSoup 等。 常见的反爬虫机制和应对方法。 二、爬虫逆向的技术 代理服务器和 IP 封锁突破。 用户代理和请求头模拟。 JavaScript 解析和执行。 验证码…

华为配置Hotspot2.0无线网络示例

配置Hotspot2.0无线网络示例 组网图形 图1 配置Hotspot2.0无线网络组网图 组网需求配置思路配置注意事项操作步骤配置文件 组网需求 某网络服务商在原有移动网络业务的基础上,新增部署WLAN网络接入业务,为用户提供更好的网络体验。但传统的WLAN网络业…

React/RN组件避免重复渲染的一些技巧

组件基础 回顾下React中创建组件的几种方式: ES5的React.createClass方式ES6的React.Component方式无状态的函数组件方式带hooks的函数组件方式 这里我们只讨论Component和函数组件。我们知道Component是否发生重渲染是由shouldComponentUpdate决定的,…

【每日一题】2024年3月汇编(上)

3.1【2369】检查数组是否存在有效划分 2369. 检查数组是否存在有效划分https://leetcode.cn/problems/check-if-there-is-a-valid-partition-for-the-array/ 1.这样的判断可以用动态规划来解决,用一个长度为(n1) 的数组来记录 是否存在有效划分,dp[i]…

乘法-逆矩阵

文章目录 1. 矩阵相乘-4种方式1.1 CAB1.2 AX 列组合1.3 XB 行组合 2. A,AB, A T A^T AT的逆3. 高斯消元法求 A − 1 A^{-1} A−1 1. 矩阵相乘-4种方式 1.1 CAB 假设我们要求得矩阵CAB ,可以用如下公式表示 c i j ∑ k 1 N a i k b k j (1) c_{ij}\sum_{k1}^Na_…

Bean的作用域、Bean的自动装配、注解自动装配 (Spring学习笔记五)

1、Bean 的作用域 官网上显示有六种 1、Bean的作用域默认的是singleton&#xff08;单例模式的实现&#xff09; 也可以显示的设置&#xff08;单例模式的实现&#xff09; <!--用scope可以设置Bean的作用域--><bean id"user2" class"com.li.pojo.Us…

如何实现分词

分词&#xff08;Tokenization&#xff09;是自然语言处理&#xff08;NLP&#xff09;中的一个基本步骤&#xff0c;特别是在构建搜索引擎时&#xff0c;它将文本拆分成单词、短语或其他有意义的元素&#xff08;称为“词素”或“tokens”&#xff09;。对于中文文本来说&…

A*(AStar)算法总结

简介 A* 算法&#xff08;念做&#xff1a;A Star&#xff09;是一种常用的路径查找和图形遍历算法&#xff0c;具有较好的性能和准确度。让我为您简要介绍一下 A* 算法的原理和实现。 广度优先搜索&#xff1a; 广度优先搜索以广度作为优先级进行搜索。从起点开始&#xff0…

NCV8705MTADJTCG稳压器芯片中文资料规格书PDF数据手册引脚图图片价格功能

产品概述&#xff1a; NCV8705 是一款低噪音、低功耗和低泄漏线性电压稳压器。该器件具有卓越的噪音和 PSRR 规格&#xff0c;适用于使用视频接收器、成像传感器、音频处理器或需要外部洁净电源的任何部件的产品。NCV8705 使用创新的自适应接地电流电路 可确保轻负载调节下的超…

IDEA SpringBoot + Gradle无法运行测试问题

解决 i. 查看 build.gradle 中是否配置了 tasks.named(‘test’) { useJUnitPlatform() } ii. 打开IDEA 设置 &#xff08;Mac用户 Com &#xff0c; 可快速打开 / Win用户 Ctrl Alt s&#xff09; 检索Gradle 后&#xff0c;将Run tests using 选项 变更成 intelliJ IDEA…

http请求方法15种,附图可以下载保存备查。

一、http请求组成和流程 HTTP请求是客户端&#xff08;如浏览器&#xff09;向服务器发送的请求&#xff0c;以获取特定资源或执行特定操作。HTTP请求由以下几个部分组成&#xff1a; 请求行&#xff1a;包含请求方法、请求的URL和HTTP协议版本。常见的请求方法有GET、POST、P…

Rust 的 HashMap

在 Rust 中&#xff0c;HashMap 是一个从键&#xff08;key&#xff09;映射到值&#xff08;value&#xff09;的数据结构。它允许你以 O(1) 的平均时间复杂度存储、检索和删除键值对。HashMap 实现了 std::collections::HashMap 结构体&#xff0c;通常通过 use std::collect…

C#--StreamWriter和StreamReader对象及常用函数

目录 StreamReaderReadLine()Split&#xff08;&#xff09; StreamWriterWriteLine&#xff08;&#xff09;Flush()Close() StreamReader StreamReader 是 C# 中用于从流&#xff08;如文件、内存流等&#xff09;中读取文本数据的类。它提供了多种方法来读取不同类型的数据…

关于Canvas绘图和SVG绘图绘图的区别

当谈到Canvas绘图和SVG绘图时&#xff0c;它们是两种不同的绘图技术&#xff0c;各自具有不同的特点和应用场景。 区别&#xff1a; Canvas绘图&#xff1a;Canvas是HTML5中的一个元素&#xff0c;它提供了一个可以通过JavaScript进行绘图的区域。Canvas绘图是基于像素的&…

实景户外剧本杀小程序开发搭建

实景户外剧本杀小程序开发搭建需要以下步骤&#xff1a; 1. 确定需求和设计&#xff1a;首先需要明确实景户外剧本杀小程序的需求&#xff0c;包括场景、剧本、角色、玩法等方面的需求&#xff0c;并根据需求设计小程序的界面和功能。 2. 选择开发技术&#xff1a;根据需求选…