分布式存储系统下物理硬盘的管理方法与装置.pdf
《分布式存储系统下物理硬盘的管理方法与装置.pdf》由会员分享,可在线阅读,更多相关《分布式存储系统下物理硬盘的管理方法与装置.pdf(19页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010604671.4 (22)申请日 2020.06.29 (71)申请人 烽火通信科技股份有限公司 地址 430000 湖北省武汉市东湖高新技术 开发区高新四路6号 (72)发明人 李玉冰李庆林蓝海张书东 (74)专利代理机构 深圳市六加知识产权代理有 限公司 44372 代理人 向彬 (51)Int.Cl. G06F 3/06(2006.01) G06F 11/14(2006.01) G06F 11/20(2006.01) (54)发明名称 一种分布式存储系统下物理硬。
2、盘的管理方 法与装置 (57)摘要 本发明公开了一种分布式存储系统下物理 硬盘的管理方法: 通过分布式存储管理平台创建 OSD, 将分布式存储系统中的OSD设备的OSD ID和 OSD集群标识等定位信息以及LVM的逻辑卷组和 物理卷组的逻辑信息通过LVM的日志写入物理硬 盘中; 通过监控内核中的硬件设备的UDEV事件, 获知拔盘事件或插盘事件, 获取到拔出或插入物 理硬盘的ESN、 硬盘WWN和硬盘盘符, 找到对应的 分布式存储系统中OSD设备的OSD ID和OSD集群 标识, 然后通过OSD设备的OSD ID和OSD集群标 识, 修改OSD设备在分布式存储集群中的运行状 态。 本发明利用Li。
3、nux的内核UDEV事件的监控, 可 以实时触发分布式存储系统的OSD设备的状态更 新, 对故障硬盘实现自动隔离和恢复。 本发明还 提供了相应的分布式存储系统下物理硬盘的管 理装置。 权利要求书3页 说明书9页 附图6页 CN 111857577 A 2020.10.30 CN 111857577 A 1.一种分布式存储系统下物理硬盘的管理方法, 其特征在于, 包括: S1、 通过分布式存储管理平台创建OSD, 并将分布式存储系统中的OSD设备的OSD ID和 OSD集群标识等定位信息以及LVM的逻辑卷组和物理卷组的逻辑信息通过LVM的日志写入物 理硬盘中; S2、 通过监控内核中的硬件设备的。
4、UDEV事件, 获知拔盘事件或插盘事件, 获取到拔出或 插入物理硬盘的ESN、 硬盘WWN和硬盘盘符, 找到对应的分布式存储系统中OSD设备的OSD ID 和OSD集群标识, 然后通过OSD设备的OSD ID和OSD集群标识, 修改OSD设备在分布式存储集 群中的运行状态。 2.如权利要求1所述的分布式存储系统下物理硬盘的管理方法, 其特征在于, 所述步骤 S1包括: S11、 根据业务需求将不同的设备组合创建为一个Device-mapper, 创建Device-mapper 设备时, 将物理硬盘的WWN和ESN写入对应的设备配置中; S12、 将已创建好的Device-mapper设备, 或。
5、者物理硬盘加入到LVM中的物理卷组中; S13、 通过业务需求将不同的物理卷组加入到不同的LVM逻辑卷组; S14、 根据LVM的逻辑卷组, 创建对应业务的逻辑卷设备, 包括OSD数据盘、 OSD元数据盘 和OSD日志盘, 并将创建OSD ID和OSD集群唯一标识以及逻辑卷的卷组信息, 通过LVM日志信 息写入到物理硬盘或者DM设备中; S15、 格式化已创建的逻辑卷设备并挂载; 格式化逻辑卷设备时, 需要将OSD设备的OSD ID、 OSD集群标识、 OSD数据盘路径、 OSD元数据盘路径和OSD日志盘路径写入已格式化的逻辑 卷设备中; S16、 将已创建的OSD设备加入分布式存储系统并启动。
6、, 修改OSD设备在集群中的运行状 态为启动状态。 3.如权利要求1或2所述的分布式存储系统下物理硬盘的管理方法, 其特征在于, 所述 步骤S2中针对拔盘事件的处理方式为: 利用Linux UDEV事件接口监听Linux系统中拔盘事件; 通过拔盘事件获取已拔出硬盘的盘符, 通过已拔出物理硬盘的硬盘盘符, 找到分布式 存储集群中相关的OSD设备; 通过找到的已拔出硬盘所对应的OSD设备, 处理并隔离OSD设备信息。 4.如权利要求3所述的分布式存储系统下物理硬盘的管理方法, 其特征在于, 所述通过 拔盘事件获取已拔出硬盘的盘符, 通过已拔出物理硬盘的硬盘盘符, 找到分布式存储集群 中相关的OSD。
7、设备, 包括: S216、 通过拔盘事件获取已拔出硬盘的盘符、 ESN和WWN; S217、 通过Linux系统中的OSD设备的挂载点, 查找当前系统中所有OSD设备使用的存储 设备的绝对路径, 以及对应OSD设备的OSD ID; S218、 通过获取到的OSD设备的绝对路径, 查找OSD设备在Linux中的主设备号和次设备 号; S219、 根据主设备号和次设备号, 判断设备是否存在子设备, 如果存在子设备, 则转向 S218, 继续查找子设备的主设备号和次设备号, 如果不存在, 转到S220; S220、 获取子设备在Linux中的硬盘盘符; 权利要求书 1/3 页 2 CN 111857。
8、577 A 2 S221、 比对S220中获取到的子设备的盘符和S216中获取的已拔出硬盘的盘符, 如果匹 配, 确定所拔出硬盘所对应的OSD设备, 否则转向S217, 继续查找下一个OSD设备挂载点。 5.如权利要求3所述的分布式存储系统下物理硬盘的管理方法, 其特征在于, 所述通过 找到的已拔出硬盘所对应的OSD设备, 处理并隔离OSD设备信息, 包括: S222、 更新所拔出硬盘所对应的OSD设备在分布式存储系统中的状态为故障状态, 停止 已拔出硬盘对应OSD设备的所有服务, 修改已拔出硬盘所对应OSD设备的状态为不健康状 态, 并隔离所拔出硬盘所对应的OSD设备; S223、 卸载所拔。
9、出硬盘所对应的OSD设备在Linux中的挂载点, 释放所拔出硬盘所对应 的OSD设备; S224、 根据所拔出硬盘所对应的OSD设备, 删除所拔出硬盘在Linux系统中遗留的LVM信 息, 并更新LVM配置, 删除所拔出硬盘的逻辑卷, 逻辑卷组合物理卷组; S225、 删除匹配到的物理硬盘和DM设备在Linux系统中遗留的映射逻辑设备的路径信 息, 更新FLCD配置, 删除FLCD配置中的已拔出硬盘的路径信息和已拔出硬盘的ESN和WWN信 息。 6.如权利要求1或2所述的分布式存储系统下物理硬盘的管理方法, 其特征在于, 所述 步骤S2中针对拔盘事件的处理方式为: 利用Linux UDEV事件。
10、接口监听Linux系统中插盘事件; 通过插盘事件获得已插入物理硬盘的ESN和WWN, 通过已插入物理硬盘的ESN和WWN, 找 到分布式存储集群中相关的OSD设备, 获得OSD设备信息; 通过已获得OSD设备信息, 处理OSD设备。 7.如权利要求1或2所述的分布式存储系统下物理硬盘的管理方法, 其特征在于, 所述 通过插盘事件获得已插入物理硬盘的ESN和WWN, 通过已插入物理硬盘的ESN和WWN, 找到分 布式存储集群中相关的OSD设备, 获得OSD设备信息, 包括: S236、 通过插盘事件获取插入硬盘的ESN和WWN; S237、 获取Linux系统中已存在的硬盘的ESN和WWN; S。
11、238、 读取S236中获取的已插入硬盘和S237中得到的系统的硬盘中的聚合设备配置, 通过已插入硬盘的ESN和WWN和S237中获取的系统中硬盘的ESN和WWN, 判断是否匹配, 如果 匹配则认为存在聚合设备, 转到S240, 否则转到239; S239、 遍历Linux系统的下所有硬盘, 判断如果还有硬盘存在, 转到S237继续获取硬盘, 否则转到S241; S240、 根据已匹配的聚合设备的硬盘ESN和WWN创建硬盘聚合设备, 并更新LVM的物理 卷、 逻辑卷组和逻辑卷信息; S241、 读取S240中已创建的聚合设备中或者S238S239没有匹配到聚合设备的已插入 Linux系统的物理。
12、硬盘的LVM配置, 并加载LVM的物理卷、 逻辑卷组和逻辑卷信息, 更新LVM日 志信息; S242获取S241中已加载的LVM设备的日志信息; S243、 根据已加载LVM设备的日志信息中, 判断否存在分布式存储集群的OSD信息, 如果 存在转到S244; S244、 通过S242中得到的LVM日志信息中, 获取OSD设备的OSD ID和OSD集群标识。 权利要求书 2/3 页 3 CN 111857577 A 3 8.如权利要求1或2所述的分布式存储系统下物理硬盘的管理方法, 其特征在于, 所述 通过已获得OSD设备信息, 处理OSD设备, 包括: S245、 通过已获取的OSD ID和O。
13、SD集群标识挂载OSD设备; S246、 启动OSD设备服务, 并修改OSD设备在分布式存储系统中的状态为运行状态, 将 OSD设备加入分布式存储集群, 修改OSD设备的状态为健康状态。 9.一种分布式存储系统下物理硬盘的管理装置, 其特征在于, 包括OSD设备创建模块和 插拔盘事件处理模块, 其中: 所述OSD设备创建模块, 用于通过分布式存储管理平台创建OSD, 并将分布式存储系统 中的OSD设备的OSD ID和OSD集群标识等定位信息以及LVM的逻辑卷组和物理卷组的逻辑信 息通过LVM的日志写入物理硬盘中; 所述插拔盘事件处理模块, 用于通过监控内核中的硬件设备的UDEV事件, 获知拔盘。
14、事 件或插盘事件, 获取到拔出或插入物理硬盘的ESN、 硬盘WWN和硬盘盘符, 找到对应的分布式 存储系统中OSD设备的OSD ID和OSD集群标识, 然后通过OSD设备的OSD ID和OSD集群标识, 修改OSD设备在分布式存储集群中的运行状态。 10.如权利要求9所述的分布式存储系统下物理硬盘的管理装置, 其特征在于, 所述插 拔盘事件处理模块包括拔盘事件处理子模块和插盘事件处理子模块, 其中: 所述拔盘事件处理子模块包括拔盘事件监听子单元、 拔盘事件OSD设备查找子单元以 及拔盘事件OSD设备处理子单元, 其中: 所述拔盘事件监听子单元, 用于利用Linux UDEV事件接口监听Linu。
15、x系统中拔盘事件; 所述拔盘事件OSD设备查找子单元, 用于通过拔盘事件获取已拔出硬盘的盘符, 通过已 拔出物理硬盘的硬盘盘符, 找到分布式存储集群中相关的OSD设备; 所述拔盘事件OSD设备处理子单元, 用于通过找到的已拔出硬盘所对应的OSD设备, 处 理并隔离OSD设备信息; 所述插盘事件处理子模块包括插盘事件监听子单元、 插盘事件OSD设备查找子单元以 及插盘事件OSD设备处理子单元, 其中: 所述插盘事件监听子单元, 用于利用Linux UDEV事件接口监听Linux系统中插盘事件; 所述插盘事件OSD设备查找子单元, 用于通过插盘事件获得已插入物理硬盘的ESN和 WWN, 通过已插入。
16、物理硬盘的ESN和WWN, 找到分布式存储集群中相关的OSD设备, 获得OSD设 备信息; 所述插盘事件OSD设备处理子单元, 用于通过已获得OSD设备信息, 处理OSD设备。 权利要求书 3/3 页 4 CN 111857577 A 4 一种分布式存储系统下物理硬盘的管理方法与装置 技术领域 0001 本发明属于分布式存储硬盘管理技术领域, 更具体地, 涉及一种分布式存储系统 下物理硬盘的管理方法与装置。 背景技术 0002 随着社会信息化的不断发展, 在众多应用领域中产生了规模巨大的数据, 尤其在 视频行业, 而且数据量仍在急剧增长。 为了提高数据存取的速度和存储的可扩展性, 海量数 据一。
17、般被分布存储到不同数据中心的多个节点上以支持并行存取。 在云计算环境下, 海量 数据存储的组织和管理在可扩展性、 容错性以及成本控制方面表现出了更高的需求, 存储 的易用性和可扩展性也变的越来越重要。 因此, 分布式存储也变的越来越重要, 分布式存储 系统的稳定性也变成评定存储系统重要因素。 由于分布式存储系统中, 存储设备是由服务 器中的大量的物理硬盘组成, 物理硬盘的状态也就成为决定分布式存储系统稳定性的重要 因素。 0003 在分布式存储系统中, 为了提高存储的可靠性, 一般会将数据存储到多个节点多 个机械硬盘上面。 由于多个机械硬盘的存储性能受制于性能最差的硬盘, 为了减少这种差 异,。
18、 一般会将一个固态硬盘和一个机械硬盘组合后创建为一个OSD, 或者聚合为一个DM设备 后创建OSD。 当使用LVM或者FLCD等组成的DM设备创建OSD时, 如果物理硬盘出现故障, 则使 用分布式存储系统的上层业务会受到很大的影响, 甚至会出现业务中断问题, 严重影响到 了业务的稳定性。 为了解决硬盘故障问题的影响, 就需要及时获取并更新分布式存储系统 中OSD的状态, 以及清理由于硬盘离线导致的DM和LVM信息残留; 当出现已创建OSD的物理硬 盘插入系统时, 存储系统则需要及时恢复已丢失DM和LVM的信息, 并重新将OSD加入分布式 存储系统, 确保分布式存储系统健康平稳运行。 发明内容 。
19、0004 本专利提供了一种分布式存储系统下物理硬盘的管理方法, 通过对Linux系统中 硬件设备事件的获取, 实现了分布式存储系统中自动清除和恢复LVM和DM设备信息, 并自动 将故障硬盘隔离和丢失硬盘自动恢复的方法。 0005 为实现上述目的, 按照本发明的一个方面, 提供了一种分布式存储系统下物理硬 盘的管理方法, 包括: 0006 S1、 通过分布式存储管理平台创建OSD, 并将分布式存储系统中的OSD设备的OSD ID和OSD集群标识等定位信息以及LVM的逻辑卷组和物理卷组的逻辑信息通过LVM的日志写 入物理硬盘中; 0007 S2、 通过监控内核中的硬件设备的UDEV事件, 获知拔盘。
20、事件或插盘事件, 获取到拔 出或插入物理硬盘的ESN、 硬盘WWN和硬盘盘符, 找到对应的分布式存储系统中OSD设备的 OSD ID和OSD集群标识, 然后通过OSD设备的OSD ID和OSD集群标识, 修改OSD设备在分布式 存储集群中的运行状态。 说明书 1/9 页 5 CN 111857577 A 5 0008 本发明的一个实施例中, 所述步骤S1包括: 0009 S11、 根据业务需求将不同的设备组合创建为一个Device-mapper, 创建Device- mapper设备时, 将物理硬盘的WWN和ESN写入对应的设备配置中; 0010 S12、 将已创建好的Device-mappe。
21、r设备, 或者物理硬盘加入到LVM中的物理卷组 中; 0011 S13、 通过业务需求将不同的物理卷组加入到不同的LVM逻辑卷组; 0012 S14、 根据LVM的逻辑卷组, 创建对应业务的逻辑卷设备, 包括OSD数据盘、 OSD元数 据盘和OSD日志盘, 并将创建OSD ID和OSD集群唯一标识以及逻辑卷的卷组信息, 通过LVM日 志信息写入到物理硬盘或者DM设备中; 0013 S15、 格式化已创建的逻辑卷设备并挂载; 格式化逻辑卷设备时, 需要将OSD设备的 OSD ID、 OSD集群标识、 OSD数据盘路径、 OSD元数据盘路径和OSD日志盘路径写入已格式化的 逻辑卷设备中; 0014。
22、 S16、 将已创建的OSD设备加入分布式存储系统并启动, 修改OSD设备在集群中的运 行状态为启动状态。 0015 本发明的一个实施例中, 所述步骤S2中针对拔盘事件的处理方式为: 0016 利用Linux UDEV事件接口监听Linux系统中拔盘事件; 0017 通过拔盘事件获取已拔出硬盘的盘符, 通过已拔出物理硬盘的硬盘盘符, 找到分 布式存储集群中相关的OSD设备; 0018 通过找到的已拔出硬盘所对应的OSD设备, 处理并隔离OSD设备信息。 0019 本发明的一个实施例中, 所述通过拔盘事件获取已拔出硬盘的盘符, 通过已拔出 物理硬盘的硬盘盘符, 找到分布式存储集群中相关的OSD设。
23、备, 包括: 0020 S216、 通过拔盘事件获取已拔出硬盘的盘符、 ESN和WWN; 0021 S217、 通过Linux系统中的OSD设备的挂载点, 查找当前系统中所有OSD设备使用的 存储设备的绝对路径, 以及对应OSD设备的OSD ID; 0022 S218、 通过获取到的OSD设备的绝对路径, 查找OSD设备在Linux中的主设备号和次 设备号; 0023 S219、 根据主设备号和次设备号, 判断设备是否存在子设备, 如果存在子设备, 则 转向S218, 继续查找子设备的主设备号和次设备号, 如果不存在, 转到S220; 0024 S220、 获取子设备在Linux中的硬盘盘符;。
24、 0025 S221、 比对S220中获取到的子设备的盘符和S216中获取的已拔出硬盘的盘符, 如 果匹配, 确定所拔出硬盘所对应的OSD设备, 否则转向S217, 继续查找下一个OSD设备挂载 点。 0026 本发明的一个实施例中, 所述通过找到的已拔出硬盘所对应的OSD设备, 处理并隔 离OSD设备信息, 包括: 0027 S222、 更新所拔出硬盘所对应的OSD设备在分布式存储系统中的状态为故障状态, 停止已拔出硬盘对应OSD设备的所有服务, 修改已拔出硬盘所对应OSD设备的状态为不健康 状态, 并隔离所拔出硬盘所对应的OSD设备; 0028 S223、 卸载所拔出硬盘所对应的OSD设备。
25、在Linux中的挂载点, 释放所拔出硬盘所 对应的OSD设备; 说明书 2/9 页 6 CN 111857577 A 6 0029 S224、 根据所拔出硬盘所对应的OSD设备, 删除所拔出硬盘在Linux系统中遗留的 LVM信息, 并更新LVM配置, 删除所拔出硬盘的逻辑卷, 逻辑卷组合物理卷组; 0030 S225、 删除匹配到的物理硬盘和DM设备在Linux系统中遗留的映射逻辑设备的路 径信息, 更新FLCD配置, 删除FLCD配置中的已拔出硬盘的路径信息和已拔出硬盘的ESN和 WWN信息。 0031 本发明的一个实施例中, 所述步骤S2中针对拔盘事件的处理方式为: 0032 利用Lin。
26、ux UDEV事件接口监听Linux系统中插盘事件; 0033 通过插盘事件获得已插入物理硬盘的ESN和WWN, 通过已插入物理硬盘的ESN和 WWN, 找到分布式存储集群中相关的OSD设备, 获得OSD设备信息; 0034 通过已获得OSD设备信息, 处理OSD设备。 0035 本发明的一个实施例中, 所述通过插盘事件获得已插入物理硬盘的ESN和WWN, 通 过已插入物理硬盘的ESN和WWN, 找到分布式存储集群中相关的OSD设备, 获得OSD设备信息, 包括: 0036 S236、 通过插盘事件获取插入硬盘的ESN和WWN; 0037 S237、 获取Linux系统中已存在的硬盘的ESN和。
27、WWN; 0038 S238、 读取S236中获取的已插入硬盘和S237中得到的系统的硬盘中的聚合设备配 置, 通过已插入硬盘的ESN和WWN和S237中获取的系统中硬盘的ESN和WWN, 判断是否匹配, 如 果匹配则认为存在聚合设备, 转到S240, 否则转到239; 0039 S239、 遍历Linux系统的下所有硬盘, 判断如果还有硬盘存在, 转到S237继续获取 硬盘, 否则转到S241; 0040 S240、 根据已匹配的聚合设备的硬盘ESN和WWN创建硬盘聚合设备, 并更新LVM的物 理卷、 逻辑卷组和逻辑卷信息; 0041 S241、 读取S240中已创建的聚合设备中或者S238。
28、S239没有匹配到聚合设备的已 插入Linux系统的物理硬盘的LVM配置, 并加载LVM的物理卷、 逻辑卷组和逻辑卷信息, 更新 LVM日志信息; 0042 S242获取S241中已加载的LVM设备的日志信息; 0043 S243、 根据已加载LVM设备的日志信息中, 判断否存在分布式存储集群的OSD信息, 如果存在转到S244; 0044 S244、 通过S242中得到的LVM日志信息中, 获取OSD设备的OSD ID和OSD集群标识。 0045 本发明的一个实施例中, 所述通过已获得OSD设备信息, 处理OSD设备, 包括: 0046 S245、 通过已获取的OSD ID和OSD集群标识挂。
29、载OSD设备; 0047 S246、 启动OSD设备服务, 并修改OSD设备在分布式存储系统中的状态为运行状态, 将OSD设备加入分布式存储集群, 修改OSD设备的状态为健康状态。 0048 按照本发明的另一方面, 还提供了一种分布式存储系统下物理硬盘的管理装置, 包括OSD设备创建模块和插拔盘事件处理模块, 其中: 0049 所述OSD设备创建模块, 用于通过分布式存储管理平台创建OSD, 并将分布式存储 系统中的OSD设备的OSD ID和OSD集群标识等定位信息以及LVM的逻辑卷组和物理卷组的逻 辑信息通过LVM的日志写入物理硬盘中; 0050 所述插拔盘事件处理模块, 用于通过监控内核中。
30、的硬件设备的UDEV事件, 获知拔 说明书 3/9 页 7 CN 111857577 A 7 盘事件或插盘事件, 获取到拔出或插入物理硬盘的ESN、 硬盘WWN和硬盘盘符, 找到对应的分 布式存储系统中OSD设备的OSD ID和OSD集群标识, 然后通过OSD设备的OSD ID和OSD集群标 识, 修改OSD设备在分布式存储集群中的运行状态。 0051 本发明的一个实施例中, 所述插拔盘事件处理模块包括拔盘事件处理子模块和插 盘事件处理子模块, 其中: 0052 所述拔盘事件处理子模块包括拔盘事件监听子单元、 拔盘事件OSD设备查找子单 元以及拔盘事件OSD设备处理子单元, 其中: 0053 。
31、所述拔盘事件监听子单元, 用于利用Linux UDEV事件接口监听Linux系统中拔盘 事件; 0054 所述拔盘事件OSD设备查找子单元, 用于通过拔盘事件获取已拔出硬盘的盘符, 通 过已拔出物理硬盘的硬盘盘符, 找到分布式存储集群中相关的OSD设备; 0055 所述拔盘事件OSD设备处理子单元, 用于通过找到的已拔出硬盘所对应的OSD设 备, 处理并隔离OSD设备信息; 0056 所述插盘事件处理子模块包括插盘事件监听子单元、 插盘事件OSD设备查找子单 元以及插盘事件OSD设备处理子单元, 其中: 0057 所述插盘事件监听子单元, 用于利用Linux UDEV事件接口监听Linux系统。
32、中插盘 事件; 0058 所述插盘事件OSD设备查找子单元, 用于通过插盘事件获得已插入物理硬盘的ESN 和WWN, 通过已插入物理硬盘的ESN和WWN, 找到分布式存储集群中相关的OSD设备, 获得OSD 设备信息; 0059 所述插盘事件OSD设备处理子单元, 用于通过已获得OSD设备信息, 处理OSD设备。 0060 总体而言, 通过本发明所构思的以上技术方案与现有技术相比, 具有如下有益效 果: 0061 (1)通过本发明技术方案, 利用Linux的内核UDEV事件的监控, 可以实时触发分布 式存储系统的OSD设备的状态更新, 可以对故障硬盘实现自动隔离和恢复, 可以减少硬盘对 分布式。
33、存储系统的影响, 尤其在出现硬盘故障时, 导致上层业务出现的读写中断问题; 0062 (2)通过本发明技术方案, 通过对Linux系统中对硬盘设备的子设备的处理, 可以 获取到故障硬盘和Device-mapper的对应关系, 并清理故障遗留, 避免了硬盘丢失导致硬盘 遗留信息占用系统资源和系统DM信息混乱问题; 0063 (3)通过本发明技术方案, 通过对FLCD的配置处理和LVM日志信息的维护, 可以实 现故障硬盘恢复后, 自动完成聚合设备的创建和OSD设备的恢复, 保障分布式集群的健康平 稳运行; 0064 (4)通过本发明技术方案, 通过对硬盘ESN和WWN信息的维护, 可以找到物理硬盘。
34、和 OSD的对应关系, 避免了硬盘盘符漂移, 导致分布式存储系统系统OSD设备信息混乱的问题。 附图说明 0065 图1是本发明实施例中一种分布式存储系统下物理硬盘的管理方法的流程示意 图; 0066 图2是本发明实施例中一种OSD设备的创建原理示意示意图; 说明书 4/9 页 8 CN 111857577 A 8 0067 图3为本发明实施例中一种创建OSD设备的流程示意图; 0068 图4是本发明实施例中一种DM设备与物理硬盘映射关系示意图; 0069 图5是本发明实施例中一种拔盘事件处理方法的流程示意图; 0070 图6是本发明实施例中一种插盘事件处理方法的流程示意图; 0071 图7是。
35、本发明实施例中一种分布式存储系统下物理硬盘的管理装置的结构示意 图; 0072 图8是本发明实施例中一种插拔盘事件处理模块的结构示意图。 具体实施方式 0073 为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实施例, 对 本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并 不用于限定本发明。 此外, 下面所描述的本发明各个实施方式中所涉及到的技术特征只要 彼此之间未构成冲突就可以相互组合。 0074 首先对本发明中所涉及的专业术语进行解释或说明: 0075 OSD: (Object Storage Device, 对象存储设备), 分布式。
36、存储系统的存储设备, 是 处理数据的存储、 复制、 恢复、 回填、 再均衡的基本单元; 0076 OSD ID: (Object Storage Device Identification, 对象存储设备编号), 分布式 存储系统设备编号, 分布式存储系统内唯一; 0077 硬盘ESN: (Electronic Serial Number, 电子序列号)物理硬盘唯一标识码; 0078 DM: (Device Mapper, 映射设备), Linux系统中的逻辑卷的映射设备; 0079 LVM: (Logical Volume Manager, 逻辑卷管理), Linux系统中对硬盘管理的虚拟设。
37、 备驱动, 可以不受物理设备限制, 可以随意动态调整硬盘大小; 0080 FLCD: (Flashcache Device, 快速缓存设备), 基于Device-Mapper框架, 用来将多 个不同介质的硬盘聚合为一个设备的软件; 0081 UDEV: (Userspace Device, 用户空间设备), Linux系统中的设备管理器, 当出现硬 件设备变化时, 会捕捉到内核事件; 0082 硬盘WWN: (World Wide Name, 全球唯一名称), 物理硬盘在Linux系统中的唯一标 识; 0083 RAID: (Redundant Array of Independent Dis。
38、ks, 独立硬盘冗余阵列)。 0084 物理硬盘, 在本发明中物理硬盘是指机械硬盘和固态硬盘的一个统称。 0085 由于随着物理硬盘的拔出, 硬盘上面的LVM信息也会随着硬盘的丢失而丢失。 因 此, 需要通过对内核中的硬件设备的UDEV事件监控, 以及获取到的拔出和插入硬盘的ESN和 硬盘盘符, 找到对应的分布式存储系统中OSD设备的OSD ID和OSD集群标识信息的定位信 息, 然后通过OSD设备定位信息及时更新OSD设备的运行状态(运行, 故障)和健康状态(健 康, 错误)。 由于硬盘盘符是硬盘插入系统时产生的, 会随着硬盘的反复插入拔出而发生变 化, 因此是不可靠的。 , 避免硬盘盘符漂。
39、移的影响。 根据Linux系统中硬盘信息可知: 0086 (1)物理硬盘的ESN是全球唯一, 且硬盘WWN在Linux系统下是唯一的, 不会随硬盘 盘符的变化而变化; 0087 (2)使用物理硬盘生成DM设备, 硬盘的组合设备信息不会随着硬盘拔出而丢失; 说明书 5/9 页 9 CN 111857577 A 9 0088 (3)Linux系统中的硬盘挂载点不会随着硬盘的拔出而丢失; 0089 (4)OSD的挂载目录中可以找到OSD的数据盘, 日志盘和元数据盘所使用的硬盘设 备。 0090 实施例1 0091 如图1所示, 本发明提供了一种分布式存储系统下物理硬盘的管理方法, 包括: 0092 。
40、S1、 通过分布式存储管理平台创建OSD, 并将分布式存储系统中的OSD设备的OSD ID和OSD集群标识等定位信息以及LVM的逻辑卷组和物理卷组的逻辑信息通过LVM的日志写 入物理硬盘中; 0093 S2、 通过监控内核中的硬件设备的UDEV事件, 获取到拔出和插入物理硬盘的ESN、 硬盘WWN和硬盘盘符, 找到对应的分布式存储系统中OSD设备的OSD ID和OSD集群标识, 然后 通过OSD设备的OSD ID和OSD集群标识, 修改OSD设备在分布式存储集群中的运行状态。 0094 实施例2 0095 如图2所示为本发明实施例中一种OSD设备的创建原理示意示意图, 由于创建分布 式存储系统。
41、中的OSD设备时, 可以选择不同的设备类型, 例如机械硬盘、 固态硬盘, 以及机械 硬盘和固态硬盘的各种组合设备DM、 FLCD等。 如图3所示为本发明实施例中一种创建OSD设 备的流程示意图, 结合图2和图3, 创建OSD设备的过程包括: 0096 S11、 根据业务需求可以将不同的设备组合创建为一个Device-mapper, 创建 Device-mapper设备时, 可以将物理硬盘的WWN和ESN写入对应的设备配置中, 例如FLCD配 置; 0097 S12、 将已创建好的Device-mapper设备, 或者物理硬盘加入到LVM中的物理卷组 中; 0098 S13、 通过业务需求将不同。
42、的物理卷组加入到不同的LVM逻辑卷组; 0099 S14、 根据LVM的逻辑卷组, 创建对应业务的逻辑卷设备, 包括OSD数据盘、 OSD元数 据盘和OSD日志盘, 并将创建OSD ID和OSD集群唯一标识以及逻辑卷的卷组信息, 通过LVM日 志信息写入到物理硬盘或者DM设备中; 0100 S15、 格式化已创建的逻辑卷设备并挂载; 格式化逻辑卷设备时, 需要将OSD设备的 OSD ID、 OSD集群标识、 OSD数据盘路径、 OSD元数据盘路径和OSD日志盘路径写入已格式化的 逻辑卷设备中; 0101 S16、 将已创建的OSD设备加入分布式存储系统并启动, 修改OSD设备在集群中的运 行状。
43、态为启动状态。 0102 实施例3 0103 如图4所示, 为本发明实施例中DM设备与物理硬盘映射关系。 Device-mapper设备 是Linux系统中, 通过内核中一个一个模块化的Target Driver插件实现对业务读写请求的 过滤或者重新定向, 当前已经实现的Target Driver插件包括软RAID、 逻辑卷条带、 多路径、 快速缓存、 镜像、 快照等。 Device-mapper由一个和多个块设备组成, 块设备可以是物理硬盘 或者硬盘分区, 也可以是Device-mapper设备, 也就是说Device-mapper可以被不断迭代。 如 图4所示, 为了获取到Device-m。
44、apper设备1的所有相关的物理硬盘, 可以采用如下方法: 0104 (1)查找Linux系统中Device-mapper 1的主设备号和次设备号; 0105 (2)通过主设备号和次设备号, 在Target Driver层可以获取到Device-mapper 1 说明书 6/9 页 10 CN 111857577 A 10 子设备为Device-mapper 2, 物理硬盘sdb和物理硬盘sdc; 0106 (3)查找Linux系统中Device-mapper 2的主设备号和次设备号; 0107 (4)通过主设备号和次设备号, 在Target Driver层可以获取到Device-mapper。
45、 2 的子设备为Device-mapper 3, 物理硬盘sda; 0108 (5)以此类推, 需要获取到Device-mapper 3的子设备。 0109 实施例4 0110 如图5所示, 为本发明实施例中一种拔盘事件处理方法的流程示意图, 拔盘事件的 处理过程包括: 0111 (1)利用Linux UDEV事件接口监听Linux系统中拔盘事件, 步骤如下: 0112 S211、 利用Linux UDEV事件接口监听Linux系统中硬件设备事件, 如果内核触发事 件, 转到S212; 0113 S212、 过滤内核事件, 如果事件为拔盘事件, 转到S213, 如果不是, 则转向S211, 继。
46、 续监听内核事件; 0114 S213、 将拔盘事件放入事件队列中, 并转到S211继续监听内核事件; 0115 S214、 获取事件队列中队列元素; 0116 S215、 判断事件队列中的元素是否为空, 如果队列不为空, 则转到S216, 否则, 转向 S214继续获取队列元素; 0117 (2)通过拔盘事件获取已拔出硬盘的盘符, 通过已拔出物理硬盘的硬盘盘符, 找到 分布式存储集群中相关的OSD设备, 步骤如下: 0118 S216、 通过拔盘事件获取已拔出硬盘的盘符、 ESN和WWN; 0119 S217、 通过Linux系统中的OSD设备的挂载点, 查找当前系统中所有OSD设备使用的 。
47、存储设备(数据盘、 日志盘、 元数据盘)的绝对路径, 以及对应OSD设备的OSD ID; 0120 S218、 通过获取到的OSD设备的绝对路径, 查找OSD设备在Linux中的主设备号和次 设备号; 0121 S219、 根据主设备号和次设备号, 判断设备是否存在子设备, 如果存在子设备, 则 转向S218, 继续查找子设备的主设备号和次设备号。 如果不存在, 转到S220; 0122 S220、 获取子设备在Linux中的硬盘盘符; 0123 S221、 比对S220中获取到的子设备的盘符和S216中获取的已拔出硬盘的盘符, 如 果匹配, 确定所拔出硬盘所对应的OSD设备, 转到S222,。
48、 否则转向S217, 继续查找下一个OSD 设备挂载点; 0124 (3)通过找到的已拔出硬盘所对应的OSD设备, 处理并隔离OSD设备信息, 步骤如 下: 0125 S222、 更新所拔出硬盘所对应的OSD设备在分布式存储系统中的状态为故障状态, 停止已拔出硬盘对应OSD设备的所有服务, 修改已拔出硬盘所对应OSD设备的状态为不健康 状态, 并隔离所拔出硬盘所对应的OSD设备; 0126 OSD设备在分布式存储系统中的状态, 包含有OSD设备的服务在分布式存储集群中 的运行状态(运行、 故障), OSD设备在分布式集群中的健康状态(健康, 错误); 0127 S223、 卸载所拔出硬盘所对应。
49、的OSD设备在Linux中的挂载点, 释放所拔出硬盘所 对应的OSD设备; 说明书 7/9 页 11 CN 111857577 A 11 0128 S224、 根据所拔出硬盘所对应的OSD设备(数据设备、 元数据设备、 日志设备), 删除 所拔出硬盘在Linux系统中遗留的LVM信息, 并更新LVM配置, 删除所拔出硬盘的逻辑卷, 逻 辑卷组合物理卷组; 0129 S225、 删除S221中匹配到的物理硬盘和DM设备在在Linux系统中DM遗留的映射逻 辑设备的路径信息, 更新FLCD配置, 删除FLCD配置中的已拔出硬盘的路径信息和已拔出硬 盘的ESN和WWN信息, 转到S214获取事件队列。
50、元素。 0130 实施例5 0131 如图6所示, 为本发明实施例中一种插盘事件处理方法的流程示意图, 插盘事件的 处理过程包括: 0132 (1)利用Linux UDEV事件接口监听Linux系统中插盘事件, 步骤包括: 0133 S231、 利用Linux UDEV事件接口监听Linux系统中硬件设备事件, 如果内核触发事 件, 转到S232; 0134 S232、 过滤内核事件, 如果事件为插盘事件, 转到S233, 如果不是, 则转向S231, 继 续监听内核事件; 0135 S233、 将Linux内核中插盘事件放入事件队列中, 并转到S231继续监听内核事件; 0136 S234、。
- 内容关键字: 分布式 存储系统 物理 硬盘 管理 方法 装置
印章弯曲文本行矫正方法、装置及系统.pdf
电缆切断装置.pdf
可调节板仓.pdf
骨料烘干装置.pdf
防停机落尘的分切机双通道吸尘机构.pdf
高精度垂直升降顶升设备.pdf
电池水冷散热器结构.pdf
手机视频采集器.pdf
不锈钢无缝管接头.pdf
棒料折弯装置.pdf
蔬菜温室大棚温湿度检测装置.pdf
铜合金电缆加工用电缆夹持装置.pdf
电路板检测用定位机构.pdf
具有高可靠性的调浆机输送装置.pdf
储能移动电源分体装置.pdf
药学西药碎药器.pdf
水循环喷淋式旋风分离除尘装置.pdf
龙虾扣检测机.pdf
管道连接的机械密封结构.pdf
多工位钻孔定位机构.pdf
圆筒混料机掘进式清料装置.pdf
低净空安装隔热保冷管托.pdf
PICC导管防压伤连接座.pdf
用于钾肥生产的筛分装置.pdf
基于JDE多任务网络模型的多目标跟踪方法.pdf
基于碳减排的多能源协调优化控制系统及方法.pdf
基于图像分析的工地大气污染物检测方法及相关装置.pdf
挤出机挤出稳定性测试装置.pdf
沉水植物群落生态系统构建方法.pdf
路网生成方法、可读存储介质及智能设备.pdf
路由表维护方法、路径选择方法、设备、系统及存储介质.pdf
照明模组、照明系统及车辆.pdf
一种应用液化天然气为燃料的船舶冷能利用装置及方法.pdf
移动终端及其应用程序的运行方法.pdf
一种行星齿轮传动装置及其装配方法.pdf
一种插板式LED灯具及其实现方法.pdf
一种对移动终端中应用进行归类的方法、系统及移动终端.pdf
一种基于安卓系统的气体充装控制系统.pdf
底部具有折叠支架的笔记本电脑.pdf
聚合氯化铝的制备方法.pdf
四缸双作用斯特林发动机工质气体平衡阀.pdf
具有换档装置的带动元件的系统.pdf
一种亲水性聚酯及其制备方法.pdf
一种应用程序运行环境独立配置的方法、装置及移动设备.pdf
一种隔膜式呼吸阀.pdf
一种虚实模态对比验证系统.pdf
一种沸腾式燃稻壳锅炉.pdf
日志记录装置和日志记录方法.pdf
大型多光源复眼式聚光透镜装置.pdf
光学频率梳发生器中一种功率有效的微波信号配置方法.pdf
一种氯化铜催化磷化氢制备四羟甲基氯化磷的工艺.pdf