请问3PAR、BlueArc、EqualLogic、Exanet、Isilon、LeftHand、NetApp、ONStor、Panasas、Polyserve和SGI这些厂商所提供的存储方案有哪些共同之处呢?如果你的回答是这些厂商都通过不同的方式提供集群存储的话,那么恭喜你,答对了。与集群服务器类似,集群存储也有着很多不同的含义和实现方式,以满足各种不同的应用和商业需求。
作为一项已被广泛使用的技术,集群可提供按比例增加的服务器或存储资源的性能、容量、可靠性及可用性,突破了单机设备的种种限制。传统的存储系统由于受到其物理组成(如:磁盘驱动器的数量,所连接服务器的数量,内存大小和控制器性能)的限制,会造成很多功能上的局限 (如:支持文件系统的数量,快照或复制的数量等)。一旦遇到存储系统的瓶颈,就会不断地促使用户升级到更大的存储系统和添加更多的管理工具。
普通集群中可调整的特性包括:
- 性能(带宽、IOPS——每秒输入输出次数——等)可提高到满足大型顺序读或写操作,或者是对时间敏感(Time-sensitive)的随机读写面向事务型(transaction-oriented)处理。
- 可用性——消除单点故障,透明的故障转移(Failover)或自我修复(Self-healing)能力。
- 存储容量和服务的连接访问(FC、以太网和InfiniBand接口)。
- 可访问性(Accessibility)——包含块级(iSCSI、FC和InfiniBand)或NAS(NFS、CIFS或其它私有文件系统)和数据共享。
- 基于开放或私有的硬件和软件,使用紧密或松散的互联技术来实现完全不共享、部分共享或完全共享架构(Shared nothing, shared something or shared everything architectures)。
通过下表,我们看到了很多不同类型的集群存储方案,其中包括集群和并行文件系统、集群文件服务器、集群NAS、集群iSCSI和FC存储等。大多数的集群实现方式都满足了容量和可用性的需求。一些集群存储方案也支持通过控制吞吐量和I/O操作的方式来对性能进行调整,以达到简化使用和管理的目的。
集群存储的众多特征和例子
存储 |
块级集群(SAN FC/iSCSI) |
文件级集群(NAS) |
集群和并行文件系统 |
访问 |
iSCSI或FCP |
NFS,CIFS |
NFS,CIFS,HTTP或其他 |
特征 |
性能、容量或可用性可以升级 |
虚拟NAS服务器,性能可升级 |
基于主机软件或应用 |
适用环境 |
微软Exchange、SQL和其它基于敏感块的应用 |
普通的文件共享和相关的应用需求 |
可能需要专门的软件或合适的硬件,适用于对带宽需求大的应用 |
代表厂商 |
EqualLogic、LeftHand Networks、3PAR |
NetApp、ONStor、BlueArc |
Ibrix、PolyServe、Isilon、Verari、Panasas、Lustre、SGI、Crosswalk |
对于集群存储产品的实际能力的评估,主要通过其容量及性能伸缩的能力,可访问性(Accessibility,块或文件级)、可用性和使用的难易程度的几方面来考核。集群存储并非就是那些高不可攀的、联合HPC(High performance computing,高性能计算)环境一起使用的大型顺序带宽(Sequential bandwidth)或并行文件系统的代名词。多用途的集群存储支持传统的商业应用,如电子邮件、数据库和在线事务处理(OLTP)等。
任何等级的不同应用和环境都能从灵活的集群存储系统所提供的可伸缩性(包括性能、容量、可用性和模块性)和虚拟化特性中受益。例如,中小企业环境最初可以部署一个小型的多节点存储系统来满足专门的应用需求,而后随着企业的成长而不断增加系统的性能、容量和功能。
满足不同应用性能和服务的需求
消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的。集群方案可以有效防止单点故障的发生,其N+1冗余特性,以及部件的热插拔特性和自我诊断能力可保证在错误造成麻烦前就将其发现、隔离并排除。
还有一种具有N+1冗余架构的存储系统一直处于灰色地带,人们对其是否属于集群还存在争议。在N+1冗余架构模式中,存在两个或更多个(N个)主要I/O节点或控制器,也就是所谓的NAS头,和备用或故障转移节点。例如EMC的Celerra NSX和Pillar Axiom。是厂商的命名体系才使得这种N+1模式显得十分混乱,如将包含有双控制器的RAID阵列或双NAS头的方案称作提高可用性的集群。
一个集群就是一个Grid(网格)吗?这取决于你对Grid的定义。你把Grid看作是一项服务、架构还是基于硬件或软件的,跨越距离的其它能力呢。因此,对于怎样才算服务器和存储环境组成了一个Grid或集群这件事,存在着很多不同的厂商和行业定义和意见。虽然我已经在这个领域内工作了很多年,我发现我还经常在关于Grid的基本成分,数据采集与监控系统(Supervisory control and data acquisition ,SCADA)的讨论中迷失。因此对于Grid-cluster的讨论中就充满了变数。
各种集群存储方案中的不同之处包括:
- 节点彼此之间如何连接(松散地或紧密地连接,开放或私有);
- 节点间的I/O性能和负载平衡;
- 适当的硬件,开放,现有产品(off-the-shelf),或支持第三方服务器或存储;
- 文件共享,包含集群文件系统软件,基于主机的代理或驱动;
- 本地或远程的镜像或复制,及时点(Point-in-time)拷贝或快照;
- 具备虚拟化的存储模块增长,实现自动负载均衡;
- 性能自适应顺序读写或随机访问;
- 分布式锁管理(Distributed lock management)和集群特性一致
理解集群存储间不同的含义、类型和实现方式,将帮助你挑选最适合的方案。集群存储非常适合那些持续增长的所有规模的不同环境,实现即时供应(Just-in-time)存储,避免破坏性升级和增加管理的复杂性。