软件定义存储(SDS)学习一

来源:互联网 发布:mac版练字打字软件 编辑:程序博客网 时间:2024/04/28 15:39

*

软件定义存储SDS*

存储资源由软件自动控制,通过抽象、池化和自动化,将标准服务器内置存储、直接存储、外置存储等存储资源整合起来,实现应用感知,或者基于策略驱动的部署、变更和管理,最终达到存储及服务的目标。

很好理解的概念,像Openstack只是单纯的框架软件一样,将底部虚拟化,忽略底层的差异,向上提供统一的服务。Django等MVC的概念也是差不多这个意思。
类似的这些软件定义存储的软件都是类似,目标都想统一存储,忽略底层差异,这样带来的好吃不言而喻,但问题也是会有的,某些硬件提供的特殊服务,这样忽略其差异性,也会享受不到特殊硬件带来的好处。

SDS三个阶段

一、抽象,也称解耦,如果硬件被锁定,存储资源则无法灵活调用
二、池化,即虚拟化,这样才能随需分配,动态扩展
三、自动化,存储资源由软件来自动分配和管理

软件定义存储包含两个部分

数据平面:空间配置、自动分级、快照和克隆、压缩、去重、高可用等功能组成了数据平面。负责数据的存放、处理和优化
控制平面:负责策略驱动的管理,以及向上与数据中心或者云管理软件,甚至与应用软件的配合,联动 API管理,从而组成了控制平面的部分。基于策略或者基于应用的存储资源分配、变更和管理

两个平面各司其职,只要接口对得上,控制平面就不会去管他下面怎么实现,怎么将某个对象存储到特定位置,数据平面也就做好自己本来的事情就好了。

Cinder是Openstack云平台中的块存储服务组件,定位于纯粹的SDS controller,厂商中立,只提供块存储服务。Cinder将块存储池化,并对终端用户提供自服务的HTTP API去请求和使用存储资源。这使得终端用户不需要知道存储部署在哪里,也不需要知道是哪种设备。总结来说,就是为虚拟机提供块存储,提供统一的API接口,屏蔽异构设备和产品。

分布式存储的虚拟化是指,将多台标准服务器组成的集群内的HDD/SSD,甚至包括各个服务器连接的JBOD等存储资源,形成一个全局共享存储池。

Cinder、Swift、Ceph的区别

Cinder:软件定义存储控制器(SDS Controller),管理块存储资源,对外提供块存储服务。
Swift :开源分布式存储系统,对外提供对象存储服务。
Ceph:开源分布式存储系统,具有多钟接口,可以对外提供对象存储服务、块存储资源。
PS.Cinder应该只是作为控制平面,向上提供给用户使用接口,向下调用Ceph等做实际存储行动的软件

1 0