标题：cStor云存储
简介
cStor云存储系统是南京云创存储科技有限公司自主研发的高科技产品，整套系统包括分布式存储软件和硬件系统，与传统的大规模存储系统相比，cStor针对绝大多数数据密集型应用的特点从多个方面进行了优化，具有高性能、低成本、高可靠、高可伸缩、易用、通用等鲜明特点。  cStor云存储架构图[1][2]
目前cStor云存储系统已经广泛应用于数字地球、互联网空间、视频点播、视频监控、高清影视节目分发、动漫渲染、数字图书馆等领域，在单一工程中的配置达到250TB。两年多来，在众多工程中，cStor表现非常稳定，从未出现故障。
cStor云存储系统可以独立运行于客户的通用计算机硬件上。 cStor云存储系统凭着超低的价格、优异的性能、高度可靠、绿色节能、无限容量、在线自动伸缩、易用通用等诸多压倒性优势，获得了广电、安防、刑侦、政务、交通、动漫等各行业用户青睐，产品代理和销售商已发展到数十家。
软件特点
cStor云存储系统是一款软件与硬件相结合的高科技系统产品，与国际上知名的云存储技术相比，具有极高性价比、超低功耗、高可靠、通用、免维护等优势，可广泛应用于有大量数据存储需求的场合（如安防、广电、电信、互联网、银行等领域）。功耗方面，cStor云存储系统每个节点几瓦的功率与业界典型值200瓦形成了鲜明的对比；存储方面，每个标准机架的最高容量可达1024TB以上，是国际先进水平的3倍；成本方面，硬件与运营成本均只有同类产品的几分之一。
软件特性
cStor云存储有以下几大性能：优异性能cStor云存储系统支持高并发、带宽饱和利用。cStor云存储系统将控制流和数据流分离，数据访问时多个存储服务器同时对外提供服务，实现高并发访问。自动均衡负载，将不同客户端的访问负载均衡到不同的存储服务器上。系统性能随节点规模的增加呈线性增长。系统的规模越大，云存储系统的优势越明显, 没有性能瓶颈。高度可靠cStor云存储系统针对小文件采用多个数据块副本的方式实现冗余可靠，数据在不同的存储节点上具有多个块副本，任意节点发生故障，系统将自动复制数据块副本到新的存储节点上，数据不丢失，实现数据完整可靠；针对大文件采用超安存（S3）编解码算法的方式实现高度可靠，任意同时损坏多个存储节点，数据可通过超安存算法解码自动恢复。该特性可适用于对数据安全级别极高的场合，同时相对于副本冗余的可靠性实现方式大大提高了磁盘空间利用率，不到40%的磁盘冗余即可实现任意同时损坏三个存储节点而不丢失数据。元数据管理节点采用双机镜像热备份的高可用方式容错，其中一台服务器故障，可无缝自动切换到另一台服务器，服务不间断。整个系统无单点故障，硬件故障自动屏蔽。在线伸缩cStor云存储系统可以在不停止服务的情况下，动态加入新的存储节点，无需任何操作，即可实现系统容量从TB级向PB级平滑扩展；也可以摘下任意节点，系统自动缩小规模而不丢失数据，并自动将再下的节点上的数据备份到其他节点上，保证整个系统数据的冗余数。超大规模cStor云存储系统支持超大规模集群，理论容量为1024×1024×1024PB。简单通用cStor云存储系统支持POSIX接口规范，支持Windows/Linux/Mac OS X，用户当成海量磁盘使用，无需修改应用。同时系统也对外提供专用的API访问接口。智能管理cStor云存储系统一键式安装，智能化自适应管理，简单方便的监控界面，无需学习即可使用。　cStor云存储系统所有管理工作由云存储系统管理监控中心完成，使用人员无需任何专业知识便可以轻松地管理整个系统。通过专业的分布式集群监控子系统对cStor所有节点实行无间断监控，用户通过界面可以清楚地了解到每一个节点的运行情况。超低价格cStor云存储系统基于廉价的存储节点，通过cStor云存储虚拟化软件实现统一管理和容错，提供高效稳定的存储服务，是传统SAN系统价格的1/5到1/10。
关键技术
中心服务器模式
cStor 采用中心服务器模式来管理整个文件系统，可以大大简化设计，从而降低实现难度。
Master 管理了分布式文件系统中的所有元数据。文件划分为Chunk 进行存储，对于Master 来说，每个Chunk Server 只是一个存储空间。Client 发起的所有操作都需要先通过Master 才能执行。这样做有许多好处，增加新的Chunk Server是一件十分容易的事情，Chunk Server只需要注册到Master上即可，Chunk Server之间无任何关系。如果采用完全对等的、无中心的模式，那么如何将Chunk Server的更新信息通知到每一个Chunk Server，会是设计的一个难点，而这也将在一定程度上影响系统的扩展性。Master维护了一个统一的命名空间，同时掌握整个系统内Chunk Server的情况，据此可以实现整个系统范围内数据存储的负载均衡。由于只有一个中心服务器，元数据的一致性问题自然解决。当然，中心服务器模式也带来一些固有的缺点，比如极易成为整个系统的瓶颈等。cStor采用多种机制来避免Master成为系统性能和可靠性上的瓶颈，如尽量控制元数据的规模、对Master进行远程备份、控制信息和数据分流等。
元数据缓存
缓存（Cache）机制是提升文件系统性能的一个重要手段，通用文件系统为了提高性能，一般需要实现复杂的缓存机制。cStor文件系统根据应用的特点，没有实现缓存，这是从必要性和可行性两方面考虑的。从必要性上讲，客户端大部分是流式顺序读写，并不存在大量的重复读写，缓存这部分数据对系统整体性能的提高作用不大；而对于Chunk Server，由于cStor的数据在Chunk Server上以文件的形式存储，如果对某块数据读取频繁，本地的文件系统自然会将其缓存。从可行性上讲，如何维护缓存与实际数据之间的一致性是一个极其复杂的问题，在cStor中各个Chunk Server的稳定性都无法确保，加之网络等多种不确定因素，一致性问题尤为复杂。此外由于读取的数据量巨大，以当前的内存容量无法完全缓存。对于存储在Master中的元数据，cStor采取了缓存策略，cStor中Client发起的所有操作都需要先经过Master。Master需要对其元数据进行频繁操作，为了提高操作的效率，Master的元数据都是直接保存在内存中进行操作。同时采用相应的压缩机制降低元数据占用空间的大小，提高内存的利用率。
元数据可靠性保证
首先就单个Master来说，对于前两种元数据，cStor通过操作日志来提供容错功能。第三种元数据信息则直接保存在各个Chunk Server上，当Master启动或Chunk Server向Master注册时自动生成。因此当Master发生故障时，在磁盘数据保存完好的情况下，可以迅速恢复以上元数据。为了防止Master彻底死机的情况，采用的双机镜像热备份的方式，一台元数据服务器异常可快速切换到另一台备用元数据服务器，正常对外提供服务。
不间断服务保证
cStor还提供了Master远程的实时备份，这样在当前的Master出现故障无法工作的时候，另外一台Master可以迅速接替其工作。系统增减节点不必停止服务，可在线增减存储节点，存储节点和元数据节点间通过注册管理机制自适应管理，实现自动伸缩。
数据可靠性保证
cStor采用副本的方式实现Chunk Server的容错。每一个Chunk有多个存储副本（默认为三个），分布存储在不同的Chunk Server上。副本的分布策略需要考虑多种因素，如网络的拓扑、机架的分布、磁盘的利用率等。对于每一个Chunk，必须将所有的副本全部写入成功，才视为成功写入。在其后的过程中，如果相关的副本出现丢失或不可恢复等状况，Master会自动将该副本复制到其他Chunk Server，从而确保副本保持一定的个数。尽管一份数据需要存储三份，好像磁盘空间的利用率不高，但综合比较多种因素，加之磁盘的成本不断下降，采用副本无疑是最简单、最可靠、最有效，而且实现的难度也最小的一种方法。
N+M高顽存容灾可靠性保证
采用8+3高顽存容错编码技术实现在低冗余的情况下，实现数据的高可靠不丢失，任意损坏三个存储节点，数据依然完整可靠，只需37.5%磁盘冗余。
海量数据容量实现
考虑大容量数据存储时文件数量多，元数据容量大的问题，系统将元数据进行分布式存储，采用多个元数据管理节点进行元数据管理，实现无限容量支撑。
技术规格
cStor云存储系统根据不同应用对象的应用需求以及对系统配置的要求分成三种技术规格，详细说明如下。经济配置cStor云存储系统主要是采用千兆网络环境，可以满足目前大多数常规应用环境要求。标准配置cStor云存储系统采用万兆网络环境，主要应用于一般的对读数据的存储和处理的环境，如广电等部门。高性能配置cStor云存储系统采用InfiniBand交换网络，主要解决对网络速度有特殊要求，并且数据的读写和处理有异常高的速度要求的应用环境。