一种clump自动热插拔的方法

文档序号:9844055阅读:889来源:国知局
一种clump自动热插拔的方法
【技术领域】
[0001]本发明涉及系统软件Linux内核技术领域,特别涉及一种Clump自动热插拔的方法。
【背景技术】
[0002]随着计算机技术和虚拟化技术的发展,为了更加高效地使用资源实现了资源的弹性配置。作为资源的管理者我们除了利用虚拟化技术实现资源的弹性配置外,我们还可以通过硬件资源的添加和删除来动态管理我们的资源。为了更好地实现硬件资源的动态管理,内核开始支持RAS新特性,这一特性的出现使得硬件资源的动态配置可以在系统运行的时候把影响进一步降低。
[0003]基于此,本发明设计了一种clump自动热插拔的方法。该方法不仅可以在最短的时间内实现资源的弹性配置,还可以实现运行着关键业务主机的宕机风险大大降低。

【发明内容】

[0004]本发明为了弥补现有技术的缺陷,提供了一种简单高效的clump自动热插拔的方法。
[0005]本发明是通过如下技术方案实现的:
一种c I ump自动热插拔的方法,其特征在于:通过加载内核模块的方式触发no de的物理热加操作,通过shel I脚本实现对BMC管理系统发送热插或者热拔命令的检测以及clump的热插拔功能,通过ipmi工具进行BMC、B10S和OS之间的信息同步。
[0006 ]本发明c I ump自动热插拔的方法,包括以下步骤:
(1)准备好内核、BIOS、she 11脚本以及内核模块;
(2)搭建ipmitool环境;
(3)搭建shell脚本运行环境;
(4)登录BMC管理系统触发热加或者热拔操作;
(5)根据OS从BMC获得的参数执行相应的操作。
[0007]所述步骤(I)中,首先到L i n u X内核官网下载一个对RA S支持较好的内核,打上patch并正确配置编译选项使其更好地支持内核的RAS特性,编译安装内核把内核镜像文件准备好;然后把支持RAS特性的B1S程序烧录到B1S中,启动服务器,并对B1S进行设置,使其支持CPU和内存的热插拔;最后把实现不停检测BMC请求的shell脚本check-bmc.sh和实现c lump自动化热加的she 11脚本auto-online.sh以及实现clump自动化热拔的she 11脚本auto-off line, sh准备好,放到/opt/hotplug-scripts/目录下;把实现触发node物理热加的模块编译好也放到/opt/hotplug-scripts/目录下。
[0008]所述步骤(2)中,为了能运行ipmi命令,需要加载ipmi_msghandler、impi_si和ipmi_devintf模块,同时,为了在系统启动后就可以运行ipmi命令,把加载模块代码放到/etc/rc.d/rc.local文件中。
[0009]所述步骤(3)中,为了实现检查BMC请求的shell脚本,以类似于守护进程的方式不停地检查,she 11脚本以nohup和后台运行的方式执行,并把执行脚本放到/etc/rc.d/rc.local文件中,实现服务器启动后就能不停地检查BMC的请求。
[00?0]所述步骤(4)中,登录进BMC管理系统,选择系统维护功能模块下的clump上下线功能,当前clumpl节点处于off line状态,其off line按钮不可用,点击clumpl对应的online按钮,触发c lump I的上线操作。
[00??] 所述步骤(5)中,自动检测BMC请求脚本根据ipmi 0x2e 0x06命令返回的结果0101 01 00,得知BMC申请进行过clmupl的online操作,然后调用/opt/hotplug-scripts目录下的自动上线脚本auto-online.sh 01,为了防止auto-online.sh脚本受关闭shel I窗口的影响,在运行auto-online, sh的时候需要以nohup的形式运行;
在auto-online, sh脚本中,首先根据参数找到该clump下包含的所有node,然后对所有node调用加载模块操作触发node的物理热加,然后对node下的所有CPU和memory进行逻辑热加操作;
在执行node的物理热加前OS运行ipmi 0x2e 0x05 01 01 01 01,把substatus标记位置为01,表明B1S flow正在运行中,B1S flow完成后,B1S会把substatus标记位置为00表明B1S flow执行完成,在B1S flow执行完成后才可以执行下面的操作;B1S和OS之间的同步主要是为了防止乱序执行,防止物理热加过程还没完成就执行逻辑热加流程;
执行完所有上线操作后,运行ipmi 0x2e 0x05 00 01 01 00通知BMC OS上线操作完成,BMC获得该消息后会更新c Iumpl的状态为online ,online按钮不可用,off line按钮可用。
[0012]为了让热加上的clumpl将来能够顺利热拔,在逻辑热加的时候需要按照内存块从大至1J小的川页序执对丁echo online—movable > /sys /devices /system /memory /memoryXX /status操作,把物理热加到normal zone的内存转移到movable zone中。在开机启动项中也需要添加movable_node.conf ig文件中需要conf ig_mvable_node=y,上述操作才会生效。
[0013]本发明的有益效果是:该clump自动热插拔的方法,当系统运行过程中故障管理系统提示某个clump节点上的内存或者CPU存在潜在故障风险时,可以在故障发生前一键式完成某一clump节点的热拔,并给FPGA断电后,将clump节点拔下来,换上新的clump节点,再一键式完成新clump节点的热插操作,这样就能很好地预防运行着关键业务的主机发生宕机的风险。
【附图说明】
[0014]附图1为本发明clump自动热插拔的方法示意图。
【具体实施方式】
[0015]为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0016]该clump自动热插拔的方法,通过加载内核模块的方式触发node的物理热加操作,通过shell脚本实现对BMC管理系统发送热插或者热拔命令的检测以及clump的热插拔功能,通过ipmi工具进行BMC、B1S和OS之间的信息同步。
[0017]本发明clump自动热插拔的方法,包括以下步骤:
(1)准备好内核、BIOS、she 11脚本以及内核模块;
(2)搭建ipmitool环境;
(3)搭建shell脚本运行环境;
(4)登录BMC管理系统触发热加或者热拔操作;
(5)根据OS从BMC获得的参数执行相应的操作。
[0018]所述步骤(I)中,首先到Linux内核官网下载一个对RAS支持较好的内核,打上patch并正确配置编译选项使其更好地支持内核的RAS特性,编译安装内核把内核镜像文件准备好;然后把支持RAS特性的B1S程序烧录到B1S中,启动服务器,并对B1S进行设置,使其支持CPU和内存的热插拔;最后把实现不停检测BMC请求的shell脚本check-bmc.sh和实现c lump自动化热加的she 11脚本auto-online.sh以及实现clump自动化热拔的she 11脚本auto-off line, sh准备好,放到/opt/hotplug-scripts/目录下;把实现触发node物理热加的模块编译好也放到/opt/hotplug-scripts/目录下。
[0019]所述步骤(2)中,为了能运行ipmi命令,需要加载ipmi_msghandler、impi_si和ipmi_devintf模块,同时,为了在系统启动后就可以运行ipmi命令,把加载模块代码放到/etc/rc.d/rc.local文件中。
[0020]所述步骤(3)中,为了实现检查BMC请求的shell脚本,以类似于守护进程的方式不停地检查,she
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1