CN105608034B - 一种clump自动热插拔的方法 - Google Patents

一种clump自动热插拔的方法 Download PDF

Info

Publication number
CN105608034B
CN105608034B CN201510976835.5A CN201510976835A CN105608034B CN 105608034 B CN105608034 B CN 105608034B CN 201510976835 A CN201510976835 A CN 201510976835A CN 105608034 B CN105608034 B CN 105608034B
Authority
CN
China
Prior art keywords
clump
bmc
bios
ipmi
scripts
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510976835.5A
Other languages
English (en)
Other versions
CN105608034A (zh
Inventor
宋秀苗
王文悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Science Research Institute Co Ltd
Original Assignee
Inspur Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201510976835.5A priority Critical patent/CN105608034B/zh
Publication of CN105608034A publication Critical patent/CN105608034A/zh
Application granted granted Critical
Publication of CN105608034B publication Critical patent/CN105608034B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging

Abstract

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

Description

一种clump自动热插拔的方法
技术领域
本发明涉及系统软件Linux内核技术领域,特别涉及一种clump自动热插拔的方法。
背景技术
随着计算机技术和虚拟化技术的发展,为了更加高效地使用资源实现了资源的弹性配置。作为资源的管理者我们除了利用虚拟化技术实现资源的弹性配置外,我们还可以通过硬件资源的添加和删除来动态管理我们的资源。为了更好地实现硬件资源的动态管理,内核开始支持RAS新特性,这一特性的出现使得硬件资源的动态配置可以在系统运行的时候把影响进一步降低。
基于此,本发明设计了一种clump自动热插拔的方法。该方法不仅可以在最短的时间内实现资源的弹性配置,还可以实现运行着关键业务主机的宕机风险大大降低。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的clump自动热插拔的方法。
本发明是通过如下技术方案实现的:
一种clump自动热插拔的方法,其特征在于:通过加载内核模块的方式触发node的物理热加操作,通过shell脚本实现对BMC管理系统发送热插或者热拔命令的检测以及clump的热插拔功能,通过ipmi工具进行BMC、BIOS和OS之间的信息同步。
本发明clump自动热插拔的方法,包括以下步骤:
(1)准备好内核、BIOS、shell脚本以及内核模块;
(2)搭建ipmi tool环境;
(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、ipmi_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请求脚本根据ipmi 0x2e 0x06命令返回的结果0101 01 00,得知BMC申请进行过clmup1的online操作,然后调用/opt/hotplug-scripts目录下的自动上线脚本auto-online.sh 01,为了防止auto-online.sh脚本受关闭shell窗口的影响,在运行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,表明BIOS flow正在运行中,BIOS flow完成后,BIOS会把substatus标记位置为00表明BIOS flow执行完成,在BIOS flow执行完成后才可以执行下面的操作;BIOS和OS之间的同步主要是为了防止乱序执行,防止物理热加过程还没完成就执行逻辑热加流程;
执行完所有上线操作后,运行ipmi 0x2e 0x05 00 01 01 00通知BMC OS上线操作完成,BMC获得该通知后会更新clump1的状态为online,online按钮不可用,offline按钮可用。
为了让热加上的clump1将来能够顺利热拔,在逻辑热加的时候需要按照内存块从大到小的顺序执行echo online_movable > /sys /devices /system /memory /memoryXX /status操作,把物理热加到normal zone的内存转移到movable zone中。在开机启动项中需要在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)搭建ipmi tool环境;
(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、ipmi_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请求脚本根据ipmi 0x2e 0x06命令返回的结果0101 01 00,得知BMC申请进行过clmup1的online操作,然后调用/opt/hotplug-scripts目录下的自动上线脚本auto-online.sh 01,为了防止auto-online.sh脚本受关闭shell窗口的影响,在运行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,表明BIOS flow正在运行中,BIOS flow完成后,BIOS会把substatus标记位置为00表明BIOS flow执行完成,在BIOS flow执行完成后才可以执行下面的操作;BIOS和OS之间的同步主要是为了防止乱序执行,防止物理热加过程还没完成就执行逻辑热加流程;
执行完所有上线操作后,运行ipmi 0x2e 0x05 00 01 01 00通知BMC OS上线操作完成,BMC获得该通知后会更新clump1的状态为online,online按钮不可用,offline按钮可用。
为了让热加上的clump1将来能够顺利热拔,在逻辑热加的时候需要按照内存块从大到小的顺序执行echo online_movable > /sys /devices /system /memory /memoryXX /status操作,把物理热加到normal zone的内存转移到movable zone中。在开机启动项中需要在movable_node.config文件中添加config_mvable_node=y,上述操作才会生效。

Claims (6)

1.一种clump自动热插拔的方法,其特征在于:通过加载内核模块的方式触发node的物理热加操作,通过shell脚本实现对BMC管理系统发送热插或者热拔命令的检测以及clump的热插拔功能,通过ipmi工具进行BMC、BIOS和OS之间的信息同步;
具体包括以下步骤:
(1)准备好内核、BIOS、shell脚本以及内核模块;
所述步骤(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 tool环境;
(3)搭建shell脚本运行环境;
(4)登录BMC管理系统触发热加或者热拔操作;
(5)根据OS从BMC获得的参数执行相应的操作。
2.根据权利要求1所述的clump自动热插拔的方法,其特征在于:所述步骤(2)中,为了能运行ipmi命令,需要加载ipmi_msghandler、ipmi_si和ipmi_devintf模块,同时,为了在系统启动后就可以运行ipmi命令,把加载模块代码放到/etc/rc.d/rc.local文件中。
3.根据权利要求1所述的clump自动热插拔的方法,其特征在于:所述步骤(3)中,为了实现检查BMC请求的shell脚本,以类似于守护进程的方式不停地检查,shell脚本以nohup和后台运行的方式执行,并把执行脚本放到/etc/rc.d/rc.local文件中,实现服务器启动后就能不停地检查BMC的请求。
4.根据权利要求1所述的clump自动热插拔的方法,其特征在于:所述步骤(4)中,登录进BMC管理系统,选择系统维护功能模块下的clump上下线功能,当前clump1节点处于offline状态,其offline按钮不可用,点击clump1对应的online按钮,触发clump1的上线操作。
5.根据权利要求1所述的clump自动热插拔的方法,其特征在于:所述步骤(5)中,自动检测BMC请求脚本根据ipmi 0x2e 0x06命令返回的结果01 01 01 00,得知BMC申请进行过clmup1的online操作,然后调用/opt/hotplug-scripts目录下的自动上线脚本auto-online.sh 01,为了防止auto-online.sh脚本受关闭shell窗口的影响,在运行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,表明BIOS flow正在运行中,BIOS flow完成后,BIOS会把substatus标记位置为00表明BIOS flow执行完成,在BIOS flow执行完成后才可以执行下面的操作;BIOS和OS之间的同步主要是为了防止乱序执行,防止物理热加过程还没完成就执行逻辑热加流程;
执行完所有上线操作后,运行ipmi 0x2e 0x05 00 01 01 00通知BMC OS上线操作完成,BMC获得该通知后会更新clump1的状态为online,online按钮不可用,offline按钮可用。
6.根据权利要求5所述的clump自动热插拔的方法,其特征在于:为了让热加上的clump1将来能够顺利热拔,在逻辑热加的时候需要按照内存块从大到小的顺序执行echoonline_movable > /sys /devices /system /memory /memory XX /status操作,把物理热加到normal zone的内存转移到movable zone中;在开机启动项中需要在movable_node.config文件中添加config_mvable_node=y,上述操作才会生效。
CN201510976835.5A 2015-12-23 2015-12-23 一种clump自动热插拔的方法 Active CN105608034B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510976835.5A CN105608034B (zh) 2015-12-23 2015-12-23 一种clump自动热插拔的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510976835.5A CN105608034B (zh) 2015-12-23 2015-12-23 一种clump自动热插拔的方法

Publications (2)

Publication Number Publication Date
CN105608034A CN105608034A (zh) 2016-05-25
CN105608034B true CN105608034B (zh) 2018-08-31

Family

ID=55987983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510976835.5A Active CN105608034B (zh) 2015-12-23 2015-12-23 一种clump自动热插拔的方法

Country Status (1)

Country Link
CN (1) CN105608034B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143104A (zh) * 2019-12-29 2020-05-12 苏州浪潮智能科技有限公司 一种内存异常的处理方法、系统、电子设备及存储介质
CN117251330B (zh) * 2023-11-17 2024-02-13 紫光恒越技术有限公司 一种监测配件拔出插入的装置及应用产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169682A (zh) * 2006-10-27 2008-04-30 环达电脑(上海)有限公司 一种支持硬盘热插拔的系统
CN104615572A (zh) * 2015-02-27 2015-05-13 苏州科达科技股份有限公司 热插拔处理系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169682A (zh) * 2006-10-27 2008-04-30 环达电脑(上海)有限公司 一种支持硬盘热插拔的系统
CN104615572A (zh) * 2015-02-27 2015-05-13 苏州科达科技股份有限公司 热插拔处理系统及方法

Also Published As

Publication number Publication date
CN105608034A (zh) 2016-05-25

Similar Documents

Publication Publication Date Title
US9032200B2 (en) Method of installing virtual service processor (VSP) to computing device and application of the same
CN107528801B (zh) 从架顶式交换机提供超融合基础架构裸机系统
CN108038019B (zh) 一种基板管理控制器的故障自动恢复方法及系统
CN107209671B (zh) 计算机中启动操作的动态自动监测和控制
CN111989681A (zh) 自动部署的信息技术(it)系统和方法
EP4083786A1 (en) Cloud operating system management method and apparatus, server, management system, and medium
US11132187B2 (en) Bare metal provisioning of software defined infrastructure
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
WO2018095414A1 (zh) 虚拟机故障的检测和恢复方法及装置
US10379922B1 (en) Error recovery in a virtual machine-based development environment
US10541862B2 (en) VNF processing policy determining method, apparatus, and system
CN103200036B (zh) 一种电力系统云计算平台的自动化配置方法
CN110098952B (zh) 一种服务器的管理方法和装置
CN113656147B (zh) 一种集群部署方法、装置、设备及存储介质
CN105306225A (zh) 一种基于Openstack的物理机远程关机方法
US10949111B2 (en) Updating operating system images of inactive compute instances
US10983877B1 (en) Backup monitoring with automatic verification
WO2015062217A1 (zh) 虚拟桌面系统中外设的接入处理方法及装置
US20230229423A1 (en) Pushing a firmware update patch to a computing device via an out-of-band path
US10972350B2 (en) Asynchronous imaging of computing nodes
CN105608034B (zh) 一种clump自动热插拔的方法
US20230229481A1 (en) Provisioning dpu management operating systems
US10353729B1 (en) Managing service dependencies across virtual machines in a development environment
US10656959B2 (en) Shutting down of a virtual system
CN111090537A (zh) 集群启动方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230406

Address after: 250000 building S02, No. 1036, Langchao Road, high tech Zone, Jinan City, Shandong Province

Patentee after: Shandong Inspur Scientific Research Institute Co.,Ltd.

Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Patentee before: INSPUR GROUP Co.,Ltd.

TR01 Transfer of patent right