分布式存储与传统存储对比分析

分布式存储的定义

分布式存储系统,是将数据分散存储在多台独立的X86服务器上,通过通用的存储协议对外提供FC、ISCSI、RBD、NAS、S3等存储接口,每个存储服务器节点既能够进行数据存放和性能加速,也同时提供数据控制和存储接口对接,没有单点故障,每个节点都可以对外提供数据吞吐,性能随着存储节点的增多会线性上升,分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,它不但提高了系统的可靠性、可用性和存取效率,并且易于扩展。
拓扑架构:

集中式存储的定义

集中式存储系统指由一台或多台主控制器组成中心节点,各数据设备级联部署,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统所有的功能均由其集中处理,中心节点统一对外提供FC、ISCSI、NAS存储接口。也就是说,集中式系统中,每个终端或客户端及其仅仅负责数据的录入和输出,而数据的存储与控制处理完全交由主机来完成。集中式系统最大的特点就是部署结构简单。

拓扑架构:

集中式存储与分布式存储的对比

传统集中式存储架构的局限性主要体现在以下几个方面:

1.横向扩展性较差
受限于前端控制器的对外服务能力,纵向扩展磁盘数量无法有效提升存储设备对外提供服务的能力。同时,前端控制器横向扩展能力非常有限,业界最多仅能实现几个控制器的横向。因此,前端控制器成为整个存储性能的瓶颈。
2.不同厂家传统存储之间的差异性带来的管理问题
不同厂商设备的管理和使用方式各有不同,由于软硬件紧耦合、管理接口不统一等限制因素无法做到资源的统一管理和弹性调度,也会带来存储利用率较低的现象。因此,不同存储的存在影响了存储使用的便利性和利用率。
3.数据安全
传统存储采用RAID安全技术,RAID安全技术已经无法满足现有数据安全需求,且不能保障跨盘柜的数据安全。而且一旦硬盘或机柜损坏,等待维修时间较长,有些专用存储设备必须等厂家人员维修,不仅耗时而且成本较高。
4.信息孤岛
传统存储针对各个应用系统提供分散的存储解决方案,它们相互之间相互独立,毫无关联,不能实现数据的共享和互通。
5.存储扩容和数据迁移
传统存储多采用集中式专用存储设备,初次购买的机头就限制了存储的性能和容量,如果需要扩容,必须重新购买。一旦寿命将近,还面临大规模数据迁移工作,耗费管理人员大量精力,还有数据丢失的风险。
6.管理问题
分散的存储系统,同样给系统管理人员带来更大的管理难度和更多的工作量。
7.传统存储设备升级、维护成本高昂
EMC、NETAPP、IBM、华为等在传统存储时代是非常成功的产品,当然也有着不菲的价格,后期的升级、维护、配件更换的成本也一直被人诟病,客户也一直有一种被绑架的感觉,完全没有给予到消费者应有的自由选择权利。而且,传统存储的扩容受限于机头性能,无法实现线性的无限扩容,无法满足现有存储每年激增的需求。

分布式存储优势:

分布式存储往往采用分布式的系统结构,利用多台存储服务器分担存储负荷,利用元数据定位存储信息。它不但提高了系统的可靠性、可用性和存取效率,还易于扩展,将通用硬件引入的不稳定因素降到最低。优点如下:

1.高可靠性
分布式存储整个系统无任何的单点故障,数据安全和业务连续性得到保障。每个节点设备之间有专门的数据保护策略,可实现系统的设备级冗余,并且可在线更换损坏的硬盘或者节点设备。
采用副本模式对数据形成保护,数据在写入后会按需生成多份副本,并根据设置将数据主从副本存储在不同的硬盘、服务器、机柜、 机房中,以此保证在硬盘损坏、服务器损坏、机柜损坏、机房故障情况下,数据的安全性以及业务的连续性,支持用户数据按照设定的1到6副本进行冗余存储。布式存储系统可按需设置存储池的保护策略(数据副本数量)以及硬盘离线超时时间,最大可支持 6 副本。与传统存储 RAID 机制比较,数据副本策略可屏蔽由于硬盘损坏而造成的数据恢复缓慢、恢复过程中存储卷不可用、多块硬盘同时损坏的数据丢失风险,单点故障系统不会丢失数据,带来更高的数据安全。通过强一致性复制协议来保证数据多个副本的一致性。正常情况下保证每个副本上的数据都是完全一致的,从任意副本读到的数据都是相同的。如果系统中的某个硬盘出现短暂故障,存储系统会暂时不写这个硬盘上的数据,通过日志记录的方式,记录此硬盘上数据的变化,等硬盘恢复后通过日志信息恢复该硬盘上的数据,如果硬盘长时间或者永久故障,存储系统会将硬盘从存储系统中移除掉,并统计出此硬盘上所有数据的副本位置,将这些丢失数据恢复到其它服务器的硬盘中。
副本技术优势如下:
文件多副本同时写入物理硬盘后返回前端数据写入完成,可增强数据整 体安全性,避免由于机房断电造成的数据丢失。可自由设置硬盘离线超时时间,避免硬盘更换后的大量数据迁移,保证 业务系统的优先性。数据恢复效率高,可一小时内完成 4TB 硬盘的恢复。对于容量需求较大的应用我们采取纠删码的磁盘保护技术,EC(Erasure Coding,纠删码)技术是将一份数据切分成 N 块原始数据, 基于 N 块原始数据计算获得 M 块冗余数据,并将 N+M 块数据分别存放在存储 系统中的不同存储节点上,当其中任意M块数据(N+M 块数据中任意的M块数据)丢失时,存储系统可通过数据恢复算法将丢失的 M 块数据恢复,实现冗余和容错的目的。分布式存储系统支持 N+M 格式的纠删码,用户可根据需求自定义 N 和 M 的数量,N 代表原始数据块数量,M 代表在不发生数据丢失的前提下,存储系统所允许发生的同时故障的数据块数量,即同时故障的节点数量。
技术优势如下:
纠删码的存储空间利用率高,最高可达到 90%以上纠删码数据保护机制不对 N+M 做任何限制(服务器数量满足的情况下),可确保更高的存储得盘率和灵活度。
2.高性能
高性能,相比传统存储而言提供高出数倍的聚合IOPS和吞吐量,另外可以随着存储节点的扩容而线性的增长,每个存储节点都可以对外提供业务吞吐,专用的元数据模块可以提供非常快速精准的数据检索和定位,满足前端业务快速响应的需求;提供高性能的缓存技术,缓存管理基于SSD Cache 而非Cache Tier模式,可灵活定义每个HDD与SSD的缓存关系,精确到具体某一个SSD磁盘和对应的容量。提供KVM及XEN虚拟化平台的专用RBD高速存储接口,其中RBD能提供更为优异的低延迟、高IOPS带宽,确保虚拟化平台的高性能,对虚拟化架构的RBD接口进行优化设计,性能更高。
3.高可用
从控制层面、数据层面和访问层面提供高可用保障,确保没有单点故障,为iSCSI、FC传统企业接口设计了MPIO功能,为ISCSI提供VIP功能,提升数据链路可用性,当其中一条路径发生故障时,数据自动切换到另一条路径上,链路恢复时自动切换回来,切换过程中业务不感知存储的但路径故障。集群硬件异常时,或者进行硬件更换维护时,分布式存储进入recovery 状态,分布式存储能对Recovery IO进行控制,并制定策略,根据用户需求保证业务IO或Recovery IO正常进行。
4.高可扩展
得益于合理的分布式架构,分布式存储可预估并且弹性扩展计算、存储容量和性能。分布式存储的水平扩展有以下几个特性:
1) 节点扩展后,旧数据会自动迁移到新节点,实现负载均衡,避免单点过热的情况出现;
2) 水平扩展只需要将新节点和原有集群连接到同一网络,整个过程不会对业务造成影响;
3) 当节点被添加到集群,集群系统的整体容量和性能也随之线性扩展,此后新节点的资源就会被管理平台接管,被用于分配或者回收。
5.易扩展
系统可以支持在线无缝动态横向扩展,在采用冗余策略的情况下任何一个存储节点的上线和下线对前端的业务没有任何的影响,完全是透明的,并且系统在扩充新的存储节点后可以选择自动负载均衡,所有数据的压力均匀分配在各存储节点上。
可以支持在线扩容,不仅可以垂直纵向扩容,更换高性能磁盘或者大容量,来纵向提升性能和容量;还可以不断增加节点,线性提升集群性能和容量。分布式存储架构具有良好的可扩展性,支持超大容量的存储:扩容存储节点后不需要做大量的数据搬迁,系统可以快速达到负载均衡状态。灵活的扩容方式,可以独立扩容计算节点、硬盘、存储节点,或者同时进行扩容。机头、存储带宽和Cache都均匀分布到各个节点上,系统IOPS、吞吐量和Cache随着节点的扩容而线性增加。系统自动将每个卷的数据块打散存储在不同服务器的不同硬盘上,冷热不均的数据会均匀分布在不同的服务器上,不会出现集中的热点。扩容节点或者故障减容节点时,数据恢复重建算法保证了重建后系统中各节点负载的均衡性。
1.开放兼容
遵循软硬件解耦的基本原则,服务器可以采用任意品牌,兼容各种服务器品牌,采用硬件无关设计,对SSD、NVMe等硬盘全兼容,兼容主流RAID、HBA卡。底层支持主流Linux系统,RHEL、CentOS、中标麒麟等。支持VMware、Xen和Hyper等主流虚拟化技术,并支持OpenStack、CloudStack等云平台技术。
2.多应用接口
分布式存储可提供统一存储架构,在一套存储系统中实现按需提供块、文件和对象融合存储服务能力。块存储:提供RBD、SCSI、iSCSI以及FC标准接口,支持广泛的虚拟化平台和数据库应用,提供高性能、高扩展能力,满足基础设施、数据库以及开发测试等场景对SAN的需求;非结构化存储:提供CIFS、NFS、FTP、S3标准接口,以高性能、大规模横向扩展能为用户提供非结构化数据共享存储资源,应用于海量视频存储、备份归档等场景。
3.存储系统标准化
随着分布式存储的发展,存储行业的标准化进程也不断推进,分布式存储针对私有云虚拟化架构可采用行业标准接口(RBD Cinder)进行存储接入。在平台层面,通过将异构存储资源进行抽象化,将传统的存储设备级的操作封装成面向存储资源的操作,从而简化异构存储基础架构的操作,以实现存储资源的集中管理,并能够自动执行创建、变更、回收等整个存储生命周期流程。

你可能感兴趣的:(分布式存储与传统存储对比分析)