ISCSI双控制器存储系统缓存设计与实现
发布时间:2018-01-12 09:24
本文关键词:ISCSI双控制器存储系统缓存设计与实现 出处:《山东大学》2014年硕士论文 论文类型:学位论文
更多相关文章: ISCSI存储 双控制器 缓存 同步 可靠性
【摘要】:在云计算及大数据浪潮的推动下,互联网对数据存储系统的可靠性和性能提出了越来越高的需求。在存储领域,基于ISCSI的存储系统因为可以基于现有的IP网络架设而变得越来越流行。为了提供更高的可靠性,避免存储系统控制器单点故障造成服务中断,ISCSI双控制器存储系统成为中高端存储系统的标配。 目前ISCSI控制器CPU速度远远超过磁盘IO速度,磁盘IO瓶颈成为制约存储系统性能的关键。在控制器软件中引入缓存模块可以大大减少磁盘IO次数,提升性能;同时双控制器存储中,为避免控制器故障造成的缓存数据丢失和服务中断,必须维护两个控制器中缓存数据的一致性。 本文通过分析ISCSI控制器软件没有缓存不足支持,在存储控制软件中设计并实现了独立缓存模块,面向双控制器实现了缓存同步模块。当主控制器对缓存作出更新后,会实时同步到从控制器缓存中作为备份,保证了主控制器故障时,缓存数据不会丢失。缓存模块位于独立内存空间中,采用哈希表进行快速匹配,缓存替换算法采用最近最少使用策略(LRU),基于双向循环链表组织缓存块,每个缓存块包含8个连续磁盘扇区数据。缓存同步使用高速通道作为数据链路,当向主控制器缓存写入数据时,必须同时写入从控制器缓存才能返回。配合心跳模块,实时监测两个控制器的工作状态,一旦主控发生故障,则通知从控制器接管,保证服务的持续性。 在控制器软件ISCSI Enterprise Target的基础上,在Linux内核层设计并实现了缓存系统的各功能模块,作为ISCSI控制器驱动的一部分,并采用内核多线程工作方式提升性能。缓存的实现遵循模块化和层次化设计,进行了性能优化,提供了良好的可移植性。采用Iometer测试带有缓存模块的ISCSI存储服务器,测试结果表明缓存系统能够满足存储性能和功能需求。
[Abstract]:Driven by the cloud computing and big data wave, the Internet has put forward more and more high demand for the reliability and performance of the data storage system. The storage system based on ISCSI has become more and more popular because it can be set up based on the existing IP network. In order to provide higher reliability, the single point failure of the storage system controller can avoid the interruption of service. ISCSI dual-controller storage system has become the standard of mid-high-end storage system. Currently, the CPU speed of the ISCSI controller is much faster than the disk IO speed. The bottleneck of disk IO becomes the key to restrict the performance of storage system. The introduction of buffer module in controller software can greatly reduce the number of disk IO and improve performance. At the same time, in order to avoid the loss of cached data and the interruption of service caused by the failure of the controller, the consistency of the cached data in the two controllers must be maintained. In this paper, we design and implement the independent cache module in the storage control software by analyzing that the ISCSI controller software does not have insufficient cache support. When the main controller updates the cache, it will synchronize to the slave controller cache as a backup in real time, which ensures the main controller failure. The cache module is located in a separate memory space and uses a hash table for fast matching and a cache replacement algorithm using the least recent use strategy (LRUU). A cache block is organized based on a bidirectional circular linked list, each of which contains eight consecutive disk sector data.; the cache synchronizes using a high-speed channel as a data link when data is cached to the main controller. The heartbeat module can be used to monitor the working status of the two controllers in real time. Once the main controller fails, the controller must be notified to take over from the controller to ensure the continuity of the service. Based on the controller software ISCSI Enterprise Target, every function module of the buffer system is designed and implemented in the Linux kernel layer. As a part of the driver of ISCSI controller and using multi-thread kernel to improve performance, the implementation of cache follows modular and hierarchical design, and the performance is optimized. Iometer is used to test the ISCSI storage server with cache module. The test results show that the cache system can meet the storage performance and functional requirements.
【学位授予单位】:山东大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP333
【参考文献】
相关期刊论文 前1条
1 肖建田;龚向坚;伍大清;;一种高可用的自适应双控制器心跳设计[J];现代计算机(专业版);2011年28期
,本文编号:1413653
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1413653.html