一种磁盘处理方法、系统及电子设备转让专利

申请号 : CN202210583933.2

文献号 : CN114675791B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏本帅

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本申请提供一种磁盘处理方法、系统及电子设备:监测到磁盘告警信息时,标记对应的告警磁盘为故障磁盘;检测故障磁盘对应的磁盘组的状态;若磁盘组状态为降级,标记故障磁盘为隔离磁盘并生成报警信息;若磁盘组状态为健康,则判断是否存在冗余磁盘组;若不存在冗余磁盘组,则根据第一预设规则对故障磁盘进行操作并生成报警信息;若存在冗余磁盘组,检测冗余磁盘组状态,若冗余磁盘组状态为健康,则标记故障磁盘为隔离磁盘并生成报警信息,否则根据第二预设规则对故障磁盘进行操作并生成报警信息。通过对告警磁盘有选择的进行隔离,避免告警磁盘后续出现故障造成影响,提高一体机读写性能的稳定性;保证数据的安全性及连续性,消除数据丢失风险。

权利要求 :

1.一种磁盘处理方法,其特征在于,所述方法包括:根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘;

检测所述故障磁盘对应的磁盘组的状态,所述状态包括降级状态和健康状态;

若所述磁盘组的状态为降级状态,则标记所述故障磁盘为隔离磁盘并生成报警信息;

若所述磁盘组的状态为健康状态,则继续判断所述磁盘组是否存在冗余磁盘组;

若所述磁盘组不存在冗余磁盘组,则根据第一预设规则对所述故障磁盘进行操作并生成报警信息;

若所述磁盘组存在冗余磁盘组,检测所述冗余磁盘组的状态,若所述冗余磁盘组的状态为健康状态,则标记所述故障磁盘为隔离磁盘并生成报警信息,否则判断是否存在与故障磁盘一致的副本磁盘,并在不存在时根据第二预设规则对所述故障磁盘进行操作并生成报警信息;

其中,所述根据第一预设规则,对所述故障磁盘进行操作并生成报警信息,包括:根据所述磁盘组的除所述故障磁盘外的所有磁盘的剩余容量确定第一剩余容量;

比较所述第一剩余容量与所述故障磁盘对应的已使用容量;

若所述第一剩余容量小于所述已使用容量,则直接生成报警信息;

若所述第一剩余容量大于或等于所述已使用容量,则对所述故障磁盘进行数据迁移;

若所述数据迁移成功,则标记所述故障磁盘为隔离磁盘并生成报警信息;

若所述数据迁移不成功,则直接生成报警信息;

其中,所述判断是否存在与故障磁盘一致的副本磁盘,并在不存在时根据第二预设规则对所述故障磁盘进行操作并生成报警信息,包括:比较所述故障磁盘中的原始数据块与所述冗余磁盘组中的副本磁盘的副本数据块;

若所述原始数据块与所述副本数据块一致,则隔离所述故障磁盘并生成报警信息;

若所述原始数据块与所述副本数据块不一致,则根据所述冗余磁盘组的剩余容量确定第二剩余容量并比较所述第二剩余容量与所述已使用容量;

若所述第二剩余容量小于所述已使用容量,则直接生成报警信息;

若所述第二剩余容量大于或等于所述已使用容量,则对所述故障磁盘进行所述数据迁移;

若所述数据迁移成功,则标记所述故障磁盘为隔离磁盘并生成报警信息;

若所述数据迁移不成功,则直接生成报警信息。

2.根据权利要求1所述的方法,其特征在于,所述对所述故障磁盘进行数据迁移,包括:在所述磁盘组不存在冗余磁盘组时,将所述原始数据块迁移到所述磁盘组中的第一目标磁盘;

在所述磁盘组存在冗余磁盘组时,将所述原始数据块迁移到所述冗余磁盘组中的第二目标磁盘;

记录所述原始数据块的迁移后的最新物理地址并保存在内存。

3.根据权利要求2所述的方法,其特征在于,所述对所述故障磁盘进行数据迁移,还包括:所述数据迁移时若所述原始数据块发生写操作,则将所述写操作对应的修改内容缓存在内存中;

所述数据迁移成功后,根据所述最新物理地址将所述修改内容写入所述第一目标磁盘或第二目标磁盘。

4.根据权利要求2所述的方法,其特征在于,所述数据迁移成功的判断过程,包括:比较所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数;

若所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数一致,则表明数据迁移成功;

若所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数不一致,则表明数据迁移不成功;

其中,所述数据块参数包括数据块数量、数据块头信息以及数据块健康状态。

5.根据权利要求4所述的方法,其特征在于,所述根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘,还包括:监测各个物理节点主机的系统告警信息并检索所述系统告警信息中是否存在所述磁盘告警信息;

若存在所述磁盘告警信息,则记录所述告警磁盘的盘符和主机IP地址;

根据所述主机IP地址定位并调用主机,记录告警磁盘信息,所述告警磁盘信息包括告警磁盘盘符、告警磁盘序列号、告警磁盘物理槽位。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:根据所述告警磁盘信息定位到所述隔离磁盘的物理位置;

基于所述物理位置,退除所述隔离磁盘并添加新磁盘;

读取所述新磁盘序列号,若所述新磁盘序列号与已记录的所述告警磁盘序列号一致,则生成故障盘提示;

若所述新磁盘序列号与已记录的所述告警磁盘序列号不一致,则生成添加成功提示。

7.一种磁盘处理系统,其特征在于,所述系统包括:监测模块,用于根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘;

验证模块,用于检测所述故障磁盘对应的磁盘组的状态,所述状态包括降级状态和健康状态;

隔离报警模块,用于在所述磁盘组的状态为降级状态时,标记所述故障磁盘为隔离磁盘并生成报警信息;

所述验证模块,还用于在所述磁盘组的状态为健康状态时,继续判断所述磁盘组是否存在冗余磁盘组;

所述隔离报警模块,还用于在所述磁盘组不存在冗余磁盘组时,根据第一预设规则对所述故障磁盘进行操作并生成报警信息;

所述验证模块,还用于在所述磁盘组存在冗余磁盘组时,检测所述冗余磁盘组的状态;

所述隔离报警模块,还用于在所述冗余磁盘组的状态为健康状态时,标记所述故障磁盘为隔离磁盘并生成报警信息,否则根据第二预设规则对所述故障磁盘进行操作并生成报警信息;

其中,所述隔离报警模块还用于根据所述磁盘组的除所述故障磁盘外的所有磁盘的剩余容量确定第一剩余容量;

所述隔离报警模块还用于比较所述第一剩余容量与所述故障磁盘对应的已使用容量;

所述隔离报警模块还用于在所述第一剩余容量小于所述已使用容量时,直接生成报警信息;

所述隔离报警模块还用于在所述第一剩余容量大于或等于所述已使用容量时,对所述故障磁盘进行数据迁移;

所述隔离报警模块还用于在所述数据迁移成功时,标记所述故障磁盘为隔离磁盘并生成报警信息;

所述隔离报警模块还用于在所述数据迁移不成功时,直接生成报警信息;

其中,所述隔离报警模块还用于比较所述故障磁盘中的原始数据块与所述冗余磁盘组中的副本磁盘的副本数据块;

所述隔离报警模块还用于在所述原始数据块与所述副本数据块一致时,隔离所述故障磁盘并生成报警信息;

所述隔离报警模块还用于在所述原始数据块与所述副本数据块不一致时,根据所述冗余磁盘组的剩余容量确定第二剩余容量并比较所述第二剩余容量与所述已使用容量;

所述隔离报警模块还用于在所述第二剩余容量小于所述已使用容量时,直接生成报警信息;

所述隔离报警模块还用于在所述第二剩余容量大于或等于所述已使用容量时,对所述故障磁盘进行所述数据迁移;

所述隔离报警模块还用于在所述数据迁移成功时,标记所述故障磁盘为隔离磁盘并生成报警信息;

所述隔离报警模块还用于在所述数据迁移不成功,直接生成报警信息。

8.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;

以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行权利要求1‑6任一所述方法。

说明书 :

一种磁盘处理方法、系统及电子设备

技术领域

[0001] 本发明涉及存储技术领域,特别涉及一种磁盘处理方法、系统及电子设备。

背景技术

[0002] 云计算技术中的虚拟化技术,目前发展尤为快速,面对此发展机遇,浪潮推出超融合一体机;其上部署InCloud Rail虚拟化系统即HCI系统,通过对底层物理资源的融合、分配与管理,将静态、复杂的IT环境转变为更动态、易于管理的虚拟数据中心,提高了资源交付的敏捷性、灵活性和资源的使用效率,帮助企业创建高性能、可扩展、可管理、灵活的服务器虚拟化基础架构,提供优质的虚拟数据中心服务。
[0003] 而超融合一体机对读写IO要求非常严格,其中磁盘又是读写IO的关键部件。所以要保障超融合一体机的读写保持连续性,需要确保单个硬盘存在故障或存在潜在故障时,超融合一体机仍然能够正常工作。当前阶段,磁盘存在故障或潜在故障时,超融合一体机不能及时感知并发出告警,同时无法对故障或潜在故障盘进行隔离,不能进行有效分析和数据保护,从而在真正发生故障时导致超融合一体机不能正常读写操作,即使存在冗余磁盘组,也可能造成数据丢失,甚至一体机系统崩溃的情况发生。
[0004] 因此,亟需一种能够提高超融合一体机安全性的磁盘处理方法,以解决现有技术的上述技术问题。

发明内容

[0005] 为了解决现有技术的不足,本发明的主要目的在于提供一种磁盘处理方法、系统及电子设备,以解决现有技术的上述技术问题。
[0006] 为了达到上述目的,第一方面本发明提供了一种磁盘处理方法,所述方法包括:
[0007] 根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘;
[0008] 检测所述故障磁盘对应的磁盘组的状态,所述状态包括降级状态和健康状态;
[0009] 若所述磁盘组的状态为降级状态,则标记所述故障磁盘为隔离磁盘并生成报警信息;
[0010] 若所述磁盘组的状态为健康状态,则继续判断所述磁盘组是否存在冗余磁盘组;
[0011] 若所述磁盘组不存在冗余磁盘组,则根据第一预设规则对所述故障磁盘进行操作并生成报警信息;
[0012] 若所述磁盘组存在冗余磁盘组,检测所述冗余磁盘组的状态,若所述冗余磁盘组的状态为健康状态,则标记所述故障磁盘为隔离磁盘并生成报警信息,否则根据第二预设规则对所述故障磁盘进行操作并生成报警信息。
[0013] 在一些实施例中,所述根据第一预设规则,对所述故障磁盘进行操作并生成报警信息,包括:
[0014] 根据所述磁盘组的除所述故障磁盘外的所有磁盘的剩余容量确定第一剩余容量;
[0015] 比较所述第一剩余容量与所述故障硬盘对应的已使用容量;
[0016] 若所述第一剩余容量小于所述已使用容量,则直接生成报警信息;
[0017] 若所述第一剩余容量大于或等于所述已使用容量,则对所述故障硬盘进行数据迁移;
[0018] 若所述数据迁移成功,则标记所述故障硬盘为隔离磁盘并生成报警信息;
[0019] 若所述数据迁移不成功,则直接生成报警信息。
[0020] 在一些实施例中,所述根据第二预设规则对所述故障磁盘进行操作并生成报警信息,包括:
[0021] 比较所述故障磁盘中的原始数据块与所述冗余磁盘组中的副本磁盘的副本数据块;
[0022] 若所述原始数据块与所述副本数据块一致,则隔离所述故障硬盘并生成报警信息;
[0023] 若所述原始数据块与所述副本数据块不一致,则根据所述冗余磁盘组的剩余容量确定第二剩余容量并比较所述第二剩余容量与所述已使用容量;
[0024] 若所述第二剩余容量小于所述已使用容量,则直接生成报警信息;
[0025] 若所述第二剩余容量大于或等于所述已使用容量,则对所述故障硬盘进行所述数据迁移;
[0026] 若所述数据迁移成功,则标记所述故障硬盘为隔离磁盘并生成报警信息;
[0027] 若所述数据迁移不成功,则直接生成报警信息。
[0028] 在一些实施例中,所述对所述故障硬盘进行数据迁移,包括:
[0029] 在所述磁盘组不存在冗余磁盘组时,将所述原始数据块迁移到所述磁盘组中的第一目标磁盘;
[0030] 在所述磁盘组存在冗余磁盘组时,将所述原始数据块迁移到所述冗余磁盘组中的第二目标磁盘;
[0031] 记录所述原始数据块的迁移后的最新物理地址并保存在内存。
[0032] 在一些实施例中,所述对所述故障硬盘进行数据迁移,还包括
[0033] 所述数据迁移时若所述原始数据块发生写操作,则将所述写操作对应的修改内容缓存在内存中;
[0034] 所述数据迁移成功后,根据所述最新物理地址将所述修改内容写入所述第一目标磁盘或第二目标磁盘。
[0035] 在一些实施例中,所述数据迁移成功的判断过程,包括:
[0036] 比较所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数;
[0037] 若所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数一致,则表明数据迁移成功;
[0038] 若所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数不一致,则表明数据迁移不成功;
[0039] 其中,所述数据块参数包括数据块数量、数据块头信息以及数据块健康状态。
[0040] 在一些实施例中,所述根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘,还包括:
[0041] 监测各个物理节点主机的系统告警信息并检索所述系统告警信息中是否存在所述磁盘告警信息;
[0042] 若存在所述磁盘告警信息,则记录所述告警磁盘的盘符和主机IP地址;
[0043] 根据所述主机IP地址定位并调用主机,记录告警磁盘信息,所述告警磁盘信息包括告警磁盘盘符、告警磁盘序列号、告警磁盘物理槽位。
[0044] 在一些实施例中,所述方法还包括:
[0045] 根据所述告警磁盘信息定位到所述隔离磁盘的物理位置;
[0046] 基于所述物理位置,退除所述隔离磁盘并添加新磁盘;
[0047] 读取所述新磁盘序列号,若所述新磁盘序列号与已记录的所述告警磁盘序列号一致,则生成故障盘提示;
[0048] 若所述新磁盘序列号与已记录的所述告警磁盘序列号不一致,则生成添加成功提示。
[0049] 第二方面,本申请提供了一种磁盘处理系统,所述系统包括:
[0050] 监测模块,用于根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘;
[0051] 验证模块,用于检测所述故障磁盘对应的磁盘组的状态,所述状态包括降级状态和健康状态;
[0052] 隔离报警模块,用于在所述磁盘组的状态为降级状态时,标记所述故障磁盘为隔离磁盘并生成报警信息;
[0053] 所述验证模块,还用于在所述磁盘组的状态为健康状态时,继续判断所述磁盘组是否存在冗余磁盘组;
[0054] 所述隔离报警模块,还用于在所述磁盘组不存在冗余磁盘组时,根据第一预设规则对所述故障磁盘进行操作并生成报警信息;
[0055] 所述验证模块,还用于在所述磁盘组存在冗余磁盘组时,检测所述冗余磁盘组的状态;
[0056] 所述隔离报警模块,还用于在所述冗余磁盘组的状态为健康状态时,标记所述故障磁盘为隔离磁盘并生成报警信息,否则根据第二预设规则对所述故障磁盘进行操作并生成报警信息。
[0057] 第三方面,本申请提供了一种电子设备,所述电子设备包括:
[0058] 一个或多个处理器;
[0059] 以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
[0060] 根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘;
[0061] 检测所述故障磁盘对应的磁盘组的状态,所述状态包括降级状态和健康状态;
[0062] 若所述磁盘组的状态为降级状态,则标记所述故障磁盘为隔离磁盘并生成报警信息;
[0063] 若所述磁盘组的状态为健康状态,则继续判断所述磁盘组是否存在冗余磁盘组;
[0064] 若所述磁盘组不存在冗余磁盘组,则根据第一预设规则对所述故障磁盘进行操作并生成报警信息;
[0065] 若所述磁盘组存在冗余磁盘组,检测所述冗余磁盘组的状态,若所述冗余磁盘组的状态为健康状态,则标记所述故障磁盘为隔离磁盘并生成报警信息,否则根据第二预设规则对所述故障磁盘进行操作并生成报警信息。
[0066] 本申请实现的有益效果为:
[0067] 本申请提供了一种磁盘处理方法,包括根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘;检测所述故障磁盘对应的磁盘组的状态,所述状态包括降级状态和健康状态;若所述磁盘组的状态为降级状态,则标记所述故障磁盘为隔离磁盘并生成报警信息;若所述磁盘组的状态为健康状态,则继续判断所述磁盘组是否存在冗余磁盘组;若所述磁盘组不存在冗余磁盘组,则根据第一预设规则对所述故障磁盘进行操作并生成报警信息;若所述磁盘组存在冗余磁盘组,检测所述冗余磁盘组的状态,若所述冗余磁盘组的状态为健康状态,则标记所述故障磁盘为隔离磁盘并生成报警信息,否则根据第二预设规则对所述故障磁盘进行操作并生成报警信息。通过检查告警磁盘对应的磁盘组以及冗余磁盘组状态,对符合条件的告警磁盘有选择的进行隔离,以避免告警磁盘在后续操作中发生故障而导致超融合一体机无法正常进行读写,保障超融合一体机正常工作,提高超融合一体机的鲁棒性;并且通过对满足迁移条件的磁盘进行数据块迁移,并进行数据一致性校验,以保证数据的安全性以及连续性,消除数据丢失的风险。

附图说明

[0068] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
[0069] 图1是本申请实施例提供的故障磁盘处理示意图;
[0070] 图2是本申请实施例提供的磁盘处理方法流程图;
[0071] 图3是本申请实施例提供的磁盘处理系统结构图;
[0072] 图4是本申请实施例提供的电子设备结构图。

具体实施方式

[0073] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0074] 应当理解,在本申请的描述中,除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
[0075] 还应当理解,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0076] 需要注意的是,术语“S1”、“S2”等仅用于步骤的描述目的,并非特别指称次序或顺位的意思,亦非用以限定本申请,其仅仅是为了方便描述本申请的方法,而不能理解为指示步骤的先后顺序。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
[0077] 如背景技术所述,现有技术在处理故障或者潜在故障时,无法对故障磁盘或者潜在故障磁盘进行隔离,导致对超融合一体机读写连续性产生影响,即使存在冗余磁盘组,在发生故障时也会导致超融合一体机不能正常读写,甚至会发生一体机系统崩溃的情况。
[0078] 为解决上述技术问题,本申请提供了一种应用于超融合一体机的磁盘处理方法,有选择的对可能产生故障的磁盘进行隔离并对数据进行迁移保护,有效防止数据丢失问题,提高超融合一体机的读写性能的稳定性。
[0079] 值得注意的是,本申请除了可应用于超融合一体机中,在磁盘盘符、磁盘序列号以及磁盘槽位能够获取的条件下,可以应用于其他任何需要对存在故障或者潜在故障的磁盘进行隔离的设备以及场景中。
[0080] 实施例一
[0081] 为实现本申请公开的磁盘处理方法,本申请实施例提供了一种故障磁盘报警系统,包括告警装置、磁盘隔离装置、空间计算装置以及数据保护装置,如图1所示,应用本实施例公开的故障磁盘报警系统进行磁盘隔离以及数据保护的过程包括:
[0082] S100、监测到存在磁盘告警信息时,标记磁盘告警信息对应的磁盘并定位该磁盘。
[0083] 具体的,告警装置实时扫描并收集超融合一体机每个物流节点的系统告警信息;并在系统告警信息内检索是否存在磁盘告警信息,如果存在磁盘告警信息,告警装置记录下磁盘告警信息对应的磁盘的盘符以及该磁盘所在的主机IP地址。
[0084] 通过主机IP地址可以定位到具体的某一个主机上,此时通过远程调用该主机的smartctl服务,输出该主机内所有磁盘的相关信息到磁盘信息表中。smartctl是Smartmontools工具安装之后的可执行命令,我们通过此命令可以查看磁盘是否支持smart检测,执行smart检测等。Smartmontools是一种硬盘检测工具,通过控制和管理硬盘的SMART(Self Monitoring Analysis and Reporting Technology),自动检测分析及报告技术)技术来实现的,SMART技术可以对硬盘的磁头单元、盘片电机驱动系统、硬盘内部电路以及盘片表面介质材料等进行监测,当SMART监测并分析出硬盘可能出现问题时会及时向用户报警以避免计算机数据受损失。在本领域应用Smartctl查看硬盘的基本参数、硬盘的所有SMART信息和非SMART信息、查看系统上的所有设备以及查看硬盘的健康状态都是可行的,因此本申请可以通过调用主机的smartctl服务,获取需要的磁盘的相关信息。
[0085] 通过在磁盘信息表中使用磁盘告警信息中的关键字,查找与该告警磁盘信息对应的物理磁盘的相关信息,以获取该物理磁盘的序列号(SN号);通过IPMI(Intelligent Platform Management Interface,智能平台管理接口标准)协议来获取并记录该物理磁盘对应的物理槽位信息。根据上述步骤,磁盘告警信息对应的告警磁盘的盘符、序列号、物理槽位以及所在主机IP地址都已获取并记录;基于前述信息将该告警磁盘标记为故障磁盘。
[0086] S200、检查故障磁盘对应的磁盘组的状态,磁盘组状态为降级状态时标记隔离磁盘并生成报警信息。
[0087] 具体的,首先磁盘隔离装置通过故障磁盘的盘符和所在主机IP地址定位到该故障磁盘所在的磁盘组;然后检查该磁盘组的状态,如果磁盘组的状态为降级状态,其中降级的含义是硬盘或阵列已经临近损坏;所以在磁盘组存在问题的情况下,本申请将该故障磁盘标记为隔离磁盘,以强制将故障磁盘从磁盘组中删除;最后由告警装置发出报警信息,其中报警信息中包含故障磁盘的告警磁盘盘符、告警磁盘序列号、告警磁盘物理槽位,以便用户定位到故障磁盘对应的物理位置。
[0088] S300、磁盘组状态为健康状态时,磁盘隔离装置查询超融合一体机磁盘组冗余情况,在不存在冗余磁盘组时,执行第一预设规则,对故障磁盘进行操作并生成报警信息;在存在冗余磁盘组时,执行第二预设规则,对故障磁盘进行操作并生成报警信息。
[0089] 其中,在不存在冗余磁盘组时,执行第一预设规则,对故障磁盘进行操作并生成报警信息的过程,具体包括:
[0090] S310、空间计算装置计算第一剩余容量以及故障磁盘的已使用容量,上述第一剩余容量即为故障磁盘对应的磁盘组除故障磁盘外其他所有磁盘的总的剩余容量。
[0091] S311、磁盘隔离装置比较上述第一剩余容量与已使用容量。若已使用容量大于第一剩余容量,即说明该磁盘组内的剩余空间不足以存储故障磁盘内的数据,此时,若将故障磁盘隔离,则会造成数据丢失,超融合一体机无法对故障磁盘中原有的数据进行操作。在这种情况下,本申请不会标记故障磁盘为隔离磁盘,而是直接通过告警装置生成报警信息以通知用户对故障磁盘进行后续的修复等操作。若已使用容量小于或等于第一剩余容量,数据保护装置发出数据迁移指令,将故障磁盘中的原始数据块迁移到磁盘组中的第一目标磁盘,即将故障磁盘中的数据以数据块为基本单位进行迁移;在迁移的同时,将数据块新的物理地址即第一目标磁盘的物理地址记录到内存中。值得注意的是,此时如果数据块有写操作发生,写操作改变的内容将缓存在内存中,等到故障磁盘中的原始数据块迁移到第一目标磁盘后,将上述写操作改变的内容根据之前记录在内存中的第一目标磁盘的物理地址写入到第一目标磁盘中。
[0092] S312、在故障磁盘中的原始数据块迁移到第一目标磁盘后,数据保护装置验证原始数据块在迁移前后是否保持一致性。数据保护装置对比故障磁盘中数据块和迁移后的第一目标磁盘中的数据块参数,如数据块数量、数据块头信息以及数据块健康状态等;若故障磁盘和第一目标磁盘中的数据块参数完全一致,则说明迁移成功,此时磁盘隔离装置将故障磁盘标记为隔离磁盘,告警装置发出报警信息;若故障磁盘和第一目标磁盘中的数据块参数不一致,则说明迁移不成功,此时若将故障磁盘隔离,则会造成数据丢失,因此,磁盘隔离装置不会将故障磁盘标记为隔离磁盘,仅由告警装置发出报警信息。
[0093] 其中,在存在冗余磁盘组时,对故障磁盘进行操作并生成报警信息的过程,具体包括:
[0094] S320、磁盘隔离装置检测冗余磁盘组的状态,若冗余磁盘组处于健康状态,磁盘隔离装置标记故障磁盘为隔离磁盘,告警装置发出报警信息。原因在于冗余磁盘组相当于磁盘组的备份,为了避免故障磁盘日后可能会出现问题而导致超融合一体机读写性能降低,本申请直接将可能出现故障的故障磁盘隔离,而采用健康的冗余磁盘组进行数据读写。此时,不需要再对故障磁盘对应的磁盘组进行其他验证操作,提高对故障磁盘进行隔离的速度。若冗余磁盘组处于降级状态,则执行第二预设规则,对故障磁盘进行操作并生成报警信息。
[0095] 其中,上述冗余磁盘组处于降级状态,执行第二预设规则,对故障磁盘进行操作并生成报警信息的过程,具体包括:
[0096] S321、空间计算装置比较故障磁盘中原始数据块参数与冗余磁盘组中对应的副本磁盘中的副本数据块参数,如数据块数量、数据块信息、数据块健康状态等,若原始数据块参数与副本数据块参数一致,即证明副本磁盘中的副本数据块没有问题,磁盘隔离装置将故障磁盘标记为隔离磁盘,由告警装置发出报警信息;若原始数据块参数与副本数据块参数不一致,即证明副本磁盘中的副本数据块存在问题,此时为了能够实现对故障磁盘进行隔离,磁盘隔离装置将没有问题的故障磁盘中的原始数据块迁入冗余磁盘组中。
[0097] S322、空间计算装置计算第二剩余容量以及故障磁盘的已使用容量,上述第二剩余容量即为冗余磁盘组剩余的空间容量。
[0098] S323、磁盘隔离装置比较上述第二剩余容量与已使用容量。若已使用容量大于第二剩余容量,即说明该冗余磁盘组内的剩余空间不足以存储故障磁盘内的数据,此时,若将故障磁盘隔离,则会造成数据丢失,超融合一体机无法对故障磁盘中原有的数据进行操作。在这种情况下,本申请不会标记故障磁盘为隔离磁盘,而是直接通过告警装置生成报警信息以通知用户对故障磁盘进行后续的修复等操作。若已使用容量小于或等于第二剩余容量,数据保护装置发出数据迁移指令,将故障磁盘中的原始数据块迁移到冗余磁盘组中的第二目标磁盘;在迁移的同时,将数据块新的物理地址即第二目标磁盘的物理地址记录到内存中。值得注意的是,此时如果数据块有写操作发生,写操作改变的内容将缓存在内存中,等到故障磁盘中的原始数据块迁移到第二目标磁盘后,将上述写操作改变的内容根据之前记录在内存中的第二目标磁盘的物理地址写入到第二目标磁盘中。
[0099] S324、在故障磁盘中的原始数据块迁移到第二目标磁盘后,数据保护装置验证原始数据块在迁移前后是否保持一致性。数据保护装置对比故障磁盘中数据块和迁移后的第二目标磁盘中的数据块参数,如数据块数量、数据块头信息以及数据块健康状态等;若故障磁盘和第一目标磁盘中的数据块参数完全一致,则说明迁移成功,此时磁盘隔离装置将故障磁盘标记为隔离磁盘,告警装置发出报警信息;若故障磁盘和第二目标磁盘中的数据块参数不一致,则说明迁移不成功,此时若将故障磁盘隔离,则会造成数据丢失,因此,磁盘隔离装置不会将故障磁盘标记为隔离磁盘,仅由告警装置发出报警信息。
[0100] S400、对于被标记为隔离磁盘的故障磁盘,一体机在磁盘组内强制删除该隔离磁盘以及相关信息,删除后将该磁盘设置为离线状态。
[0101] 此外,用户可以根据告警装置发出的报警信息中的槽位信息定位到隔离的物理磁盘位置,可以人工进行物理磁盘退除或者更换新物理磁盘操作。当有新物理磁盘插入时,超融合一体机读取新物理磁盘的序列号,对比超融合一体机中原来记录的隔离磁盘对应的序列号,如果序列号不一致,超融合一体机判断新插入的物理磁盘为新盘,一体机发出是否添加物理磁盘到磁盘组的提示,并在用户确认添加后生成添加成功提示。如果序列号一致,则插入的物理磁盘为原来的隔离磁盘,一体机发出故障盘提示,例如新插入的物理磁盘为故障盘,是否添加到磁盘组的提示。
[0102] 基于本申请实施例公开的磁盘处理方法,超融合一体机可以在不破坏数据读写连续性的情况下,隔离存在故障或者潜在故障的故障磁盘,提高了一体机的稳定性。
[0103] 实施例二
[0104] 对应上述实施例,本申请提供了一种磁盘处理的方法,如图2所示,所述方法包括:
[0105] S2100、根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘;
[0106] 优选的,所述根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘,还包括:
[0107] S2110、监测各个物理节点主机的系统告警信息并检索所述系统告警信息中是否存在所述磁盘告警信息;
[0108] S2120、若存在所述磁盘告警信息,则记录所述告警磁盘的盘符和主机IP地址;
[0109] S2130、根据所述主机IP地址定位并调用主机,记录告警磁盘信息,所述告警磁盘信息包括告警磁盘盘符、告警磁盘序列号、告警磁盘物理槽位。
[0110] S2200、检测所述故障磁盘对应的磁盘组的状态,所述状态包括降级状态和健康状态;
[0111] S2300、若所述磁盘组的状态为降级状态,则标记所述故障磁盘为隔离磁盘并生成报警信息;
[0112] S2400、若所述磁盘组的状态为健康状态,则继续判断所述磁盘组是否存在冗余磁盘组;
[0113] S2500、若所述磁盘组不存在冗余磁盘组,则根据第一预设规则对所述故障磁盘进行操作并生成报警信息;
[0114] 优选的,所述根据第一预设规则,对所述故障磁盘进行操作并生成报警信息,包括:
[0115] S2510、根据所述磁盘组的除所述故障磁盘外的所有磁盘的剩余容量确定第一剩余容量;
[0116] S2520、比较所述第一剩余容量与所述故障硬盘对应的已使用容量;
[0117] S2530、若所述第一剩余容量小于所述已使用容量,则直接生成报警信息;
[0118] S2540、若所述第一剩余容量大于或等于所述已使用容量,则对所述故障硬盘进行数据迁移;
[0119] S2550、若所述数据迁移成功,则标记所述故障硬盘为隔离磁盘并生成报警信息;
[0120] S2560、若所述数据迁移不成功,则直接生成报警信息。
[0121] S2600、若所述磁盘组存在冗余磁盘组,检测所述冗余磁盘组的状态,若所述冗余磁盘组的状态为健康状态,则标记所述故障磁盘为隔离磁盘并生成报警信息,否则根据第二预设规则对所述故障磁盘进行操作并生成报警信息。
[0122] 优选的,所述第二预设规则,对所述故障磁盘进行操作并生成报警信息,包括:
[0123] S2610、比较所述故障磁盘中的原始数据块与所述冗余磁盘组中的副本磁盘的副本数据块;
[0124] S2620、若所述原始数据块与所述副本数据块一致,则隔离所述故障硬盘并生成报警信息;
[0125] S2630、若所述原始数据块与所述副本数据块不一致,则根据所述冗余磁盘组的剩余容量确定第二剩余容量并比较所述第二剩余容量与所述已使用容量;
[0126] S2640、若所述第二剩余容量小于所述已使用容量,则直接生成报警信息;
[0127] S2650、若所述第二剩余容量大于或等于所述已使用容量,则对所述故障硬盘进行所述数据迁移;
[0128] 优选的,所述对所述故障硬盘进行数据迁移,包括:
[0129] S2651、在所述磁盘组不存在冗余磁盘组时,将所述原始数据块迁移到所述磁盘组中的第一目标磁盘;
[0130] S2652、在所述磁盘组存在冗余磁盘组时,将所述原始数据块迁移到所述冗余磁盘组中的第二目标磁盘;
[0131] S2653、记录所述原始数据块的迁移后的最新物理地址并保存在内存。
[0132] 优选的,所述对所述故障硬盘进行数据迁移,还包括
[0133] S2654、所述数据迁移时若所述原始数据块发生写操作,则将所述写操作对应的修改内容缓存在内存中;
[0134] S2655、所述数据迁移成功后,根据所述最新物理地址将所述修改内容写入所述第一目标磁盘或第二目标磁盘。
[0135] S2660、若所述数据迁移成功,则标记所述故障硬盘为隔离磁盘并生成报警信息;
[0136] S2670、若所述数据迁移不成功,则直接生成报警信息。
[0137] 优选的,所述数据迁移成功的判断过程,包括:
[0138] S2671、比较所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数;
[0139] S2672、若所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数一致,则表明数据迁移成功;
[0140] S2673、若所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数不一致,则表明数据迁移不成功;
[0141] 其中,所述数据块参数包括数据块数量、数据块头信息以及数据块健康状态。
[0142] 优选的,所述方法还包括:
[0143] S2674、根据所述告警磁盘信息定位到所述隔离磁盘的物理位置;
[0144] S2675、基于所述物理位置,退除所述隔离磁盘并添加新磁盘;
[0145] S2676、读取所述新磁盘序列号,若所述新磁盘序列号与已记录的所述告警磁盘序列号一致,则生成故障盘提示;
[0146] S2677、若所述新磁盘序列号与已记录的所述告警磁盘序列号不一致,则生成添加成功提示。
[0147] 实施例三
[0148] 对应上述实施例一和实施例二,如图3所示,本申请实施例还提供了一种磁盘处理系统,所述系统包括:
[0149] 监测模块310,用于根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘;
[0150] 验证模块320,用于检测所述故障磁盘对应的磁盘组的状态,所述状态包括降级状态和健康状态;
[0151] 隔离报警模块330,用于在所述磁盘组的状态为降级状态时,标记所述故障磁盘为隔离磁盘并生成报警信息;
[0152] 所述验证模块320,还用于在所述磁盘组的状态为健康状态时,继续判断所述磁盘组是否存在冗余磁盘组;
[0153] 所述隔离报警模块330,还用于在所述磁盘组不存在冗余磁盘组时,根据第一预设规则对所述故障磁盘进行操作并生成报警信息;
[0154] 所述验证模块320,还用于在所述磁盘组存在冗余磁盘组时,检测所述冗余磁盘组的状态;
[0155] 所述隔离报警模块330还用于,在所述冗余磁盘组的状态为健康状态时,标记所述故障磁盘为隔离磁盘并生成报警信息,否则根据第二预设规则对所述故障磁盘进行操作并生成报警信息。
[0156] 在一些实施例中,所述隔离报警模块330还用于根据所述磁盘组的除所述故障磁盘外的所有磁盘的剩余容量确定第一剩余容量;比较所述第一剩余容量与所述故障硬盘对应的已使用容量;若所述第一剩余容量小于所述已使用容量,则直接生成报警信息;若所述第一剩余容量大于或等于所述已使用容量,则对所述故障硬盘进行数据迁移;若所述数据迁移成功,则所述隔离报警模块330标记所述故障硬盘为隔离磁盘并生成报警信息;若所述数据迁移不成功,则所述隔离报警模块330直接生成报警信息。
[0157] 在一些实施例中,所述隔离报警模块330还用于比较所述故障磁盘中的原始数据块与所述冗余磁盘组中的副本磁盘的副本数据块;若所述原始数据块与所述副本数据块一致,则所述隔离报警模块330隔离所述故障硬盘并生成报警信息;若所述原始数据块与所述副本数据块不一致,则根据所述冗余磁盘组的剩余容量确定第二剩余容量并比较所述第二剩余容量与所述已使用容量;若所述第二剩余容量小于所述已使用容量,则所述隔离报警模块330直接生成报警信息;若所述第二剩余容量大于或等于所述已使用容量,则对所述故障硬盘进行所述数据迁移;若所述数据迁移成功,则所述隔离报警模块330标记所述故障硬盘为隔离磁盘并生成报警信息;若所述数据迁移不成功,则所述隔离报警模块330直接生成报警信息。
[0158] 在一些实施例中,在所述磁盘组不存在冗余磁盘组时,所述隔离报警模块330还用于将所述原始数据块迁移到所述磁盘组中的第一目标磁盘;在所述磁盘组存在冗余磁盘组时,所述隔离报警模块330将所述原始数据块迁移到所述冗余磁盘组中的第二目标磁盘;所述隔离报警模块330记录所述原始数据块的迁移后的最新物理地址并保存在内存。
[0159] 在一些实施例中,所述隔离报警模块330还用于在所述数据迁移的情况下,所述原始数据块发生写操作时,将所述写操作对应的修改内容缓存在内存中;所述隔离报警模块330还用于在所述数据迁移成功后,根据所述最新物理地址将所述修改内容写入所述第一目标磁盘或第二目标磁盘。
[0160] 在一些实施例中,所述隔离报警模块330还用于比较所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数;若所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数一致,则表明数据迁移成功;若所述故障磁盘与所述第一目标磁盘或第二目标磁盘的数据块参数不一致,则表明数据迁移不成功;其中,所述数据块参数包括数据块数量、数据块头信息以及数据块健康状态。
[0161] 在一些实施例中,所述监测模块310还用于监测各个物理节点主机的系统告警信息并检索所述系统告警信息中是否存在所述磁盘告警信息;若存在所述磁盘告警信息,则所述监测模块310记录所述告警磁盘的盘符和主机IP地址;根据所述主机IP地址定位并调用主机,记录告警磁盘信息,所述告警磁盘信息包括告警磁盘盘符、告警磁盘序列号、告警磁盘物理槽位。
[0162] 在一些实施例中,所述隔离报警模块330还用于根据所述告警磁盘信息定位到所述隔离磁盘的物理位置;用户可基于所述物理位置,退除所述隔离磁盘并添加新磁盘;超融合一体机读取所述新磁盘序列号,若所述新磁盘序列号与已记录的所述告警磁盘序列号一致,则超融合一体机生成故障盘提示;若所述新磁盘序列号与已记录的所述告警磁盘序列号不一致,则超融合一体机生成添加成功提示。
[0163] 实施例四
[0164] 对应上述所有实施例,本申请实施例提供一种电子设备,包括: 一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
[0165] 根据监测到的磁盘告警信息,标记所述磁盘告警信息对应的告警磁盘为故障磁盘;
[0166] 检测所述故障磁盘对应的磁盘组的状态,所述状态包括降级状态和健康状态;
[0167] 若所述磁盘组的状态为降级状态,则标记所述故障磁盘为隔离磁盘并生成报警信息;
[0168] 若所述磁盘组的状态为健康状态,则继续判断所述磁盘组是否存在冗余磁盘组;
[0169] 若所述磁盘组不存在冗余磁盘组,则根据第一预设规则对所述故障磁盘进行操作并生成报警信息;
[0170] 若所述磁盘组存在冗余磁盘组,检测所述冗余磁盘组的状态,若所述冗余磁盘组的状态为健康状态,则标记所述故障磁盘为隔离磁盘并生成报警信息,否则根据第二预设规则对所述故障磁盘进行操作并生成报警信息。
[0171] 其中,图4示例性的展示出了电子设备的架构,具体可以包括处理器410,视频显示适配器411,磁盘驱动器412,输入/输出接口413,网络接口414,以及存储器420。上述处理器410、视频显示适配器411、磁盘驱动器412、输入/输出接口413、网络接口414,与存储器420之间可以通过总线430进行通信连接。
[0172] 其中,处理器410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
[0173] 存储器420可以采用ROM(Read Only Memory,可编写存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储用于控制电子设备400执行的操作系统421,用于控制电子设备400的低级别操作的基本输入输出系统(BIOS)422。另外,还可以存储网页浏览器423,数据存储管理系统424,以及图标字体处理系统425等等。上述图标字体处理系统425就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
[0174] 输入/输出接口413用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0175] 网络接口414用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
[0176] 总线430包括一通路,在设备的各个组件(例如处理器410、视频显示适配器411、磁盘驱动器412、输入/输出接口413、网络接口414,与存储器420)之间传输信息。
[0177] 另外,该电子设备400还可以从虚拟资源对象领取条件信息数据库中获得具体领取条件的信息,以用于进行条件判断,等等。
[0178] 需要说明的是,尽管上述设备仅示出了处理器410、视频显示适配器411、磁盘驱动器412、输入/输出接口413、网络接口414,存储器420,总线430等,但是在具体实施过程中,该设备还可以包括实现正常执行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
[0179] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务端,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0180] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0181] 以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。