Font Size: a A A

ISCSI Based Dual-Controller Storage System Cache Design And Implementation

Posted on:2015-03-24Degree:MasterType:Thesis
Country:ChinaCandidate:C S WuFull Text:PDF
GTID:2268330431956341Subject:Computer technology
Abstract/Summary:PDF Full Text Request
Driven by the cloud computing and big data wave, the demands on the reliability and performance of data storage systems needed by the Internet and information systems are increasingly growing. In the storage area, ISCSI based storage systems are becoming popular since it can be setted up on the existing IP network. Dual-Controller ISCSI based storage system provides the hardware level redundant relative to Single-Controller storage system, so it has higher stability and reliability. Dual-Controller storage system can avoid service disruptions caused by storage controller single points of failure.Currently, the CPU of the controller is much faster than disk, so the disk IO bottleneck restricts the performance of storage system. To greatly reducing the number of disk IO, the cache module could be introduced to ISCSI target controller software. But the cache data exits in memory, once the controller encounters breakdown, the cache data will be lost. So in Dual-Controller storage system, to avoiding cache data lost and service interruption, the consistency of cache data between two controller must be maintained.This paper designs and implements an independent cache module in the ISCSI storage controller software. Moreover, the cache module supports Dual-Controller storage system, when active controller updates the cache data, it will be synchronized to standby controller’s cache. The cache data exits in a independent physical memory, using HashTable to achieve quick match and adopting the least recently used policy(LRU) as cache replacement algorithm. Every cache block hash eight continuous disk sector. Under Dual-Controller storage system, when cache data is updated in one controller, it must be synchronized to another controller’s cache immediately.Based on ISCSI Enterprise Target, we implemented the cache module for ISCSI controller software under the Linux kernel as part of the ISCSI kernel driver. The cache module is implemented following a modular and hierarchical design, is optimized for performance and provides a well portability. We use Iometer testing the ISCSI storage server with our cache module, the results show that the cache module can satisfy the performance and functional requirements and works well.
Keywords/Search Tags:ISCSI, Storage system, Cache, Dual-Controller
PDF Full Text Request
Related items