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

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

Info

Publication number
CN105608034A
CN105608034A CN201510976835.5A CN201510976835A CN105608034A CN 105608034 A CN105608034 A CN 105608034A CN 201510976835 A CN201510976835 A CN 201510976835A CN 105608034 A CN105608034 A CN 105608034A
Authority
CN
China
Prior art keywords
clump
node
bmc
hot
online
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.)
Granted
Application number
CN201510976835.5A
Other languages
English (en)
Other versions
CN105608034B (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)搭建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,上述操作才会生效。

Claims (8)

1.一种clump自动热插拔的方法,其特征在于:通过加载内核模块的方式触发node的物理热加操作,通过shell脚本实现对BMC管理系统发送热插或者热拔命令的检测以及clump的热插拔功能,通过ipmi工具进行BMC、BIOS和OS之间的信息同步。
2.根据权利要求1所述的clump自动热插拔的方法,其特征在于包括以下步骤:
(1)准备好内核、BIOS、shell脚本以及内核模块;
(2)搭建ipmitool环境;
(3)搭建shell脚本运行环境;
(4)登录BMC管理系统触发热加或者热拔操作;
(5)根据OS从BMC获得的参数执行相应的操作。
3.根据权利要求2所述的clump自动热插拔的方法,其特征在于:所述步骤(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/目录下。
4.根据权利要求2所述的clump自动热插拔的方法,其特征在于:所述步骤(2)中,为了能运行ipmi命令,需要加载ipmi_msghandler、impi_si和ipmi_devintf模块,同时,为了在系统启动后就可以运行ipmi命令,把加载模块代码放到/etc/rc.d/rc.local文件中。
5.根据权利要求2所述的clump自动热插拔的方法,其特征在于:所述步骤(3)中,为了实现检查BMC请求的shell脚本,以类似于守护进程的方式不停地检查,shell脚本以nohup和后台运行的方式执行,并把执行脚本放到/etc/rc.d/rc.local文件中,实现服务器启动后就能不停地检查BMC的请求。
6.根据权利要求2所述的clump自动热插拔的方法,其特征在于:所述步骤(4)中,登录进BMC管理系统,选择系统维护功能模块下的clump上下线功能,当前clump1节点处于offline状态,其offline按钮不可用,点击clump1对应的online按钮,触发clump1的上线操作。
7.根据权利要求2所述的clump自动热插拔的方法,其特征在于:所述步骤(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按钮可用。
8.根据权利要求7所述的clump自动热插拔的方法,其特征在于:为了让热加上的clump1将来能够顺利热拔,在逻辑热加的时候需要按照内存块从大到小的顺序执行echoonline_movable>/sys/devices/system/memory/memoryXX/status操作,把物理热加到normalzone的内存转移到movablezone中;在开机启动项中也需要添加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 true CN105608034A (zh) 2016-05-25
CN105608034B 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)

Cited By (2)

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

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 苏州科达科技股份有限公司 热插拔处理系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHENG-LIANG: "《https://github.com/rancher/os/issues/215》", 23 August 2015 *
SPOTIFY: "《https://github.com/spotify/linux/blob/master/Documentation/memory-hotplug.txt》", 11 October 2007 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021135272A1 (zh) * 2019-12-29 2021-07-08 苏州浪潮智能科技有限公司 一种内存异常的处理方法、系统、电子设备及存储介质
US11977744B2 (en) 2019-12-29 2024-05-07 Inspur Suzhou Intelligent Technology Co., Ltd. Memory anomaly processing method and system, electronic device, and storage medium
CN117251330A (zh) * 2023-11-17 2023-12-19 紫光恒越技术有限公司 一种监测配件拔出插入的装置及应用产品
CN117251330B (zh) * 2023-11-17 2024-02-13 紫光恒越技术有限公司 一种监测配件拔出插入的装置及应用产品

Also Published As

Publication number Publication date
CN105608034B (zh) 2018-08-31

Similar Documents

Publication Publication Date Title
US20220179682A1 (en) Task processing method, apparatus, and system based on distributed system
JP6383839B2 (ja) リモートkvmセッションに使用する方法、記憶装置及びシステム
WO2016037479A1 (zh) 虚拟化网络功能vnf优化方法、装置及系统
WO2021129733A1 (zh) 云操作系统的管理方法、装置、服务器、管理系统及介质
US10936295B2 (en) Software update system
CN107632937B (zh) 一种对虚拟机集群进行测试的方法、装置、可读存储介质
WO2018095414A1 (zh) 虚拟机故障的检测和恢复方法及装置
CN105024879A (zh) 虚拟机故障检测、恢复系统及虚拟机检测、恢复、启动方法
WO2022057756A1 (zh) 一种设备的启动方法、装置、电子设备及计算机存储介质
EP4095678A1 (en) Method and apparatus of deploying a cluster, device and storage medium
WO2015062217A1 (zh) 虚拟桌面系统中外设的接入处理方法及装置
US8893114B1 (en) Systems and methods for executing a software package from within random access memory
CN103200271A (zh) Arm服务器及其自动化安装系统的方法
CN115904520A (zh) 基于pcie拓扑状态变更的配置保存方法及相关设备
US20190138337A1 (en) Saas based solution- orchestration platform for orchestrating virtual network solutions on public/private cloud infrastructure for learning/development/evaluation/demos/validation/deployment
US20230229481A1 (en) Provisioning dpu management operating systems
CN104516744A (zh) 软件更新方法及系统
CN105608034A (zh) 一种clump自动热插拔的方法
CN114024853A (zh) 一种裸金属节点的硬件信息收集方法、系统及相关组件
CN112099916B (zh) 虚拟机数据的迁移方法、装置、计算机设备及存储介质
CN106254162A (zh) 基于网络的linux集群计算节点操作系统恢复方法
WO2020096845A1 (en) Performing actions opportunistically in connection with reboot events in a cloud computing system
WO2023185136A1 (zh) 一种边缘节点的处理方法、装置及介质
CN114615285A (zh) 一种物理机的部署方法、装置、电子设备及存储介质
US10599412B2 (en) Operating system installation on a computing device with multiple redundant drives

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
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.