一种支持SAN远程镜像的分布式存储集群的设计
Distributed Storage Cluster Design for Remote Mirroring Based on Storage Area Network
-
摘要: 随着网络数据量的日益膨胀,海量数据存储已成为了网络发展迫切需要解决的问题。网络存储设备提供信息系统的信息存取和共享服务,是一种利于信息整合与数据共享、且易于管理的安全的新型存储结构和技术。网络存储采用了面向网络的存储结构,它使数据处理和数据存储分离,具有灵活的寻址能力,远距离的传输能力和I/O高效的原性能、用户高共享性等特点,是一个全新的存储体系结构。尤其随着存储区域网络的出现,其超大容量、超高速的数据传输率和高系统可用性成为了网络存储的典型特征。而随着网络存储的继续深入,数据的安全存储被提高到了一个前所未有的高度,并且已经成为评价一个系统高可用性的一个主要方面。通常提高数据可用性的方法有如下几种:备份,镜像。从本质上来说,备份和镜像提供的都是数据复制的功能,两者的本质区别在于备份通常采用低价的磁带设备实现,更多的情况是一种基于应用、离线的异步数据复制方式。镜像提供的则是一种完全在线的数据完全复制方式。由于镜像比备份具有更高的实时特性,在未来的存储网络中将会得到更广泛的应用。如何在实现镜像的同时,降低数据镜像所引起的存储延迟,成为了存储业界的新挑战。针对上述系统的不足,本文提出并实现了一种基于统一存储的镜像方式。该系统基于一个自行开发的FC-SAN系统,TH-MSNS(TsingHua University Mass Storage Network System),采用双存储节点Cluster的二级存储方法,实现了一种完全Server Free的同步远程镜像。该方法充分利用了FC-SAN系统的统一存储的特点,镜像过程完全对主机系统进行屏蔽,不占用主机集群的任何资源,只引入了很小的镜像写延迟。同时采用双节点集群的二级结构提供镜像,充分利用了I/O节点的软件控制特性,能够在任一节点失败时继续提供数据服务,并且提供了系统重建后的后台数据重新同步机制,即灾难恢复功能。该镜像方式的实现,将TH-MSNS真正提到了数据高可用的高度上。与同类的数据复制系统比较,本文的设计有如下特点:(1)实现了基于统一存储的镜像,镜像过程完全对主机系统进行屏蔽,是一种服务器无关的镜像方式,即镜像过程不使用主机集群的任何资源;(2)采用双节点集群的二级结构提供镜像,充分利用了I/O节点的软件控制特性,能够在任一节点失败时继续提供数据服务,并且提供了系统重建后的后台数据重新同步机制,即灾难恢复功能;(3)所有软件均在操作系统的核心态运行,通过内核模块实现,减少了用户态和核心态的内存拷贝,提高了效率;(4) 满足数据镜像的要求,双节点集群连接简单,便于进行扩充。基于光纤网络,本文还对相距25千米的异地同步镜像作了性能测试,测试结果表明即使在高写入的负载下,同步镜像所引入的性能损失在2%以内。测试结果表明,同步镜像并不会成为该镜像集群的瓶颈。Abstract: With the explosion ofinformation nowadays, applying data storage safety requirements hasbecome a new challenge, especially in high data available clusterenvironments. With the emergence of Storage Area Networks (SANs),storage can be network-based and consolidated, and mass datamovements via Fiber Channels (FCs) can be of very high speed. Basedon these features, this paper introduces a dual-node storage clusterdesigned for remote mirroring as a concurrent data replicationmethod to protect data during system failures. This design takesfull advantage of a SAN system's benefits, and it adopts asynchronous protocol to guarantee a fully up-to-date data copy onthe remote site. By developing a Linux kernel module to control theI/O flow and by using the technologies of software Logic UnitNumber (LUN) masking, background online resynchronization and aself-management daemon, we have achieved a reliable mirroring systemwith the characteristics of server-free data replication, faulttolerance, online disaster recovery and high performance. In thisstudy, we implemented the design in a remote mirror subsystem builton a software Fiber Channel Storage Area Network (FC-SAN) system.