论文部分内容阅读
在大数据时代,数据的重要性日渐凸显。为用户提供高速、稳定、可靠数据存储服务的双控制器盘阵列设备已经成为重要的存储单元,且被广泛应用于各种数据中心。在实际应用中,采用Linux系统提供的软阵列(Multiple-Devices Driver,简称MD)构建的双控制器盘阵列系统工作在双活模式时,由于MD内部采用了条带缓存,当双控制器并发对同一条带进行读写操作时会产生数据/校验不一致的问题。针对该问题,设计并实现了一种维护双控制盘阵列双活工作模式下数据一致性的保障策略,为阵列设备数据一致性提供保障。该策略将整个阵列存储空间按一定粒度划分成逻辑块,双控制器之间采用请求-应答的方式来协商逻辑块操作权限,当某一控制器需要对无操作权限的逻辑块进行操作时,向另一控制器发起请求以获取该逻辑块操作权限,被请求的控制器在完成该逻辑块内当前所有读写操作后移交操作权限至请求方,并由请求方拥有且维持到下一次该逻辑块操作权限被另一控制器请求为止。此外,为降低双控制器因逻辑块操作权限请求交互对I/O(Input/Output)性能的影响,设计实现了双控制器盘阵列信息交互模块,使其为双控制器提供快速通信、系统状态监测与故障处理等必备功能。实验表明,该策略实现了双控制盘阵列于双活工作模式下数据一致性的保障,且带来的磁盘阵列读写性能损失约为4%,在可接受的范围之内。