openstack核心组件-块存储 (Block Storage) : Cinder

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

cinder 介绍:

理解 Block Storage

操作系统获得存储空间的方式一般有两种:
通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接裸硬盘,然后分区、格式化、创建文件系统;或者直接使用裸硬盘存储数据(数据库)
通过 NFS、CIFS 等 协议,mount 远程的文件系统

第一种裸硬盘的方式叫做 Block Storage(块存储),每个裸硬盘通常也称作 Volume(卷) 第二种叫做文件系统存储。NAS 和 NFS 服务器,以及各种分布式文件系统提供的都是这种存储。

理解 Block Storage Service

Block Storage Servicet 提供对 volume 从创建到删除整个生命周期的管理。从 instance 的角度看,挂载的每一个 Volume 都是一块硬盘。OpenStack 提供 Block Storage Service 的是 Cinder,其具体功能是:

1,提供 REST API 使用户能够查询和管理 volume、volume snapshot 以及 volume type
2,提供 scheduler 调度 volume 创建请求,合理优化存储资源的分配
3,通过 driver 架构支持多种 back-end(后端)存储方式,包括 LVM,NFS,Ceph 和其他诸如 EMC、IBM 等商业存储产品和方案

Cinder 架构

下图是 cinder 的逻辑架构图
在这里插入图片描述

Cinder 包含如下几个组件:

cinder-api

接收 API 请求, 调用 cinder-volume 。是整个 Cinder 组件的门户,所有 cinder 的请求都首先由 cinder-api 处理。cinder-api 向外界暴露若干 HTTP REST API 接口。在 keystone 中我们可以查询 cinder-api 的 endponits。

客户端可以将请求发送到 endponits 指定的地址,向 cinder-api 请求操作。 当然,作为最终用户的我们不会直接发送 Rest API 请求。OpenStack CLI,Dashboard 和其他需要跟 Cinder 交换的组件会使用这些 API。
cinder-api 对接收到的 HTTP API 请求会做如下处理:
1、检查客户端传人的参数是否合法有效
2、调用 cinder 其他子服务的处理客户端请求
3、将 cinder 其他子服务返回的结果序列号并返回给客户端
cinder-api 接受哪些请求呢?简单的说,只要是 Volume 生命周期相关的操作,cinder-api 都可以响应。大部分操作都可以在 Dashboard 上看到。

cinder-volume

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

cinder-volume 在存储节点上运行,OpenStack 对 Volume 的操作,最后都是交给 cinder-volume 来完成的。cinder-volume 自身并不管理真正的存储设备,存储设备是由 volume provider 管理的。cinder-volume 与 volume provider 一起实现 volume 生命周期的管理。

通过 Driver 架构支持多种 Volume Provider
接着的问题是:现在市面上有这么多块存储产品和方案(volume provider),cinder-volume 如何与它们配合呢?

通过的 Driver 架构。 cinder-volume 为这些 volume provider 定义了统一的接口,volume provider 只需要实现这些接口,就可以 Driver 的形式即插即用到 OpenStack 系统中。

定期向 OpenStack 报告计算节点的状态
cinder-volume 会定期向 Cinder 报告存储节点的空闲容量来做筛选启动volume

实现 volume 生命周期管理
Cinder 对 volume 的生命周期的管理最终都是通过 cinder-volume 完成的,包括 volume 的 create、extend、attach、snapshot、delete 等。

cinder-scheduler

scheduler 通过调度算法选择最合适的存储节点创建 volume。 创建 Volume 时,cinder-scheduler 会基于容量、Volume Type 等条件选择出最合适的存储节点,然后让其创建 Volume

volume provider

数据的存储设备,为 volume 提供物理存储空间。 cinder-volume 支持多种 volume provider,每种 volume provider 通过自己的 driver 与cinder-volume 协调工作。

基于RPA与pytest的OpenStack Cinder自动化测试方案设计与实践 自动化测试是保障软件质量与稳定性的核心环节,尤其在云计算与DevOps领域,高效的自动化测试方案能显著提升开发迭代速度与系统可靠性。其原理在于通过脚本模拟用户操作,自动执行测试用例、验证功能并生成报告,从而将测试人员从重复劳动中解放出来,专注于更复杂的场景设计与问题分析。在技术价值上,自动化测试不仅实现了测试过程的标准化与可重复性,更是持续集成与持续交付(CI/CD)管道中不可或缺的质量门禁。在OpenStack等云平台的应用场景中,块存储服务(如Cinder)的生命周期管理涉及大量API调用与资源状态验证 阅读详情

相关推荐

使用脚本部署OpenStack平台(练习)

一.案例分析 (1)部署架构 一台控制节点(controller)和一台计算节点(compute)组成简单架构OpenStack平台,控制节点安装MySQL、Keystone、Glance、Nova、Neutron、Dashboard等服务,主要作为认证、镜像管理节点,以及提供Nova和Neutron服务的管理节点。提供Dashboard界面服务。 计算节点主要安装nova-compute和Neu...

henbang_bang的博客 9685

存储虚拟化:企业云平台中的Block Storage服务

作者:禅与计算机程序设计艺术 1.简介 当今的云计算市场已成为行业共识,越来越多的企业和开发者将云作为产品和服务的核心,而存储是其核心组件之一。存储也是云平台中不可或缺的一环,各种类型的应用都需要持久性的数据存储,如数据库、文件服务器等。云平台对存储的需求也日益扩大,越来越多的公司通过公有云、私有云的方

AI天才研究院 1792

OpenStack私有云部署实战:从核心架构到最小化环境搭建

云计算基础设施是现代企业数字化转型的核心支撑,其核心原理在于通过虚拟化技术将物理资源池化,实现按需分配与弹性伸缩。OpenStack作为开源云计算管理平台,通过模块化服务架构(如计算、网络、存储服务)提供了构建私有云和混合云的技术基础,其技术价值在于避免了厂商锁定并赋予企业高度定制化的云环境控制权。在应用场景上,它广泛服务于企业级虚拟化、开发测试平台和边缘计算等需求。本文聚焦于OpenStack的快速部署实践,通过OpenStack Charms工具链,结合企业级私有云和混合云建设中的常见需求,指导读者从零

weixin_30675247的博客 380

08.存储Cinder→1.理解Block Storage

返回总目录 操作系统获得存储空间的方式一般有二种:通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接裸硬盘,然后分区、格式化、创建文件系统;或者直接使用裸硬盘存储数据(数据库)介绍:第一种裸硬盘的方式叫做Block Storage块存储),每个裸硬盘通常也称作Volume(卷)。使用lvm划分出的逻辑卷也是块存储,因为操作系统是区分不出到底是逻辑还是物理的,比如,有5个逻辑卷,它一概就...

xiangrongweng0547的博客 471

openstack-理解cinder服务

cinderopenstack中提供块存储服务的组件,主要是为虚拟机实例提供虚拟磁盘。通过某种协议(SAS,SCSI,SAN,iSCSI等)挂接裸硬盘,然后分区、格式化创建的文件,或者直接使用裸硬盘存储数据的方式叫做块存储,每个裸硬盘通常也叫做Volume(卷)。通过nfs,cifs等协议,需要挂载的远程文件系统,叫做文件系统存储。一、理解块存储服务在ope...

weixin_34032827的博客 1902

深入理解块存储:特性、应用场景及与其他存储方式的对比

块存储是什么?什么是块存储?详解块存储的概念

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 1520

分布式存储系统架构

分布式存储系统通过将数据分散存储到多个存储节点,能够提供高可用性、扩展性和性能。不同的架构(如块存储、文件存储和对象存储)适用于不同类型的应用。分布式存储系统的关键特点包括数据冗余、数据一致性、负载均衡和高容错性。在大规模数据存储和访问的场景中,分布式存储系统起到了重要作用,并且随着技术发展,越来越多的先进技术(如纠删码、数据分片和智能调度等)被用于优化这些系统的性能和可靠性。

weixin_42020487的博客 1759

一分钟快速入门openstack

1. openstack是一个搭建云平台的一个解决方案。openstack可以搭建公有云,私有云,企业云。 2. openstack包括7个核心组件:Compute(计算),Object Storage(对象存储),Identity(身份认证),Dashboard(仪表盘)Block Storage(块存储),Network(网络)和Image Service(镜像服务)。 Co

suichen1的专栏 862

Cinder服务的基本使用

OpenStack早期版本是使用nova-volume为云平台提供持久性块存储服务。从Folsom版本后,就把作为Nova组成部分的nova-volume分离出来,形成了独立的Cinder组件。Cinder本身并不直接提供块存储设备实际的管理和服务,而是在虚拟机和具体的存储设备之间引入一个抽象的“逻辑存储卷”。

XiaoXinYAYAYA的博客 1395

OpenStack Block Storage (Cinder)完全指南:从概念到实战的10大核心模块解析

OpenStack Block Storage (Cinder)OpenStack生态中负责提供持久化块存储服务的核心组件,为虚拟机实例提供可扩展的存储解决方案。无论是私有云还是公有云环境,Cinder都扮演着至关重要的角色,帮助用户实现灵活的存储资源管理与分配。本文将深入解析Cinder的10大核心模块,带你从概念到实战全面掌握这一强大工具。 ## 1. Cinder架构全景解析:核心组件

gitblog_00164的博客 260

vLLM-Omni NPU Model Runner 中的 Omni 专属代码块全解析:升级与移植必备参考

本篇指南以 vLLM-Omni 仓库内 NPU 移植工作的核心参考文档([omni-specific-blocks.md](https://link.gitcode.com/i/655b57753b62b2c2f4ba2f72ea8169fb))为骨架,系统梳理 `vllm_omni/platforms/npu/worker/` 下三个 NPU model runner(`OmniNPUModel

gitblog_00860的博客 965

iii Channels 机制解析:用 WebSocket 流管道突破函数 JSON Payload 的数据传输限制

本文基于 iii 0.13.0 版本文档 [Channels](https://link.gitcode.com/i/ce73f3cef475069c1fd3788e32584a24) 及其引擎侧源码实现,讲清楚 iii 的 Channel(通道)是如何让不同进程、不同语言的两个函数之间实时传输字节流的。读完后,你将理解 Channel 的 Ref/Writer/Reader 模型、引擎中 `Ch

gitblog_00534的博客 630

openstack v2 接口文档_云计算openstack核心组件——cinder存储服务(11)

一、cinder 介绍:理解 Block Storage操作系统获得存储空间的方式一般有两种:通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接裸硬盘,然后分区、格式化、创建文件系统;或者直接使用裸硬盘存储数据(数据库)通过 NFS、CIFS 等 协议,mount 远程的文件系统第一种裸硬盘的方式叫做 Block Storage(块存储),每个裸硬盘通常也称作 Volume() 第二种...

weixin_39822443的博客 475

OpenStack 的主要组件

一 三大核心组件Nova:computerNeutron:NetworkingSwift:StorageOpenstack Computer(Nova)1 Nova是云计算环境的主要控制器,主要采用Python语言编写。2 使用目前成熟的虚拟化技术(KVM、XenServer)来管理和自动化计算资源池的操作。3 OpenStack只是作为一个平台存在,并不充当计算资源的提供者和资源的消费者。三...

实践求真知 2万+

在 RIOT OS 中使用 WeAct-G030F6 开发板:基于 STM32G030F6P6 的入门与配置指南

本文围绕 RIOT 仓库中 [WeAct-G030F6 板级支持文档](https://link.gitcode.com/i/ea195bbe1865913401cd041bee9b8f1c),系统讲解这款基于 STM32G030F6P6 的超低成本开发板在 RIOT OS 中的硬件资源、外设映射与烧录调试方式。读完本文,你将掌握该板卡的 LED/按键引脚定义、UART 与 Timer 的默认配置

gitblog_00458的博客 450

35.openstack管理及实验

本文档详细介绍了OpenStack管理中的keystone身份认证和glance镜像管理实验操作。在keystone部分,通过命令行创建角色、用户和用户组,分配权限,并进行用户禁用和删除操作。同时演示了项目创建和配额修改流程。在glance镜像管理部分,详细记录了如何下载cirros镜像,创建并注册私有镜像文件,以及权限分配验证等操作步骤。这些实验涵盖了OpenStack基础管理的关键功能,包括用户权限控制、资源配额管理和镜像管理等内容。

专注云计算 937

OpenStack

1、IasS(OpenStack,CloudStack) PasS(Docker) 2、OpenStack核心组件 Compute:代码名Nova,管理vm整个生命周期,主要职责包括启动、调度vms Networking:代码名Netorn,为OpenStack提供NCasS的功能,插件化设计,支持众多流行的网络管理插件 Object S...

163
上一篇: openstack核心组件-horizon— Web管理界面
下一篇: 数据储存方案
PpikachuP
博客等级 码龄8年 42粉丝 68原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值