超融合、软件定义存储、分布式存储以及Server SAN的区别与联系
一时让人眼花缭乱的技术概念
存储设备一直作为计算机系统的重要组成部分,过去很长一段时间,用户习惯于使用 SAN 存储作为保存企业关键业务数据的不二选择。基于 SAN 存储为核心的三层式基础架构(服务器-存储网络-存储设备),成为企业中最常用的基础架构,也称作传统架构。互联网的出现,信息量呈现爆炸式增长,人类产生数据的速度超越了以往所有时代的总和,需要存储的数据量也是急剧地增长。大数据,人工智能,物联网等新技术出现,对存储提出了新的需求。于是市面涌现了一系列的关于存储的新的技术概念和名词(包括 软件定义存储(SDS)、超融合(HCI)、分布式存储、Server SAN 等等),一时间冲入用户的眼帘;面对一些似是而非的定义,各个厂家天花乱坠的功能描述,相信大家更希望知道到底这些概念背后的本质是什么?能解决那些问题?以及是否有合适的应用场景?
基于以上的原因,本文将针对上文提到的几个概念展开进行介绍,帮助大家更好理解这些技术或者概念,作出适合自身的选择。
概念解释
软件定义存储(SDS)是什么
SDS 的全称是 Software Defined Storage ,字面意思直译就是软件定义存储。关于 SDS 的定义可以参考全球网络存储工业协会(Storage Networking Industry Association,SNIA),SINA 在 2013 正式把 软件定义存储(SDS) 列入研究对象。
SINA 对软件定义存储(SDS) 的定义是:一种具备服务管理接口的虚拟化存储。 SDS 包括存储池化的功能,并可通过服务管理接口定义存储池的数据服务特征。另外 SINA 还提出 软件定义存储(SDS) 应该具备以下特性:
- 自动化程度高 – 通过简化管理,降低存储基础架构的运维开销
- 标准接口 – 支持 API 管理、发布和运维存储设备和服务
- 虚拟化数据路径 – 支持多种标准协议,允许应用通过块存储,文件存储或者对象存储接口写入数据
- 扩展性 – 存储架构具备无缝扩展规模的能力,扩展过程不影响可用性以及不会导致性能下降
- 透明度 – 存储应为用户提供管理和监控存储的可用资源与开销
分布式存储是什么
关于分布式存储实际上并没有一个明确的定义,甚至名称上也没有一个统一的说法,大多数情况下称作 Distributed Data Store 或者 Distributed Storage System。
其中*中给 Distributed data store 的定义是:分布式存储是一种计算机网络,它通常以数据复制的方式将信息存储在多个节点中。
在百度百科中给出的定义是:分布式存储系统,是将数据分散存储在多台 独立的设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
尽管各方对分布式存储的定义并不完全相同,但有一点是统一的,就是分布式存储将数据分散放置在多个节点中,节点通过网络互连提供存储服务。这一点与传统集中式存储将数据集中放置的方式有着明显的区分。
Server SAN 是什么
Server SAN 这个概念,最早是由 WIKIBON (国外一个著名的存储咨询社区)提出,WIKIBON 对 Server SAN 的定义是:计算与池化存储资源的组合,多个存储介质直接挂载到多台 独立的服务器上使用。这些直连的存储设备 (DAS) 通过高速网络(InfiniBand 或者低延时以太网)互连,并通过软件保证存储的一致性。Server SAN 可使用混合的存储介质,包括机械硬盘和 SSD 硬盘等。目前市场主流的认知还是将Server SAN作为SAN的架构,只是存储不再使用专用硬件和控制器架构。但在Wikibon定义的理想情况下,企业应用运行在 Server SAN 上,可以实现高可用,甚至于将超融合产品都归类为Server SAN,但因为这个概念在市场上并不普遍,所以不做重点介绍。
超融合是什么
参考*中的超融合定义:
超融合基础架构(hyper-converged infrastructure)是一个软件定义的 IT 基础架构,它可虚拟化常见“硬件定义”系统的所有元素。HCI 包含的最小集合是:虚拟化计算(hypervisor),虚拟存储(SDS)和虚拟网络。HCI 通常运行在标准商用服务器之上。
超融合基础架构(hyper-converged infrastructure)与 融合基础架构(converged infrastructure) 最大的区别在于,在 HCI 里面,无论是存储底层抽象还是存储网络都是在软件层面实现的(或者通过 hypervisor 层面实现),而不是基于物理硬件实现的。由于所有软件定义的元素都围绕 hypervisor 实现,因此在超融合基础架构上的所有实例可以联合共享所有受管理的资源。
区别与联系
软件定义存储(SDS) 的着重点在于存储资源虚拟化和软件定义,首先在形态上,软件定义存储(SDS)区别于传统的“硬件定义”存储,它不依赖专属的硬件,可以让存储软件运行在通用服务器上,可避免硬件绑定以及有效降低硬件采购成本;拥有标准 API 接口和自动化工具,有效降低运维难度。存储资源虚拟化,支持多种存储协议,可整合企业存储资源,提升存储资源利用率。但从定义上来说,但 软件定义存储(SDS) 从部署形式上来看,并不一定是分布式或者是集中式的,也就是说 SDS 不一定是分布式存储(虽然常见的 软件定义存储(SDS) 更多的是分布式的),SDS 存储内部有可能是单机运行的,不通过网络分散存放数据的,这种形式的软件定义存储(SDS) 的扩展性就可能有比较大的局限。
分布式存储,它的最大特点是多节点部署, 数据通过网络分散放置。分布式存储的特点是扩展性强,通过多节点平衡负载,提高存储系统的可靠性与可用性。与 软件定义存储(SDS)相反,分布式存储不一定是软件定义的,有可能是绑定硬件的,例如 IBM XIV 存储,它本质上是一个分布式存储,但实际是通过专用硬件进行交付的。那么就依然存在硬件绑定,拥有成本较高的问题。
从 Server SAN 的定义来看其存储部分定义俨然是分布式存储的定义,但 Server SAN 强调计算与存储的资源组合,也就是说与软件定义存储(SDS)和 分布式存储不一样的地方,后期的定义已经具备了超融合概念的雏形,只是这个概念并没有成为主流。
超融合基础架构从定义中明确提出包含软件定义存储(SDS),具备硬件解耦的能力,可运行在通用服务器之上。超融合基础架构与 Server SAN 提倡的理念类似,计算与存储融合,通过全分布式的架构,有效提升系统可靠性与可用性,并具备易于扩展的特性。
SMTX OS 产品架构
由于很多读者对超融合构成还比较混淆,以下以 SmartX 的超融合软件 SMTX OS 为例说明分布式存储和其他模块的关系。
其中分布式块存储,SMTX ZBS 是SMTX OS超融合软件最核心的组件。它采用全分布式架构并且是完全符合软件定义理念的。
SMTX ZBS 分布式存储架构
除此之外,超融合基础架构有更进一步的扩展,它强调以虚拟化计算(hypervisor)为核心,以软件定义的方式整合包括虚拟化计算, 软件定义存储以及虚拟网络资源。从笔者来看超融合基础架构未来的可能性更多,可促进计算,存储,网络,安全,容灾等等 IT 服务大融合,降低IT 基础架构的复杂性,重新塑造”软件定义的数据中心”。
超融合基础架构的技术核心
超融合基础架构可以说综合了软件定义存储(SDS),分布式存储,甚至是 Server SAN 的许多优良特性,并且不难看出这些概念中都离不开一个关键词——存储。很明显,超融合基础架构的技术核心是存储,存储承载用户数据,重要性不言而喻,另外超融合的各种高级功能(HA、在线迁移等等)都极度依赖存储能力,存储的扩展能力直接限制了超融合产品的扩展规模;存储的自身的可管理性也制约了平台的灵活性;考虑到超融合形态中,计算与存储是同一软件堆栈运行在服务器中的,它们之间是资源竞争的关系,因此在保障存储软件的稳定性和性能前提下,开销越少越好了。
最后,总结一下超融合基础架构对存储的要求,可作为考察超融合中存储能力的一些参考:
- 软件定义 – 解除硬件绑定,可通过升级拓展更丰富的功能,自动化能力高
- 全分布式架构 – 扩展性好,消除单点故障风险
- 高可靠性 – 智能的故障恢复功能,丰富的数据保护手段
- 高性能 – 支持多种存储介质,充分挖掘和利用新式硬件的性能
- 高度融合 – 架构简单并易于管理