首页> 中国专利> 一种clump自动热插拔的方法

一种clump自动热插拔的方法

摘要

本发明特别涉及一种clump自动热插拔的方法。该clump自动热插拔的方法,通过加载内核模块的方式触发node的物理热加操作,通过shell脚本实现对BMC管理系统发送热插或者热拔命令的检测以及clump的热插拔功能,通过ipmi工具进行BMC、BIOS和OS之间的信息同步。该clump自动热插拔的方法,当系统运行过程中故障管理系统提示某个clump节点上的内存或者CPU存在潜在故障风险时,可以在故障发生前一键式完成某一clump节点的热拔,并给FPGA断电后,将clump节点拔下来,换上新的clump节点,再一键式完成新clump节点的热插操作,这样就能很好地预防运行着关键业务的主机发生宕机的风险。

著录项

  • 公开/公告号CN105608034A

    专利类型发明专利

  • 公开/公告日2016-05-25

    原文格式PDF

  • 申请/专利权人 浪潮集团有限公司;

    申请/专利号CN201510976835.5

  • 发明设计人 宋秀苗;王文悦;

    申请日2015-12-23

  • 分类号G06F13/40;

  • 代理机构济南信达专利事务所有限公司;

  • 代理人姜明

  • 地址 250101 山东省济南市高新区浪潮路1036号

  • 入库时间 2023-12-18 15:29:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-04-18

    专利权的转移 IPC(主分类):G06F13/40 专利号:ZL2015109768355 登记生效日:20230406 变更事项:专利权人 变更前权利人:浪潮集团有限公司 变更后权利人:山东浪潮科学研究院有限公司 变更事项:地址 变更前权利人:250101 山东省济南市高新区浪潮路1036号 变更后权利人:250000 山东省济南市高新区浪潮路1036号S02号楼

    专利申请权、专利权的转移

  • 2018-08-31

    授权

    授权

  • 2016-06-22

    实质审查的生效 IPC(主分类):G06F13/40 申请日:20151223

    实质审查的生效

  • 2016-05-25

    公开

    公开

说明书

技术领域

本发明涉及系统软件Linux内核技术领域,特别涉及一种clump自动热插拔的方法。

背景技术

随着计算机技术和虚拟化技术的发展,为了更加高效地使用资源实现了资源的弹性配置。作为资源的管理者我们除了利用虚拟化技术实现资源的弹性配置外,我们还可以通过硬件资源的添加和删除来动态管理我们的资源。为了更好地实现硬件资源的动态管理,内核开始支持RAS新特性,这一特性的出现使得硬件资源的动态配置可以在系统运行的时候把影响进一步降低。

基于此,本发明设计了一种clump自动热插拔的方法。该方法不仅可以在最短的时间内实现资源的弹性配置,还可以实现运行着关键业务主机的宕机风险大大降低。

发明内容

本发明为了弥补现有技术的缺陷,提供了一种简单高效的clump自动热插拔的方法。

本发明是通过如下技术方案实现的:

一种clump自动热插拔的方法,其特征在于:通过加载内核模块的方式触发node的物理热加操作,通过shell脚本实现对BMC管理系统发送热插或者热拔命令的检测以及clump的热插拔功能,通过ipmi工具进行BMC、BIOS和OS之间的信息同步。

本发明clump自动热插拔的方法,包括以下步骤:

(1)准备好内核、BIOS、shell脚本以及内核模块;

(2)搭建ipmitool环境;

(3)搭建shell脚本运行环境;

(4)登录BMC管理系统触发热加或者热拔操作;

(5)根据OS从BMC获得的参数执行相应的操作。

所述步骤(1)中,首先到Linux内核官网下载一个对RAS支持较好的内核,打上patch并正确配置编译选项使其更好地支持内核的RAS特性,编译安装内核把内核镜像文件准备好;然后把支持RAS特性的BIOS程序烧录到BIOS中,启动服务器,并对BIOS进行设置,使其支持CPU和内存的热插拔;最后把实现不停检测BMC请求的shell脚本check-bmc.sh和实现clump自动化热加的shell脚本auto-online.sh以及实现clump自动化热拔的shell脚本auto-offline.sh准备好,放到/opt/hotplug-scripts/目录下;把实现触发node物理热加的模块编译好也放到/opt/hotplug-scripts/目录下。

所述步骤(2)中,为了能运行ipmi命令,需要加载ipmi_msghandler、impi_si和ipmi_devintf模块,同时,为了在系统启动后就可以运行ipmi命令,把加载模块代码放到/etc/rc.d/rc.local文件中。

所述步骤(3)中,为了实现检查BMC请求的shell脚本,以类似于守护进程的方式不停地检查,shell脚本以nohup和后台运行的方式执行,并把执行脚本放到/etc/rc.d/rc.local文件中,实现服务器启动后就能不停地检查BMC的请求。

所述步骤(4)中,登录进BMC管理系统,选择系统维护功能模块下的clump上下线功能,当前clump1节点处于offline状态,其offline按钮不可用,点击clump1对应的online按钮,触发clump1的上线操作。

所述步骤(5)中,自动检测BMC请求脚本根据ipmi0x2e0x06命令返回的结果01010100,得知BMC申请进行过clmup1的online操作,然后调用/opt/hotplug-scripts目录下的自动上线脚本auto-online.sh01,为了防止auto-online.sh脚本受关闭shell窗口的影响,在运行auto-online.sh的时候需要以nohup的形式运行;

在auto-online.sh脚本中,首先根据参数找到该clump下包含的所有node,然后对所有node调用加载模块操作触发node的物理热加,然后对node下的所有CPU和memory进行逻辑热加操作;

在执行node的物理热加前OS运行ipmi0x2e0x0501010101,把substatus标记位置为01,表明BIOSflow正在运行中,BIOSflow完成后,BIOS会把substatus标记位置为00表明BIOSflow执行完成,在BIOSflow执行完成后才可以执行下面的操作;BIOS和OS之间的同步主要是为了防止乱序执行,防止物理热加过程还没完成就执行逻辑热加流程;

执行完所有上线操作后,运行ipmi0x2e0x0500010100通知BMCOS上线操作完成,BMC获得该消息后会更新clump1的状态为online,online按钮不可用,offline按钮可用。

为了让热加上的clump1将来能够顺利热拔,在逻辑热加的时候需要按照内存块从大到小的顺序执行echoonline_movable>/sys/devices/system/memory/memoryXX/status操作,把物理热加到normalzone的内存转移到movablezone中。在开机启动项中也需要添加movable_node.config文件中需要config_mvable_node=y,上述操作才会生效。

本发明的有益效果是:该clump自动热插拔的方法,当系统运行过程中故障管理系统提示某个clump节点上的内存或者CPU存在潜在故障风险时,可以在故障发生前一键式完成某一clump节点的热拔,并给FPGA断电后,将clump节点拔下来,换上新的clump节点,再一键式完成新clump节点的热插操作,这样就能很好地预防运行着关键业务的主机发生宕机的风险。

附图说明

附图1为本发明clump自动热插拔的方法示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

该clump自动热插拔的方法,通过加载内核模块的方式触发node的物理热加操作,通过shell脚本实现对BMC管理系统发送热插或者热拔命令的检测以及clump的热插拔功能,通过ipmi工具进行BMC、BIOS和OS之间的信息同步。

本发明clump自动热插拔的方法,包括以下步骤:

(1)准备好内核、BIOS、shell脚本以及内核模块;

(2)搭建ipmitool环境;

(3)搭建shell脚本运行环境;

(4)登录BMC管理系统触发热加或者热拔操作;

(5)根据OS从BMC获得的参数执行相应的操作。

所述步骤(1)中,首先到Linux内核官网下载一个对RAS支持较好的内核,打上patch并正确配置编译选项使其更好地支持内核的RAS特性,编译安装内核把内核镜像文件准备好;然后把支持RAS特性的BIOS程序烧录到BIOS中,启动服务器,并对BIOS进行设置,使其支持CPU和内存的热插拔;最后把实现不停检测BMC请求的shell脚本check-bmc.sh和实现clump自动化热加的shell脚本auto-online.sh以及实现clump自动化热拔的shell脚本auto-offline.sh准备好,放到/opt/hotplug-scripts/目录下;把实现触发node物理热加的模块编译好也放到/opt/hotplug-scripts/目录下。

所述步骤(2)中,为了能运行ipmi命令,需要加载ipmi_msghandler、impi_si和ipmi_devintf模块,同时,为了在系统启动后就可以运行ipmi命令,把加载模块代码放到/etc/rc.d/rc.local文件中。

所述步骤(3)中,为了实现检查BMC请求的shell脚本,以类似于守护进程的方式不停地检查,shell脚本以nohup和后台运行的方式执行,并把执行脚本放到/etc/rc.d/rc.local文件中,实现服务器启动后就能不停地检查BMC的请求。

所述步骤(4)中,登录进BMC管理系统,选择系统维护功能模块下的clump上下线功能,当前clump1节点处于offline状态,其offline按钮不可用,点击clump1对应的online按钮,触发clump1的上线操作。

所述步骤(5)中,自动检测BMC请求脚本根据ipmi0x2e0x06命令返回的结果01010100,得知BMC申请进行过clmup1的online操作,然后调用/opt/hotplug-scripts目录下的自动上线脚本auto-online.sh01,为了防止auto-online.sh脚本受关闭shell窗口的影响,在运行auto-online.sh的时候需要以nohup的形式运行;

在auto-online.sh脚本中,首先根据参数找到该clump下包含的所有node,然后对所有node调用加载模块操作触发node的物理热加,然后对node下的所有CPU和memory进行逻辑热加操作;

在执行node的物理热加前OS运行ipmi0x2e0x0501010101,把substatus标记位置为01,表明BIOSflow正在运行中,BIOSflow完成后,BIOS会把substatus标记位置为00表明BIOSflow执行完成,在BIOSflow执行完成后才可以执行下面的操作;BIOS和OS之间的同步主要是为了防止乱序执行,防止物理热加过程还没完成就执行逻辑热加流程;

执行完所有上线操作后,运行ipmi0x2e0x0500010100通知BMCOS上线操作完成,BMC获得该消息后会更新clump1的状态为online,online按钮不可用,offline按钮可用。

为了让热加上的clump1将来能够顺利热拔,在逻辑热加的时候需要按照内存块从大到小的顺序执行echoonline_movable>/sys/devices/system/memory/memoryXX/status操作,把物理热加到normalzone的内存转移到movablezone中。在开机启动项中也需要添加movable_node.config文件中需要config_mvable_node=y,上述操作才会生效。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号