CN109032698B - 一种Linux启动失败时Debug信息收集的方法及系统 - Google Patents
一种Linux启动失败时Debug信息收集的方法及系统 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005192 partition Methods 0.000 claims abstract description 10
- 230000007547 defect Effects 0.000 abstract description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User 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启动领域,具体涉及一种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盘。
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)
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到物理机上的方法 |
-
2018
- 2018-07-20 CN CN201810803722.9A patent/CN109032698B/zh active Active
Patent Citations (2)
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)
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 |