论文部分内容阅读
随着信息技术的迅猛发展,信息的重要性和价值不断地增长,因而对于存储系统的可靠性、可用性提出了更高的要求。目前,磁盘阵列已经成为构建大规模存储系统的基本组成单元,磁盘阵列控制器作为磁盘阵列的核心部件,它的性能直接决定磁盘阵列的整体性能。因此,设计和实现高可靠性、高可用性的磁盘阵列控制器成为了存储系统中研究的热点问题之一。采用在iSCSI(Internet Small Computer System Interface)双控制器各自内存中开辟一块内存区,一个物理页框构成一个Cache块。通过基树结构按逻辑块地址来组织Cache块,同时分别创建读写LRU(Least Recently Used)链表用于Cache的灵活调度。在内存中创建镜像缓存区用于保存对方控制器的写Cache内容。采用内核态的套接字接口实现镜像数据的同步传输。数据镜像策略主要考虑脏数据大小(空间局部性原理)和同一Cache块的更新频率(时间局部性原理),周期性进行基于数据大小和时间间隔的镜像同步。在SCS(ISmall Computer System Interface)中间层SCST(SCSI Target mid-level)的设备句柄级上,完成了设计和实现基于Cache块的数据镜像。通过镜像缓存,保证一个控制器失效后另外一个控制器仍拥有其副本数据,及时准确地接管工作,提高存储系统的可靠性。采用功能测试和性能测试完成双控制器磁盘阵列的测试。结果表明,在对磁盘阵列的I/O性能影响不大的情况下,可以保障某一控制器失效时能够有效保证脏数据不丢失,提高了存储系统的可靠性。