随着大数据技术的普及,“数据怎么存”成了很多企业IT负责人的头疼问题。
走进数据中心,你会发现存储设备五花八门:有的是一台台独立的服务器,里面塞满了硬盘;有的是一个个黑色的机箱,前面板密密麻麻全是接口;还有的干脆看不见硬件,所有存储都在云端。
但在采购存储服务器时,最根本的选择只有一个:SAN还是分布式?
这两个词代表了两种截然不同的技术路线,各有优劣,适用于不同的场景。今天,我们就来帮您理清这个选择题。
SAN(Storage Area Network,存储区域网络)是一种传统的集中式存储架构。
它的核心思想是“存算分离”:计算服务器负责处理业务,存储设备负责保存数据,两者通过高速光纤网络连接。存储设备本身是一个专用的硬件系统,内置了控制器、缓存、硬盘,以及复杂的RAID保护机制。
SAN的典型代表:
戴尔EMC的PowerMax、VNX系列
惠普企业的3PAR、Primera系列
IBM的FlashSystem系列
NetApp的AFF、FAS系列
这些设备通常价格不菲,一台中高端的SAN存储动辄几十万、上百万,但其性能和可靠性也确实是消费级设备无法比拟的。
SAN的工作原理:
在SAN架构中,计算服务器看到的是“裸盘”——就像你在电脑里看到的本地硬盘一样。但实际上,这些“盘”是从SAN设备上通过光纤网络映射过来的逻辑单元(LUN)。数据写入时,先到达SAN的控制器,控制器再将数据写入后端的硬盘。
控制器是SAN的核心,它负责处理所有的I/O请求,管理缓存,执行RAID计算,处理故障恢复。高端SAN通常采用双控制器设计,一个出故障,另一个无缝接管,保证业务不中断。
分布式存储是一种新兴的存算融合架构。
它的核心思想是“利用标准化硬件,通过软件实现可靠性”。简单来说,就是用多台普通的x86服务器,每台装上若干硬盘,再运行一套分布式存储软件,把这些服务器的硬盘资源整合成一个统一的存储池。
分布式存储的典型代表:
Ceph(开源,应用最广)
MinIO(专注于对象存储)
GlusterFS(红帽出品)
商业发行版如杉岩数据、XSKY等
分布式存储的工作原理:
当一份数据需要写入时,分布式存储软件会将其切分成多个数据块,每个数据块复制多份(通常是3份),然后分散存储到不同的服务器上。读取时,软件会从多台服务器并行读取数据块,再拼装成完整的数据返回给应用。
这种架构的好处是:没有单点故障。任何一台服务器宕机,只要还有两台存有数据的服务器活着,数据就不会丢失,业务也不会中断。
SAN的优势:
低延迟:高端SAN采用专用硬件,控制器直连后端硬盘,延迟可以低至亚毫秒级。这对于对延迟敏感的业务(如OLTP数据库)至关重要。
高IOPS:SAN的缓存机制和优化的I/O栈,可以提供极高的随机读写性能。一台全闪存SAN可以轻松达到百万级IOPS。
稳定可预测:专用硬件+专用固件,性能表现非常稳定,不会出现“突然变慢”的情况。
分布式的优势:
聚合带宽高:分布式存储可以从多台服务器并行读写,聚合带宽可以随节点数线性扩展。对于大文件顺序读写场景(如视频监控、日志存储),分布式存储的吞吐能力远超SAN。
扩展性好:随着节点增加,性能也会提升。而SAN受限于控制器能力,扩展往往会遇到瓶颈。
小结:如果追求低延迟和稳定性能,选SAN;如果追求高吞吐和可扩展性,选分布式。
SAN的扩展方式:
SAN的扩展通常是通过“加硬盘”或“加扩展柜”实现的。但无论加多少硬盘,最终都要通过那两个控制器来处理。当硬盘数量增加到一定程度,控制器就会成为瓶颈。
更高端的扩展方式是“双活+集群”,即部署两套SAN设备,通过软件做成集群。但这种方式成本极高,而且配置复杂。
分布式的扩展方式:
分布式的扩展是“加节点”。需要更多容量?加几台服务器。需要更高性能?加几台服务器。理论上是无限扩展的,实际部署中,上千节点的分布式存储集群已经很常见。
而且,分布式存储支持“在线扩容”——旧节点不用停机,新节点加进去后,数据会自动重新平衡,对上层业务完全透明。
小结:如果业务规模基本固定,SAN足够;如果数据量还在快速增长,分布式更有优势。
SAN的成本构成:
硬件成本:专用硬件,价格昂贵。同样的容量,SAN的硬件成本通常是分布式的3-5倍。
软件成本:SAN的软件通常是捆绑销售的,不需要额外付费。
维护成本:需要专业的存储工程师维护,人员成本高。
分布式的成本构成:
硬件成本:标准x86服务器,价格透明,成本可控。
软件成本:开源版本免费,商业发行版按节点或容量收费。
维护成本:可以用通用的服务器运维人员,不需要专门的存储专家。
以一个100TB的存储系统为例:
SAN方案:一台中端SAN设备约50万,加上光纤交换机、HBA卡等,总成本60-70万。
分布式方案:5台2U服务器(每台20TB),每台3万,加上万兆交换机,总成本20万左右。
小结:成本敏感型场景,分布式有明显优势。
SAN的可靠性:
高端SAN的可靠性确实很高——冗余控制器、冗余电源、冗余风扇、RAID保护、快照、远程复制,各种数据保护机制一应俱全。在正常维护的情况下,企业级SAN可以做到“五年不宕机”。
但SAN有一个致命的弱点:控制器是单点故障。虽然是双控制器,但两个控制器共享同一个机箱,如果机箱出问题(比如火灾、进水),整个存储就全完了。
分布式的可靠性:
分布式的可靠性建立在“副本”和“分散”的基础上。一份数据三个副本,放在三个不同的服务器上,甚至放在三个不同的机柜里。任何一台服务器宕机,不影响数据可用性;一个机柜断电,只要其他机柜还有副本,业务照常运行。
但这种高可靠是有代价的:三个副本意味着三倍的存储成本。如果采用纠删码(EC)技术,可以降低到1.5倍左右,但会消耗更多的计算资源。
小结:SAN适合对“单点故障”有信心的场景;分布式天生就是为“故障常态”设计的。
场景一:核心交易系统(如银行、电商)
这类业务对延迟极度敏感,要求毫秒级响应;对数据一致性要求极高,任何丢失都不可接受;业务规模相对固定,不会暴涨暴跌。
建议:SAN。高端SAN的性能和稳定性无可替代。
场景二:海量数据存储(如视频监控、医疗影像)
这类业务数据量巨大,且持续增长;主要是顺序读写,对延迟不敏感;对成本敏感,希望在满足性能的前提下尽量省钱。
建议:分布式。成本优势和扩展性优势明显。
场景三:混合负载(如企业内部IT)
既有数据库应用,又有文件共享,还有备份归档。业务类型多样,性能要求不一。希望在统一平台上满足所有需求。
建议:混合架构。核心数据库跑在SAN上,非核心业务跑在分布式上,两者共存。
场景四:云原生应用(如容器、微服务)
这类应用天生就是分布式的,需要存储也能提供分布式的接口和服务。通常需要对象存储或CSI(容器存储接口)支持。
建议:分布式。云原生时代的标配。
SAN和分布式,并不是非此即敌的关系。实际上,两者正在相互融合。
一方面,传统的SAN厂商开始推出“分布式SAN”——用分布式架构做后端,但对外仍然提供SAN的接口和体验。另一方面,分布式存储厂商也在不断提升性能,努力向核心业务渗透。
华为的Dorado系列全闪存存储,既有传统SAN的高性能,又能支持分布式扩展;VMware的vSAN,本质是分布式存储,但在虚拟化环境中用起来就像本地盘一样方便。
未来,随着硬件性能的提升和软件技术的进步,两者的界限会越来越模糊。最终,存储的选择将不再纠结于“SAN还是分布式”,而是“什么方案最适合我的业务”。
相关推荐
了解更多新闻资讯