[发明专利]适用于双控高可用存储系统的磁盘心跳收发方法有效
申请号: | 201510401828.2 | 申请日: | 2015-07-09 |
公开(公告)号: | CN105045533B | 公开(公告)日: | 2019-03-22 |
发明(设计)人: | 黄思倜;卢波;李燕 | 申请(专利权)人: | 上海爱数信息技术股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 应小波 |
地址: | 201112 上海市闵行*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适用于 双控高 可用 存储系统 磁盘 心跳 收发 方法 | ||
1.一种适用于双控高可用存储系统的磁盘心跳收发方法,其特征在于,包括以下步骤:
1)将共享存储池作为双控节点的存储资源,自动选择存储池的一块磁盘作为心跳盘;
2)发送端在心跳盘的心跳区域写入心跳标记,接收端读取心跳标记后将其清除;
3)当存储池的磁盘发生变动时,自动更新心跳盘以保证磁盘心跳连续收发;
节点导入存储池之前,对存储池进行脑裂预防检测;所述的脑裂预防检测具体如下:
3.1)判断是否存在心跳标记,若为是,执行步骤3.2,若没有心跳标记残留,允许导入存储池;
3.2)若有心跳标记残留,等待n秒后再次检查心跳标记是否存在,若存在,不允许导入存储池,否则允许导入存储池;
若心跳标记存在,原因是:1、对端节点正在给该存储池发送心跳;2、心跳标记由于节点掉电原因残留在了磁盘上,为了加以区分,需等待n秒后,再次读取心跳区域,其中m<n<10,若心跳标记仍然存在,则不允许本节点导入存储池,等待时间n秒大于磁盘心跳收发周期m秒,是为了保证不错过正在发送的磁盘心跳。
2.根据权利要求1所述的一种适用于双控高可用存储系统的磁盘心跳收发方法,其特征在于,所述的存储池有且仅有一块心跳盘。
3.根据权利要求1所述的一种适用于双控高可用存储系统的磁盘心跳收发方法,其特征在于,所述的心跳区域为磁盘非数据区域,收发心跳的方式为直接读写磁盘非数据区域;主节点作为发送端写入心跳标记,备节点作为接收端清除心跳标记。
4.根据权利要求1所述的一种适用于双控高可用存储系统的磁盘心跳收发方法,其特征在于,所述的心跳标记为主备节点约定的特定字符串。
5.根据权利要求1所述的一种适用于双控高可用存储系统的磁盘心跳收发方法,其特征在于,所述的发送端发送心跳具体为:
1.1)主节点检查存储池状态,若可用,转步骤1.2;否则转步骤1.4;
1.2)读取心跳区域,若存在心跳标记,转步骤1.4;否则转步骤1.3;
1.3)向心跳区域写入心跳标记,本次心跳发送成功,并转步骤1.4;
1.4)等待m秒,转步骤1.1。
6.根据权利要求5所述的一种适用于双控高可用存储系统的磁盘心跳收发方法,其特征在于,所述的主节点以异步方式感知存储池状态。
7.根据权利要求5所述的一种适用于双控高可用存储系统的磁盘心跳收发方法,其特征在于,线程定时查询存储池状态并实时更新状态标记,主节点在发送磁盘心跳前只需读取状态标记来判断存储池是否可用。
8.根据权利要求1所述的一种适用于双控高可用存储系统的磁盘心跳收发方法,其特征在于,所述的接收端接收心跳具体如下:
2.1)读取心跳区域,心跳标记若存在,转步骤2.2;否则转步骤2.3;
2.2)清除心跳标记,本次心跳接收成功,转步骤2.4;
2.3)心跳连续发送失败次数若超过上限,转步骤2.5;否则转步骤2.4;
2.4)等待m秒,转步骤2.1;
2.5)结束磁盘心跳的接收。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海爱数信息技术股份有限公司,未经上海爱数信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510401828.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实现快照管理的方法及装置
- 下一篇:冰箱