CN109032698B - 一种Linux启动失败时Debug信息收集的方法及系统 - Google Patents

一种Linux启动失败时Debug信息收集的方法及系统 Download PDF

Info

Publication number
CN109032698B
CN109032698B CN201810803722.9A CN201810803722A CN109032698B CN 109032698 B CN109032698 B CN 109032698B CN 201810803722 A CN201810803722 A CN 201810803722A CN 109032698 B CN109032698 B CN 109032698B
Authority
CN
China
Prior art keywords
debug information
storage disk
disk
mounting
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.)
Active
Application number
CN201810803722.9A
Other languages
English (en)
Other versions
CN109032698A (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810803722.9A priority Critical patent/CN109032698B/zh
Publication of CN109032698A publication Critical patent/CN109032698A/zh
Application granted granted Critical
Publication of CN109032698B publication Critical patent/CN109032698B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种Linux启动失败时Debug信息收集方法及系统,该收集方法包括以下步骤:配置串口记录启动信息;启用dracut shell,收集Debug信息;所述Debug信息包括bootloader的配置文件、Linux系统启动时磁盘分区挂载的信息、进入dracut shell后产生的日志文件。本发明为Linux启动失败的原因分析定位提供可靠的依据和保障,解决了现有无法分析定位启动失败原因的缺陷,为使用者带来便利。

Description

一种Linux启动失败时Debug信息收集的方法及系统
技术领域
本发明涉及Linux启动领域,具体涉及一种Linux启动失败时 Debug信息收集的方法及系统。
背景技术
Linux系统安装完毕后,启动失败的问题经常存在,而目前还没有方便高效的启动失败原因的分析方法,给使用者带来不便。如何收集Debug信息,收集哪些信息是有待解决的问题。
发明内容
为解决上述问题,本发明提供一种Linux启动失败时Debug信息收集方法及系统,以便分析定位失败原因。
本发明的技术方案是:一种Linux启动失败时Debug信息收集方法,包括以下步骤:
配置串口记录启动信息;
启用dracut shell,收集Debug信息;所述Debug信息包括
bootloader的配置文件、Linux系统启动时磁盘分区挂载的信息、进入dracutshell后产生的日志文件。
进一步地,还包括以下步骤:
重启Linux系统进入dracut shell,定位根文件系统位置,并修复根文件系统,重新挂载根文件系统;
挂载存储盘,将Debug信息拷贝到存储盘;
分析存储盘中的Debug信息,进行启动失败问题的分析定位。
进一步地,
所述定位根文件系统位置具体为通过blkid定位根文件系统位置。
进一步地,所述挂载存储盘,将Debug信息拷贝到存储盘包括:
通过blkid查看存储盘所在磁盘;
将存储盘挂载到/test目录下;
将Debug信息拷贝到存储盘。
进一步地,
所述存储盘为U盘。
本发明还提供一种Linux启动失败时Debug信息收集系统,包括:
串口配置模块:用于配置串口记录启动信息;
Debug信息收集模块:用于启用dracut shell,收集Debug信息;所述Debug信息包括bootloader的配置文件、Linux系统启动时磁盘分区挂载的信息、进入dracut shell后产生的日志文件。
进一步地,还包括:
根文件系统定位挂载模块:用于重启Linux系统进入dracut shell,定位根文件系统位置,并修复根文件系统,重新挂载根文件系统;
Debug信息拷贝模块:用于挂载存储盘后,将Debug信息拷贝到存储盘;
失败问题分析定位模块:用于分析存储盘中的Debug信息,进行启动失败问题的分析定位。
进一步地,
根文件系统定位挂载模块通过blkid定位根文件系统位置。
进一步地,Debug信息拷贝模块包括:
存储盘位置查看子模块:用于通过blkid查看存储盘所在磁盘;
存储盘挂载子模块:用于将存储盘挂载到/test目录下;
Debug信息拷贝子模块:用于将Debug信息拷贝到存储盘。
进一步地,
所述存储盘为U盘。
本发明提供的Linux启动失败时Debug信息收集方法及系统,收集bootloader的配置文件、Linux系统启动时磁盘分区挂载的信息、进入dracut shell后产生的日志文件三个重要信息文件,通过配置串口、启用dracut shell、修复并重新挂载根文件系统,并拷贝Debug 信息进行问题分析定位,为Linux启动失败的原因分析定位提供可靠的依据和保障,解决了现有无法分析定位启动失败原因的缺陷,为使用者带来便利。
附图说明
图1是本发明具体实施例方法流程示意图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
本实施例提供一种Linux启动失败时Debug信息收集方法,收集重要信息文件,为启动失败原因的分析定位提供依据。
本实施例的收集方法需要收集三种重要信息文件,具体如下:
(1)bootloader的配置文件——/boot/grub2/grub.cfg或 /boot/efi/EFI/redhat/grub.cfg for EFI system,查看内核启动时执行哪些命令。
(2)/etc/fstab——系统启动时磁盘分区挂载的信息。
(3)/run/initramfs/rdsosreport.txt——进入dracut shell 后产生的日志文件,包含所有logs和重要工具的输出。
如图1所示,Debug信息收集方法如下:
S1:配置串口记录启动信息。
要定位Linux启动过程问题,需要通过串口连接来记录启动信息。
配置串口的脚本为:在/boot/grub2/grub.cfg(or/boot/efi/E FI/redhat/grub.cfg for EFI system)的linux16行增加:console =tty0console=ttyS0,15200。
S2:启用dracut shell,收集Debug信息。
当无法访问跟文件系统时,需要进入dracut shell。
当启用dracut shell后,若系统启动失败,则自动进入dracut shell,在这个shell里面,能够收集需要的Debug信息。
所收集Debug信息包括bootloader的配置文件、Linux系统启动时磁盘分区挂载的信息、进入dracut shell后产生的日志文件。
启用dracut shell的脚本为:在/boot/grub2/grub.cfg(or/bo ot/efi/EFI/redhat/grub.cfg for EFI system)的linux16行增加r d.shell rd.debug log_buf_len=1M。
上述两个步骤收集了Debug信息,为后续启动失败原因进行分析定位提供依据。
之后分析定位具体包括以下步骤:
S3:重启Linux系统进入dracut shell,定位根文件系统位置,并修复根文件系统,重新挂载根文件系统。
需要说明的是,该步骤通过blkid定位根文件系统位置。该步骤实现脚本如下:
#blkid
#xfs_repair/dev/mapper/rhel-root——以跟文件系统为LV M为例
#xfs_repair–L/dev/mapper/rhel-root——查看是否修复成功
#mount/dev/mapper/rhel-root/——重新挂载跟文件系统。
S4:挂载存储盘,将Debug信息拷贝到存储盘。
具体包括以下步骤:
S4-1:通过blkid查看存储盘所在磁盘;
S4-2:将存储盘挂载到/test目录下;
S4-3:将Debug信息拷贝到存储盘。
其实现脚本为:
#mount/dev/sdc1/test——通过blkid查看存储盘所在的磁盘,将存储挂载到/test目录下,以所在磁盘为sdc1为例
#cp/run/initramfs/rdsosreport.txt/etc/fstab/boot/grub2/ grub.cfg/test——将Debug信息拷贝到存储盘。
需要说明的是,存储盘可以是U盘。
S5:分析存储盘中的Debug信息,进行启动失败问题的分析定位。
实现脚本为:/run/initramfs/rdsosreport.txt/etc/fstab /boot/grub2/grub.cfg。
以上方法通过收集三种重要Debug信息文件,并分析Debug信息,进行启动失败的分析定位,为Linux启动失败的原因查找提供依据和保障。
本实施例还提供一种实现上述方法的系统,该系统包括以下模块:
(1)串口配置模块:用于配置串口记录启动信息。
(2)Debug信息收集模块:用于启用dracut shell,收集Debu g信息。Debug信息包括bootloader的配置文件、Linux系统启动时磁盘分区挂载的信息、进入dracut shell后产生的日志文件。
(3)根文件系统定位挂载模块:用于重启Linux系统进入drac ut shell,定位根文件系统位置,并修复根文件系统,重新挂载根文件系统。需要说明的是,通过blkid定位根文件系统位置。
(4)Debug信息拷贝模块:用于挂载存储盘后,将Debug信息拷贝到存储盘。
需要说明的是,该模块还包括以下子模块:
存储盘位置查看子模块:用于通过blkid查看存储盘所在磁盘;
存储盘挂载子模块:用于将存储盘挂载到/test目录下;
Debug信息拷贝子模块:用于将Debug信息拷贝到存储盘。
另外,存储盘可选用U盘。
(5)失败问题分析定位模块:用于分析存储盘中的Debug信息,进行启动失败问题的分析定位。
本实施例包括需要收集bootloader的配置文件、系统启动时磁盘分区挂载文件/etc/fstab、以及log日志/run/initramfs/rdsosr eport.txt这3个重要的信息文件,通过(1)配置串口(2)启用d racut shell(3)重启进入dracut shell,使用blkid定位跟文件系统位置,并修复跟文件系统,挂载跟文件系统(4)挂载U盘,将需要的DEBUG日志信息拷贝到U盘(5)分析U盘中所收集的3个文件,进行启动失败问题的分析定位等步骤进行跟Linux系统启动失败相关的重要信息的收集,为问题的分析定位提供依据和保障。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

Claims (4)

1.一种Linux启动失败时Debug信息收集方法,其特征在于,包括以下步骤:
配置串口记录启动信息;
启用dracut shell,收集Debug信息;所述Debug信息包括bootloader的配置文件、Linux系统启动时磁盘分区挂载的信息、进入dracut shell后产生的日志文件;
还包括以下步骤:
重启Linux系统进入dracut shell,定位根文件系统位置,并修复根文件系统,重新挂载根文件系统;
挂载存储盘,将Debug信息拷贝到存储盘;
分析存储盘中的Debug信息,进行启动失败问题的分析定位;
所述定位根文件系统位置具体为通过blkid定位根文件系统位置;
所述挂载存储盘,将Debug信息拷贝到存储盘包括:
通过blkid查看存储盘所在磁盘;
将存储盘挂载到/test目录下;
将Debug信息拷贝到存储盘。
2.根据权利要求1所述的Linux启动失败时Debug信息收集方法,其特征在于,
所述存储盘为U盘。
3.一种Linux启动失败时Debug信息收集系统,其特征在于,包括:
串口配置模块:用于配置串口记录启动信息;
Debug信息收集模块:用于启用dracut shell,收集Debug信息;所述Debug信息包括bootloader的配置文件、Linux系统启动时磁盘分区挂载的信息、进入dracut shell后产生的日志文件;
还包括:
根文件系统定位挂载模块:用于重启Linux系统进入dracut shell,定位根文件系统位置,并修复根文件系统,重新挂载根文件系统;
Debug信息拷贝模块:用于挂载存储盘后,将Debug信息拷贝到存储盘;
失败问题分析定位模块:用于分析存储盘中的Debug信息,进行启动失败问题的分析定位;
根文件系统定位挂载模块通过blkid定位根文件系统位置;
Debug信息拷贝模块包括:
存储盘位置查看子模块:用于通过blkid查看存储盘所在磁盘;
存储盘挂载子模块:用于将存储盘挂载到/test目录下;
Debug信息拷贝子模块:用于将Debug信息拷贝到存储盘。
4.根据权利要求3所述的Linux启动失败时Debug信息收集系统,其特征在于,
所述存储盘为U盘。
CN201810803722.9A 2018-07-20 2018-07-20 一种Linux启动失败时Debug信息收集的方法及系统 Active CN109032698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810803722.9A CN109032698B (zh) 2018-07-20 2018-07-20 一种Linux启动失败时Debug信息收集的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810803722.9A CN109032698B (zh) 2018-07-20 2018-07-20 一种Linux启动失败时Debug信息收集的方法及系统

Publications (2)

Publication Number Publication Date
CN109032698A CN109032698A (zh) 2018-12-18
CN109032698B true CN109032698B (zh) 2021-07-13

Family

ID=64644657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810803722.9A Active CN109032698B (zh) 2018-07-20 2018-07-20 一种Linux启动失败时Debug信息收集的方法及系统

Country Status (1)

Country Link
CN (1) CN109032698B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902563A (zh) * 2012-09-24 2013-01-30 中标软件有限公司 Linux操作系统及其启动过程中挂载文件系统的方法
CN107621936A (zh) * 2017-09-14 2018-01-23 郑州云海信息技术有限公司 一种使用U盘安装Centos 7到物理机上的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902563A (zh) * 2012-09-24 2013-01-30 中标软件有限公司 Linux操作系统及其启动过程中挂载文件系统的方法
CN107621936A (zh) * 2017-09-14 2018-01-23 郑州云海信息技术有限公司 一种使用U盘安装Centos 7到物理机上的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
(十)物理机异常断电,linux虚拟机系统磁盘mount失败,导致无法启动;佚名;《https://blog.csdn. net/glongljl/article/details/80157162》;20180501;第1-6页 *
dracut 基本介绍;佚名;《https://www.cnblogs. com/doscho/p/6269279.html》;20170110;第1-4页 *

Also Published As

Publication number Publication date
CN109032698A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
US9256417B2 (en) Automatic quality assurance for software installers
US7681193B2 (en) Method and apparatus for providing alternative installation structures for deployment of software applications
US20150052402A1 (en) Cloud Deployment Infrastructure Validation Engine
CN110750396B (zh) 一种服务器操作系统兼容性测试方法、装置及存储介质
CN104536875A (zh) 一种基于ipmi的对服务器进行自动化重启测试的方法
CN111061584A (zh) 一种故障诊断方法、装置、设备及可读存储介质
CN101163055A (zh) 一种自动探测服务器硬件信息的方法
CN101494573A (zh) 一种故障的诊断方法、系统和设备
CN104714863A (zh) 一种基于Linux操作系统的系统宕机后Raid卡日志完整保存的方法
CN213069791U (zh) 一种车载信息娱乐系统的故障检测系统
CN112068981B (zh) Linux操作系统中基于知识库的故障扫描恢复方法及系统
CN115033419B (zh) 一种实现硬件故障自愈的方法和系统
CN105119732A (zh) 一种在集群环境中部署主机的设备和方法
Chiba et al. Confadvisor: A performance-centric configuration tuning framework for containers on kubernetes
CN111338881A (zh) 一种nas文件系统并行读写的自动化测试方法及装置
CN109032698B (zh) 一种Linux启动失败时Debug信息收集的方法及系统
CN102929732B (zh) 应用程序调用文件的方法和装置及客户端设备
CN106776090A (zh) 一种rhel操作系统无响应时收集信息的方法
CN114448939B (zh) 一种基于VirtualBox的获取宿主机IP地址的方法及后台服务器
CN113867810B (zh) 一种查看服务器硬盘拓扑的方法、装置、终端及存储介质
CN103106086A (zh) 操作系统处理方法以及系统
CN116244186A (zh) 一种操作系统测试管理方法、装置与计算设备
CN109683965B (zh) 一种bios状态查看方法及装置
CN109783031B (zh) 用于RAID卡的盘符和slot号校验方法、装置、终端及存储介质
Cisco Release Notes for Cisco iSCSI Driver for HP-UX Version 1.8.1

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant