不要被“软件定义存储”说晕了

本文涉及的产品
文件存储 NAS,50GB 3个月
简介:

都说存储未来的方向是软件定义存储,相关的概念满天飞:SAS(软件定义存储)、ServerSAN、融合系统(Converged System),超融合系统(Hyper Converged System)、此外还有HCI(Hyper Converged Infrastructure)、HCIA(Hyper Converged Infrastructure Appliance)、II(Integrated Infrastructure)、IP(Integrated Platforms)等变形或说是山寨的说法,总之,Converged、Integrated、System、Infrastructure和 Platform等英文单词的自由组合,一人一个新名词,标榜自己先进和与众不同,最后大家统称为软件定义存储。

除了这些概念之外,还可以罗列一些存储企业的产品和方案,如ViPR、VSAN、EVO:RAIL、ScaleIO、SimpliVity、 Scale Computing、Pivot3、Maxta; Fusion Storage、Open vStorage、Fluid Cache、StorVirtual、Inktank Ceph、Storage Spaces、 GPFS、Lustre、Panasas等。这些产品或者方案,谁是ServerSAN?谁是软件定义存储?

看到这里你晕了吗?反正我是有点头昏。

要把这些东西搞清楚,我觉得最好办法还是从目的出发,看他们重点解决哪些问题,这会让问题便简单。换句话说,为什么软件定义存储是未来方向?要解决了哪些问题?

归纳起来看,存储应用面临几个问题:

首先统一管理和调度的问题,很多用户数据中心的存储是万国俱乐部, 不同时期,不同品牌的存储产品琳琅满目,一个系统一套管理的方法,非常复杂。有没有办法简化,所谓集中管理调度的需求 。对此,业界针对性推出了存储虚拟化的解决方案,如ViPR、SVC等,基本上就是这样目的。当时,没有软件定义存储,都提存储虚拟化。以至于后来,软件定义存储出现之后,很多认为不过存储虚拟化的翻版,旧瓶装新酒。

除了统一调度之外,还有一个需求就是存储的软件和硬件分离,从紧耦合到松耦合,让软件和硬件无关。其带来的好处在于,让应用融合变得更加简单。以SAN和 NAS为例,很多用户希望一台设备同时提供SAN、NAS的需求,所谓统一存储。如果软件和硬件不分离,就需要额外增加NAS网关(可简单理解为机头)。 当软件和硬件剥离之后,要实现SAN、NAS一体就变得非常简单。 随着对象存储应用需求的出现,软件定义存储会让应用的支持变得简单,灵活。应该说,这是软件定义存储主要解决的问题。

除了上述需求之外,还有一种颠覆传统磁盘阵列的需求, 用廉价x86本地存储实现阵列的功能 ,这当然也依靠软件方法来实现,也是某种意义上的软件定义存储。最早向传统阵列开枪的,我接触的是VMware VSAN,因此,VSAN某种程度上成了这种方式的代名词。VSAN当然有些限制前提,如只支持虚拟机、需要x86配备SSD闪存盘。

ServerSAN是后来接触的名词,陆续知道了Nutanix、Nexenta、PROMISE、Maxtor、达沃等厂商和方案,他们的共同理想就是推翻阵列的统治,迎来一个x86存储的新天地。应该说,这并不是理想。实际上,十月革命已经由互联网企业实现,所谓分布式存储。 ServerSAN就是要把互联网企业的成功,复制到阵列统治的世界,改天换地。

都是用软件来实现的,都可以统称软件定义存储。我们需要分辨的, 其实他们目的是有所不同的,并不是回事儿,不要眉毛胡子一把抓。

个人认为,Peter Ye这张图还是比较准确说明了问题。


本文作者:宋家雨

来源:51CTO

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
相关文章
|
5月前
|
编译器 C语言
【C语言航路外传】如何隐藏代码及声明和定义的在工程中真正的使用场景
【C语言航路外传】如何隐藏代码及声明和定义的在工程中真正的使用场景
59 1
|
2月前
|
存储 编译器 程序员
近4w字吐血整理!只要你认真看完【C++编程核心知识】分分钟吊打面试官(包含:内存、函数、引用、类与对象、文件操作)
近4w字吐血整理!只要你认真看完【C++编程核心知识】分分钟吊打面试官(包含:内存、函数、引用、类与对象、文件操作)
106 0
|
8月前
|
人工智能 网络安全 数据安全/隐私保护
计算机中那些事儿(一):妙用远程,方便你我他!
计算机中那些事儿(一):妙用远程,方便你我他!
|
10月前
|
存储 编译器 C语言
【C++】内存对齐原理及详解(附带相关案例)
【C++】内存对齐原理及详解(附带相关案例)
|
10月前
|
机器学习/深度学习 搜索推荐 算法
编程艺术 - 第二章 、俩个字符串是否包含问题以及扩展
编程艺术 - 第二章 、俩个字符串是否包含问题以及扩展
47 0
|
算法
用函数数组指针来实现计算器的功能(简易模式)(不过稍微改改也能算比较复杂的)
整个代码块并不算多难理解,有兴趣的可以看看我写的扫雷(比这稍微复杂点,但与比赛相比差远了)。它的思路很简单,就是构造一个函数指针数组,然后把4个函数放到里面去,再在想用的时候把它调用出来。
71 0
|
Java Apache
集合的特别要注意地方哈
《系统设计》系列
59 0
|
JavaScript 前端开发 测试技术
[译]借助函数完成可组合的数据类型(软件编写)(第十部分)
本文讲的是[译]借助函数完成可组合的数据类型(软件编写)(第十部分),在 JavaScript 中,最简单的方式完成组合就是函数组合,并且一个函数只是一个你能够为之添加方法的对象。换言之,你可以这么做:
994 0