一、存储方式比较
传统网络存储系统采用集中式存储服务器存放数据,存储服务器很容易成为系统性能瓶颈。不能满足大规模存储应用的需求。
分布式存储系统将数据分散存储在多台独立的设备上,采用可扩展的系统结构。利用多台存储服务器分担存储负荷。满足大规模存储需求的同时提供更高的读取速度。
二、分布式系统存储的原理
分布式系统的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务。尤其是高并发或者大数据量的任务。
三、分布式系统部署
分布式系统部署时,系统会首先将物理硬盘上的空间切分成小块。再将不同硬盘上的这些小块组合起来成为不同的分区。系统中相同冗余配比分区的集合组成了一个DHT环。
四、分布式系统的应用
写入数据时,分布式系统会将一个数据切分成固定大小的数据分片,如果是副本方式存储,系统会为每个分片生成多个副本。并将分片写入DHT环的一个分区。如果是数据分布式存储,系统将分片切分为条带,并根据冗余配比生成校验数据。然后将条带和校验数据一起写入DHT环的一个分区。
数据读取时,被访问的存储节点寻址到相应的分区读取数据,并聚合这些数据为完整的文件。返回给应用服务器。
五、分布式系统的扩展性
分布式系统强调横向可扩展性,即Scale-out。通过增加服务器数量来提升集群整体性能。系统扩展了新硬件,新增节点上的硬盘增加到现有分区。原有服务器上的数据迁移到新扩容节点上,实现数据自动均衡。同时,系统增加了并发访问的节点,容量和性能线性扩展。
六、分布式系统的异常处理
由于每个硬盘同时归属于多个分区,当硬盘或者节点损坏时,受损的数据会选择不同的节点和硬盘作为重构目标并发地执行重构。系统会自动重构已写入的数据。
华为存储将分布式架构应用于OceanStor 9000和FusionStorage两款产品。OceanStor 9000在分布式架构基础上实现了文件和对象在一套系统内同时存储。数据采用数据分布方式存储,元数据采用副本方式存储。FusionStorage在支持文件个对象同时存储的基础上进一步融合了分布式块。实现了文件、对象、块的融合存储。文件和对象数据采用数据分布式存储,元数据和块数据采用副本方式存储,