SDS软件定义存储

article/2025/10/1 19:18:19

计算机发展到今天,软件定义已经是一种潮流,前有软件定义网络,后有软件定义存储。

对于软件定义存储来说,是随着当年EMC在EMC World上发布的软件定义存储战略迅速成为业界热点的。软件定义存储将硬件存储资源整合起来,并通过软件编程的方式来定义这些资源,借此,用户能够根据一定的策略来配置和使用存储服务。

另外,随着存储系统的多样化,如果依然对不同的存储使用不同的软件,效率会非常低,并且会增加运维的复杂度。而且不同的存储软件之间不能互通,这也会影响存储的调度。于是急需一个非常高效的、统一的存储软件,用于管理不同的存储,并且可以在不同的存储之间根据用户的需求进行相应的调度。这就促进了软件定义存储的诞生,来满足管理、资源调度或编排的需求。

OpenSDS

当今企业正在经历从传统数据中心向云转型的过程,现在计算、网络已在虚拟化进程中取得重大进展,而存储的虚拟化进程还相对滞后,依然面临异构管理、烟囱式建设的问题,这成为了数据中心云化演进的瓶颈。

软件定义存储是存储云化的重要手段,其方向在于帮助用户在传统数据中心或云内实现存储资源的池化和服务化,以及在多云之间实现数据的统一管理和自由流动。但目前软件定义存储尚不成熟,主要挑战在于控制面标准缺失,各存储厂商自行定义标准和规范,导致生态发展缓慢。因此业界需要有统一的软件定义存储标准,面向应用提供灵活、按需供给、服务化、目录化的存储数据服务。

基于这样的背景和OpenStack成功的启示,华为牵手多家业界领先的存储厂商和优秀企业,经过一系列的交流讨论最终达成一致的结论,决定在Linux基金会下共同组建OpenSDS开源社区,以致力于软件定义存储标准化推行、软件定义存储控制器参考架构发布,以及标准API开放。最终用户基于OpenSDS标准可获得轻量级、厂商中立的软件定义存储环境,面向多云场景提供资源按需供给,数据统一管理及跨云自由流动的多云数据服务。

OpenSDS架构

如果读者比较熟悉存储的管理系统,包括现在云计算管理平台涉及存储的管理内容,可以看到如图1所示的混乱现状:有多种计算平台,开源的也好,厂商自研的也好;中间的存储控制器也是层出不穷,几乎每个设备商都会自己研制1~N个控制器,还有一大堆开源的控制器;最后到具体存储设备,或者存储的解决方案也是五花八门。

也就是说,用户如果准备把业务迁移到云上,首先要挑选一个云计算平台,然后挑选一个存储控制器,还要挑选一个符合自身业务特性的存储后端。由此可见用户需要做多项选择,这个图并不是每个用户都需要在上面做全连接,其实对于任何一个用户即便是从三层里面每一层挑一个出来,如果想达到一个最好的选择,都是一件非常困难的事情。

这种混乱造成的第一个问题就是异构管理的问题,另一个就是现有的这些计算平台也好,控制器也好,存储资源也好,它们相互之间是不是真的理解,也就是说当你用自己觉得非常好用的云计算管理平台为你的应用去调度存储资源或分配存储资源的时候,你用的存储真的了解你的应用的需求吗,还有你可能花费了大量的金钱,采购了这些存储设备,它们真的会理解你的应用特性请求吗?

其实我们发现,在大多数情况下都不是这样的,会存在错配的情况,也就是存储并不能按需进行调度分配,通常情况就是将就着使用,反正也没有别的选择。

这些问题已经存在很长时间了,软件定义也不是一个新名词了,到现在至少已经存在5~6年的时间,不管是厂商还是用户一直以来其实是有一个期望的,那就是对用户来说,能不能更简单地管理自己的资源,能不能按需调度自己的存储资源;对开发者来说,是不是能够学一次就行,而不是每次出来一个新东西就会被用户逼着去开发一大堆的东西。有没有一种方法可以去尽量减轻这些痛苦。

正是在这些需求的驱动下,OpenSDS社区成立了,社区愿景就像刚才描述的一样,也就是对应用来说,有一个标准而统一的控制器,可以提供存储资源;而对存储资源来说,有一个标准的控制器,能够把正确的调度需求传达下来,以使设备或其他存储方案能够最佳地匹配应用需求,从而发挥最大的功效。用一句话概括来说,OpenSDS就是适用于多云环境下的存储资源统一编排调度的存储控制器,它可以提供如下的功能。

· 标准:OpenSDS目的是建立一套关于软件定义存储的开放标准。

· 服务发现(Discovery):把每一个存储的后端作为一个服务,来进行后端的一些资源池及一些能力的上报。

· 资源池:提供一套统一的资源池,供上面的云平台进行调度。

· 服务发放(Provisioning):针对存储相关的业务提供一个服务发放的功能。

· 管理:有一个统一的控制器,对下面的存储资源进行统一的管理。

· 自动化:OpenSDS的目标是提供一套用于云化存储的自动化的一个解决方案。

· 自服务(Self-service):可以提供自服务的功能,比如说会有一些内部的系统监控,以保证系统的高可用性。

· 异构:定位是解决现在存储异构的一些统一的管理问题。

· 编排:会提供一套基于策略的编排调度的框架。

OpenSDS包括两个核心的子项目:Sushi与Hotpot。Sushi是OpenSDS的北向插件项目,与容器、OpenStack等云管理平台对接。Hotpot是OpenSDS的Controller项目。

Sushi与Hotpot整合在一起,就是如图2所示的OpenSDS架构,最上层是统一的北向接口;中间是控制或编排器核心的逻辑,通过它处理一些基于策略的调度,比如一些设备发现、存储池化、服务目录等;最下层是HUB,HUB用来接入第三方不同厂商的设备,实现OpenSDS对多后端存储的支持,给开发者一个灵活的开发模型。

OpenSDS的开放性应该是其最重要的特点之一,北向通过REST API实现与不同IaaS、PaaS、CaaS和SaaS的平台对接,并把企业级存储能力开放给上层调度和编排系统,南向HUB通过OpenStack API、OpenSDS Native API或CoprHd实现对不同存储的管理和服务编排。这种标准的南北向API完全屏蔽不同生态使用存储的差异性,使用户或租户更加关注上层应用和存储服务指标。

存储系统未来发展的两大趋势是数据服务化和智能运维,服务化或云化,是指在使用资源时,买多少用多少(配额管理),买多长时间用多长时间(计量),用时开通不用时关闭(资源复用)。

OpenSDS也考虑到了智能运维和数据流动,或数据生命周期管理的问题,通过监控、报表、分析和预测等工具实现智能运维。通过与华为云、AWS、Azure和Google云形成混合云,实现数据流动和生命周期管理,让数据在生命周期的不同阶段保存在合适的存储位置中。

OpenSDS应用场景

1.传统数据中心场景

通过定义和实现存储标准化接口,帮助用户简化传统数据中心种类繁多的异构存储管理方式,降低存储运维成本,提高存储资源的利用率,避免厂商绑定。

· 存储接口标准化:通过标准化定义的软件定义存储统一标准,为用户解决异构存储设备接口多样化的问题,降低数据中心维护成本。基于标准接口构建丰富的北向生态,帮助用户轻松将存储与北向的云平台和应用集成,支撑用户业务快速上云。

· 存储能力服务化:对各厂商、多类型的存储资源进行逻辑池化,并使用标签化的方式将资源池中的存储能力简单、抽象地表达出来,简化对存储设备能力的定义,通过统一的接口、视图让运维管理人员轻松识别数据中心存储整体能力情况。同时根据用户业务诉求,帮助用户构建典型的SLA,使得存储资源发放变得简单高效,用户只需结合自己的业务情况选择对应的SLA,即可完成存储资源自动化发放。

2.多云场景

如图3所示,帮助用户解除存储厂商和云厂商绑定,统一数据中心和公有、私有云之间的数据管理,让用户基于统一视图进行管理、流动和利用所有数据,降低用户在多云场景中的数据管理成本,并充分发挥用户数据的最大价值。

· 数据统一管理:从空间维度看,应用不关注数据放在哪个数据中心的存储设备或放在哪朵云上,通过一套标准接口即可在多个数据中心或公有、私有云中进行智能的数据流动和统一管理。

· 数据生命周期管理:从时间维度看,实现数据从过去、现在到未来(即数据发放、数据保护、数据流动、数据归档、数据消亡等)的数据生命周期管理。

与Kubernetes集成

如图4所示,OpenSDS社区提供了专门的OpenSDS CSI(Container Storage Interface)Plugin与Kubernetes集成,同时在Kubernetes内部还开发了特定的OpenSDS Service Broker,来负责在不改变代码的情况下暴露OpenSDS的高级特性(比如replication、migration、data protection等)给Kubernetes。

与OpenStack集成

OpenSDS最新的Aruba版本里增加了与OpenStack的集成,如图6-5所示。在部署OpenStack环境时,通过Cinder-compatible api模块,可以使用OpenSDS取代Cinder的角色,这个时候,我们不需要部署Cinder,只需要部署OpenSDS,然后OpenSDS会通过Cinder Driver Lib项目访问原本在Cinder中支持的那些后端存储驱动(目前并不是所有的Cinder后端存储驱动能够被这个项目支持)。

 

 


http://chatgpt.dhexx.cn/article/WtTTIQEJ.shtml

相关文章

基于对象的软件定义存储——联想 NetApp DXL系列对象存储方案

联想 DXL 系列对象存储 基于NetApp StorageGRID 技术的联想DXL系列对象存储是一款基于对象的软件定义的存储,它支持 Amazon Simple Storage Service (S3) API 等行业标准对象 API。您可以利用它在全球范围内的 16 个数据中心之间构建一个单一名称空间,并…

软件定义的存储时代即将结束

数据存储、安全性、保护和整体管理对于大多数组织的生存至关重要。 从软件定义的存储时代的结束到本地存储的回归,Nyriad的首席营收官概述了他对最新技术趋势的看法,并提供了他对2023年将会发生的预测。 从以CPU为中心的软件定义存储过渡到卸载辅助架构…

【存储】软件定义存储,看这一篇就够了!

原文:https://www.sohu.com/a/397070625_505795 1.SDS科普 SDS(Software Defined Storage)即软件定义存储,简单地说就是将存储硬件和软件进行分离,采用标准化硬件作为载体(如X86架构),基于软件实现企业级存储功能和服务。相对于传…

软件定义存储的特征及如何工作

软件定义存储的特征 1 可扩展性 软件定义存储可从传统三节点扩展为数千节点,随着存储设备数量的逐渐递增,软件定义存储内部吞吐量也会不断增加,各项存储性能呈现出线性扩展性能,确保信息可允许群集中的应用控制及访问。 2 弹性…

软件定义存储的定义与分类

2011年8月21日,Netscape创始人马克安德森(Marc Andreessen, 硅谷著名投资人, 投资了Facebook、Groupon、Skype、Twitter、Zynga和LinkedIn等高科技新秀),在华尔街日报上发表《软件正在吞噬整个世界》,认为当今的软件应…

【存储】SDS软件定义存储,看这一篇就够了

目录 一、简略说明 二、详细说明 作者:bandaoyuUESTC ,连接:https://blog.csdn.net/bandaoyu/article/details/110245309,不断编辑中 一、简略说明 0.通俗讲是SDS 即存储软件和硬件不绑定,软件不是作为存储设备中的固件&#…

软件定义存储概览(一篇就够)

以下文章来源于TaoCloud ,作者刘爱贵 刘爱贵的博客_CSDN博客-数据存储,GNU/LINUX,程序人生领域博主 1.SDS科普 SDS(Software Defined Storage)即软件定义存储,简单地说就是将存储硬件和软件进行分离,采用标准化硬件…

软件定义的存储

软件定义存储源于VMware公司于2012年提出的软件定义的数据中心(SDDC)。存储作为软件定义的数据中心不可或缺的一部分,其以虚拟化为基础,但又不仅限于虚拟化。存储虚拟化一般只能在专门的硬件设备上应用,很多设备都是经…

软件定义存储,看这一篇就够了!-- 转自360DOC

1.SDS科普 SDS(Software Defined Storage)即软件定义存储,简单地说就是将存储硬件和软件进行分离,采用标准化硬件作为载体(如X86架构),基于软件实现企业级存储功能和服务。相对于传统存储硬件盒…

数值积分方法:欧拉积分、中点积分和龙格-库塔法积分

目录 写在前面原理代码CMakeLists.txteuler.cppmidpoint.cpprk4.cppcompile&run 参考完 写在前面 1、本文内容 数值积分方法:欧拉积分(Euler method)、中点积分(Midpoint method)和龙格-库塔法积分&am…

龙贝格函数求积

龙贝格函数求积 龙贝格函数求积 龙贝格求积公式也称为逐次分半加速法。是数值计算方法之一,用以求解数值积分。是在梯形公式、辛普森公式和柯特斯公式之间关系的基础上,构造出一种加速计算积分的方法。 作为一种外推算法,在不增加计算量的前…

实变函数/实分析总结

一、概述。 实变函数,又叫实分析,整本书满满的证明就讲了一个勒贝格积分。 最为大家所熟知的是用牛顿-莱布尼茨公式算的黎曼积分。但是黎曼积分本身依赖于函数的连续性,像不连续的狄利克雷函数就无法积分了。 为了解决这一问题,…

牛顿柯特斯公式及复合形式、龙贝格求积公式,高斯勒让德求积公式

数值积分的研究实现 牛顿柯特斯公式 柯特斯系数 各阶对应公式 当n 1时,对应的牛顿-柯特斯公式就是是梯形公式 当n 2时,对应的牛顿-柯特斯公式就是辛普森公式 当n 4时,对应的牛顿-柯特斯公式就是柯特斯公式 柯特斯系数表 核心代码实现 …

勒贝格测度?

勒贝格测度? 今天读论文,读到了勒贝格测度(Lebesgue measure),不明所以故百度,稍做笔记以记之。 定义 数学上,勒贝格测度是赋予欧几里得空间的子集一个长度、面积、或者体积的标准方法。它广…

Romberg(龙贝格)求积公式求解数值积分时的注意事项

《数值分析》第5版(李庆扬编著)的第四章课后习题第8-(2)题中,要求使用Romberg(龙贝格)求积公式求解f(x)xsinx在区间[0,2pi]上的积分,要求误差小于10^(-5)。 针对此问题,套用计算公式求解即可。在第一步计算梯形公式时…

勒贝格测度(转)

数学上,勒贝格测度是赋予欧几里得空间的子集一个长度、面积、或者体积的标准方法。它广泛应用于实分析,特别是用于定义勒贝格积分。可以赋予一个体积的集合被称为勒贝格可测;勒贝格可测集A的体积或者说测度记作λ(A)。一个值为∞的勒贝格测度…

利用Matlab编写龙贝格算法(romberg)求函数积分

这次是我初次接触matlab,源于数学老师布置的一个作业:用龙贝格算法来计算函数的积分。 具体的计算原理,由于是数学的东西,不好打印,就不写了。主要把自己的代码贴下来慢慢理解。 一共写了两个文件。一个是romberg.m主要…

数值计算笔记之数值积分(二)龙贝格算法

龙贝格求积公式也称为逐次分半加速法。它是在梯形公式、辛普森公式和柯特斯公式之间的关系的基础上,构造出一种加速计算积分的方法。 作为一种外推算法,它在不增加计算量的前提下提高了误差的精度。 在等距基点的情况下,用计算机计算积分值通…

高斯-勒让德积分学习

高斯-勒让德积分求解函数积分 前言高斯-勒让德积分一般积分区间的归一化Exponential Integral实验参考 前言 梯度和辛普森是经典的几何求积分方法,简单易懂,那如果要更加高档(复杂难懂)的求积分方法找哪家了?高斯-勒让…

数值积分公式及龙贝格(Romberg)算法实现matlab

一、数值积分方法得基本思想 二、复化求积公式 三、基于复化梯形求积公式的高精度求积算法——Richardson外推法和Romberg算法 四、Romberg算法的matlab程序: function Romberg % 龙贝格(Romberg数值求解公式) % inputs: % -fun:积分函数句柄 % -a/…