CN105760276A - 提高reboot命令重启可靠性并增加复位日志的方法 - Google Patents

提高reboot命令重启可靠性并增加复位日志的方法 Download PDF

Info

Publication number
CN105760276A
CN105760276A CN201610097426.2A CN201610097426A CN105760276A CN 105760276 A CN105760276 A CN 105760276A CN 201610097426 A CN201610097426 A CN 201610097426A CN 105760276 A CN105760276 A CN 105760276A
Authority
CN
China
Prior art keywords
reset
file system
linux file
kernel
linux
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
CN201610097426.2A
Other languages
English (en)
Other versions
CN105760276B (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.)
Beacon Fire Ultra-micro Information Technology Co., Ltd.
Original Assignee
Fiberhome Telecommunication Technologies 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 Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201610097426.2A priority Critical patent/CN105760276B/zh
Publication of CN105760276A publication Critical patent/CN105760276A/zh
Application granted granted Critical
Publication of CN105760276B publication Critical patent/CN105760276B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种提高reboot命令重启可靠性并增加复位日志的方法,包括:增加并加载内核监控模块,初始化内核定时器并配置复位监控超时时间;接到reboot命令后,复位脚本开始执行;超时时间内,在复位脚本执行的最后,通过用户态复位***,并记录复位原因日志,若复位失败,则执行reboot命令复位***,记录复位原因日志;超时后,若***复位失败,则内核态复位***,记录复位原因日志。本发明通过增加用户态应用程序和内核态复位控制保护,启动定时器监控复位,并增加复位原因日志供查询,在***异常导致reboot命令无法复位***时,控制内核监控模块复位***,增加了***复位手段,提高了***健壮性和可维护管理能力。

Description

提高reboot命令重启可靠性并增加复位日志的方法
技术领域
本发明涉及Linux***管理和故障诊断,具体涉及提高reboot命令重启可靠性并增加复位日志的方法。
背景技术
通信***稳定性要求高,在***升级、设备工程开通或故障排查的时候,经常需要用到reboot命令来重启***,Linux的reboot命令是通过api调用sys_reboot,最终调用CPU平台相关的函数machine_restart,完成重启。
在重启之前,Linux文件***会执行脚本/etc/rc6.d/S01reboot来完成文件***的安全卸载、应用进程的退出以及服务的安全停止等,以最大限度的保护Linux文件***不受破坏,但是如果某个操作挂死或异常的时候,reboot命令就会一直挂死,对用户而言,就是Linux的reboot命令导致***死掉,没有任何打印和日志,控制台没有反应,除非通过人为掉电或按键复位才能恢复,对于通信设备等无人值守的***来说,带来了极大的不便,同时会造成业务的中断和宕机,影响极其严重。在异常情况下,如果文件***破坏或异常,用户将无法通过reboot命令来重启***,***将处于无法重启的状态。
有鉴于此,急需提供一种能够解决Linux文件***无法复位重启和没有重启失败日志的方法。
发明内容
本发明所要解决的技术问题是解决Linux文件***无法复位重启和没有重启失败日志的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种提高reboot命令重启可靠性并增加复位日志的方法,包括以下步骤:
S1:进入Linux文件***后,增加并加载内核监控模块,初始化内核高精度定时器,并配置内核高精度定时器的复位监控超时时间;
S2:Linux文件***接收到reboot命令后,Linux文件***的复位脚本开始执行;
S3:复位监控超时时间内,在Linux文件***的复位脚本执行的最后,调用用户态应用程序写CPU寄存器复位Linux文件***,并记录复位原因日志,如果复位成功,则Linux文件***正常复位,如果复位失败,则执行reboot命令完成Linux文件***的复位,并记录复位原因日志;超出复位监控超时时间时,如果Linux文件***复位失败,则在内核态写CPU寄存器复位Linux文件***,并记录复位原因日志。
在上述技术方案中,若所述Linux文件***在运行过程中出现破坏或异常,导致无法执行所述reboot命令,则通过控制所述内核监控模块在内核态写CPU寄存器完成所述Linux文件***的复位,并记录所述Linux文件***的reboot命令异常日志和复位原因日志。
在上述技术方案中,所述内核高精度定时器的复位监控超时时间默认配置为一分钟。
在上述技术方案中,所述Linux文件***的复位脚本为/etc/rc6.d/S01reboot
在上述技术方案中,创建所述Linux文件***的交互接口文件/sys/devices/platform/watchdog.0/fh_dog,作为所述用户态和所述内核态的交互开关。
在上述技术方案中,所述内核监控模块为watchdog.ko。
本发明通过增加并加载内核监控模块,定义一个内核高精度定时器,修改复位脚本,增加用户态应用程序复位控制保护,启动内核高精度定时器来监控复位过程,增加内核态直接复位Linux文件***控制,增加内核态复位控制保护,同时增加每个复位原因到内存日志文件供查询。在Linux文件***异常导致reboot命令无法执行复位Linux文件***的情况下,支持直接控制内核监控模块来复位Linux文件***,增加了Linux文件***复位手段,提高了Linux文件***的健壮性和可维护管理能力。本发明具有以下有益效果:
(1)内核高精度定时器调度开销小,执行可靠;(2)内核高精度定时器复位监控超时时间可以通过软件参数控制,灵活方便且通用性强;(3)内核态任务不会被用户空间reboot命令触发的kill命令杀掉,安全可靠;(4)用户态和内核态的双重保护,确保Linux文件***的可靠复位;(5)监控开关可以通过简单的接口文件开关控制,默认处于待机状态,内核高精度定时器不工作,不占用CPU时间,软件健壮性好;(6)可以记录不同的Linux文件***复位原因到日志文件,方便定位Linux文件***复位原因;(7)可以满足Linux文件***异常情况下的Linux文件***复位需求,提高了Linux文件***的可维护性。
附图说明
图1为本发明实施例提供的一种提高reboot命令重启可靠性并增加复位日志的方法流程图;
图2为本发明实施例的具体实施流程图。
具体实施方式
本发明,基于内核高精度定时器、reboot命令和内核监控模块,首先在执行reboot命令(重启命令)的入口,启动一个内核高精度定时器,在正常复位流程最后,通过用户态应用程序控制CPU寄存器来复位Linux文件***,并记录复位原因日志,如果不成功则调用reboot命令的默认代码执行Linux文件***复位,并记录复位原因日志,当内核高精度定时器超时,Linux文件***没有复位成功,则在内核态通过直接控制CPU寄存器完成Linux文件***的复位,并且记录各种复位原因到***日志文件,用户空间和内核空间的双重保护可以最大限度提高reboot命令完成重启的可靠性。在Linux文件***破坏,导致reboot命令无法执行的情况下,可以直接控制内核监控模块实现Linux文件***的复位重启,增强了Linux文件***复位手段。同时,由于增加了复位原因日志,可以帮助分析Linux文件***重启的原因及查询Linux文件***是否出现过异常。
下面结合说明书附图和具体实施方式对本发明做出详细的说明。
本发明实施例提供了一种提高reboot命令重启可靠性并增加复位日志的方法,如图1所示,包括以下步骤:
S1:进入Linux文件***后,增加并加载内核监控模块watchdog.ko,初始化内核高精度定时器,并配置内核高精度定时器的复位监控超时时间;
S2:Linux文件***接收到reboot命令后,Linux文件***的复位脚本/etc/rc6.d/S01reboot开始执行;
S3:复位监控超时时间内,在Linux文件***的复位脚本执行的最后,调用用户态应用程序写CPU寄存器复位Linux文件***,并记录复位原因日志,如果复位成功,则Linux文件***正常复位,如果复位失败,则执行reboot命令完成Linux文件***的复位,并记录复位原因日志;超出复位监控超时时间时,如果Linux文件***复位失败,则在内核态写CPU寄存器复位Linux文件***,并记录复位原因日志。
在上述方法中,若Linux文件***在运行过程中出现破坏或异常,导致无法执行reboot命令,则通过控制内核监控模块在内核态写CPU寄存器完成Linux文件***的复位,并记录Linux文件***的reboot命令异常日志和复位原因日志。
其中,内核高精度定时器的复位监控超时时间默认配置为1分钟,同时创建Linux文件***的交互接口文件/sys/devices/platform/watchdog.0/fh_dog,作为用户态和内核态的交互开关。
如图2所示,为本发明实施例的具体实施流程图,具体包括以下步骤:
S101、进入Linux文件***后,加载内核监控模块驱动watchdog.ko,初始化内核高精度定时器,并配置内核高精度定时器的复位监控超时时间。
S102、判断Linux文件***是否接收到reboot命令,如果是,转S103;否则,转S110。
S103、Linux文件***的复位脚本/etc/rc6.d/S01reboot开始执行。
S104、在复位脚本的入口启动内核高精度定时器,内核高精度定时器开始计时。
S105、判断内核高精度定时器是否超时,如果是,转S106;否则,转S107。
S106、如果Linux文件***复位失败,则在内核态写CPU寄存器完成Linux文件***的复位,并记录复位原因日志,转S113。
S107、在Linux文件***的复位脚本执行的最后,调用用户态应用程序写CPU寄存器复位Linux文件***,并记录复位原因日志。
S108、判断复位是否成功,如果是,则直接转S113;否则,转S109。
S109、执行reboot命令完成Linux文件***的复位,并记录复位原因日志,转S113。
S110、判断是否接收到内核监控模块的复位请求,如果是,转S111;否则,转S113。
S111、通过控制内核监控模块在内核态写CPU寄存器完成Linux文件***的复位。
S112、记录Linux文件***的reboot命令异常日志和复位原因日志,转S113。
S113、结束。
本发明通过增加并加载内核监控模块,定义一个内核高精度定时器,修改复位脚本,增加用户态应用程序复位控制保护,启动内核高精度定时器来监控复位过程,增加内核态直接复位Linux文件***控制,增加内核态复位控制保护,同时增加每个复位原因到内存日志文件供查询。在Linux文件***异常导致reboot命令无法执行复位Linux文件***的情况下,支持直接控制内核监控模块来复位Linux文件***,增加了Linux文件***复位手段,提高了Linux文件***的健壮性和可维护管理能力。
本发明不局限于上述最佳实施方式,任何人在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

Claims (6)

1.提高reboot命令重启可靠性并增加复位日志的方法,其特征在于,包括以下步骤:
S1:进入Linux文件***后,增加并加载内核监控模块,初始化内核高精度定时器,并配置内核高精度定时器的复位监控超时时间;
S2:Linux文件***接收到reboot命令后,Linux文件***的复位脚本开始执行;
S3:复位监控超时时间内,在Linux文件***的复位脚本执行的最后,调用用户态应用程序写CPU寄存器复位Linux文件***,并记录复位原因日志,如果复位成功,则Linux文件***正常复位,如果复位失败,则执行reboot命令完成Linux文件***的复位,并记录复位原因日志;超出复位监控超时时间时,如果Linux文件***复位失败,则在内核态写CPU寄存器复位Linux文件***,并记录复位原因日志。
2.如权利要求1所述的方法,其特征在于,若所述Linux文件***在运行过程中出现破坏或异常,导致无法执行所述reboot命令,则通过控制所述内核监控模块在内核态写CPU寄存器完成所述Linux文件***的复位,并记录所述Linux文件***的reboot命令异常日志和复位原因日志。
3.如权利要求1所述的方法,其特征在于,所述内核高精度定时器的复位监控超时时间默认配置为一分钟。
4.如权利要求1所述的方法,其特征在于,所述Linux文件***的复位脚本为/etc/rc6.d/S01reboot。
5.如权利要求1所述的方法,其特征在于,创建所述Linux文件***的交互接口文件/sys/devices/platform/watchdog.0/fh_dog,作为所述用户态和所述内核态的交互开关。
6.如权利要求1所述的方法,其特征在于,所述内核监控模块为watchdog.ko。
CN201610097426.2A 2016-02-19 2016-02-19 提高reboot命令重启可靠性并增加复位日志的方法 Active CN105760276B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610097426.2A CN105760276B (zh) 2016-02-19 2016-02-19 提高reboot命令重启可靠性并增加复位日志的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610097426.2A CN105760276B (zh) 2016-02-19 2016-02-19 提高reboot命令重启可靠性并增加复位日志的方法

Publications (2)

Publication Number Publication Date
CN105760276A true CN105760276A (zh) 2016-07-13
CN105760276B CN105760276B (zh) 2018-05-29

Family

ID=56331096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610097426.2A Active CN105760276B (zh) 2016-02-19 2016-02-19 提高reboot命令重启可靠性并增加复位日志的方法

Country Status (1)

Country Link
CN (1) CN105760276B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762886A (zh) * 2018-05-08 2018-11-06 烽火通信科技股份有限公司 虚拟机的故障检测恢复方法及***
CN112698870A (zh) * 2019-10-23 2021-04-23 杭州海康威视数字技术股份有限公司 开关机管理方法、计算设备及存储介质
CN114489817A (zh) * 2021-12-28 2022-05-13 深圳市腾芯通智能科技有限公司 处理器启动方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247615A (zh) * 2008-03-07 2008-08-20 上海华为技术有限公司 提高通信设备可靠性的方法及装置
CN101739305A (zh) * 2010-02-09 2010-06-16 太仓市同维电子有限公司 操作***内核级实时看门狗监控装置及其监控方法
CN102483713A (zh) * 2009-08-04 2012-05-30 富士通株式会社 复位方法以及监视装置
US20120173859A1 (en) * 2010-12-29 2012-07-05 Brocade Communications Systems, Inc. Techniques for stopping rolling reboots
CN103514057A (zh) * 2012-06-26 2014-01-15 京信通信技术(广州)有限公司 一种linux***自愈方法、装置及自愈***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247615A (zh) * 2008-03-07 2008-08-20 上海华为技术有限公司 提高通信设备可靠性的方法及装置
CN102483713A (zh) * 2009-08-04 2012-05-30 富士通株式会社 复位方法以及监视装置
CN101739305A (zh) * 2010-02-09 2010-06-16 太仓市同维电子有限公司 操作***内核级实时看门狗监控装置及其监控方法
US20120173859A1 (en) * 2010-12-29 2012-07-05 Brocade Communications Systems, Inc. Techniques for stopping rolling reboots
CN103514057A (zh) * 2012-06-26 2014-01-15 京信通信技术(广州)有限公司 一种linux***自愈方法、装置及自愈***

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762886A (zh) * 2018-05-08 2018-11-06 烽火通信科技股份有限公司 虚拟机的故障检测恢复方法及***
CN112698870A (zh) * 2019-10-23 2021-04-23 杭州海康威视数字技术股份有限公司 开关机管理方法、计算设备及存储介质
CN114489817A (zh) * 2021-12-28 2022-05-13 深圳市腾芯通智能科技有限公司 处理器启动方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN105760276B (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
US6697962B1 (en) Remote computer system monitoring and diagnostic board
CN101452420B (zh) 一种嵌入式软件异常监控和处理装置及其方法
US6425093B1 (en) Methods and apparatuses for controlling the execution of software on a digital processing system
CN107315656A (zh) 多内核的嵌入式plc软件恢复方法和plc
CN105760276A (zh) 提高reboot命令重启可靠性并增加复位日志的方法
CN101542444A (zh) 互连中心架构中的安全性特征
CN108845875B (zh) 一种常驻进程保活***以及方法
CN114116280B (zh) 交互式bmc自恢复方法、***、终端及存储介质
US20220055637A1 (en) Electronic control unit and computer readable medium
CN109976886B (zh) 内核远程切换方法及装置
CN108762886B (zh) 虚拟机的故障检测恢复方法及***
CN101145983A (zh) 一种网管***的自诊断和自恢复子***及方法
CN107528705B (zh) 故障处理方法及装置
CN106406963B (zh) 一种Linux***的初始化方法和装置
CN115904793B (zh) 一种基于多核异构***的内存转存方法、***及芯片
CN102541585B (zh) 一种远程升级方法及嵌入式***
CN106528276A (zh) 一种基于任务调度的故障处理方法
JP2001101034A (ja) 異種os間制御による障害復旧方法
KR101300806B1 (ko) 다중 프로세스 시스템에서 오동작 처리 장치 및 방법
KR101548921B1 (ko) 인터페이스제어장치 및 그 동작 방법
CN116302851B (zh) Fpga逻辑异常监测与恢复方法、装置、设备及介质
US9329920B2 (en) Supervisor system resuming control
CN102111427B (zh) 一种设备管理会话的恢复方法及***
CN105391575A (zh) 一种金库控制方法及***
CN105630621B (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
TR01 Transfer of patent right

Effective date of registration: 20190620

Address after: 430000 Guanghuo Road Optical Communication Industry Building, Guandong Industrial Park, Donghu Development Zone, Wuhan City, Hubei Province, 1st Floor

Patentee after: Beacon Fire Ultra-micro Information Technology Co., Ltd.

Address before: 430074 Optics Valley development street, East Lake Development Zone, Wuhan, Hubei 67

Patentee before: Fenghuo Communication Science &. Technology Co., Ltd.