Linux启动故障处理

Linux启动故障处理,第1张

【摘要】

当Linux系统出现故障无法正常启动系统时,Linux准备了单用户模式、救援模式等方式可以让我们有效的处理这类问题。本文简单分享一个利用救援模式解决Redhat系统无法启动的案例。

【正文】

一、   问题背景

1)    问题描述

一台部署了RHEL 7.2的物理服务器,突发死机故障,在尝试重启时,发现服务器无法正常进入 *** 作系统,直接进入emergency mode。本文主要分享 *** 作系统启动异常的问题排查过程。(服务器死机据后续日志分析,确定为内核的bug所致,本文不进行累述)

2)   故障现象

系统启动后,提示无法找到/dev/mapper/rhel-root,并直接进入emergency mode。

二、   排查思路

1)    收集系统启动异常的相关提示信息,获取到问题关键点:

Warning:/dev/rhel/root does not exist

初步定为配置文件问题或者逻辑卷root本身问题;

2)    尝试在应急模式下检查逻辑卷状态,发现当前情况并不稳定,常用命令无法使用、显示多为乱码;

3)    尝试进入单用户模式,发现情况和应急模式一样;

Redhat 7.2进入单用户模式:

1、开机启动至内核选择界面,选择第一项,按e进行编辑

2、定位到linux16这一行,找到ro,修改其为rw init=/sysroot/bin/sh

3、按ctrl+X启动至单用户模式

4)    利用系统安装光盘,进入Linux救援模式,进行排查。

Redhat 7.2救援模式启动方法:

1、把光盘加入光驱,然后启动,以光盘进行引导,选择救援模式(中间具体的步骤不再细说)

2、文件系统挂载到/mnt/sysimage目录下,这时切换到此目录下使用chroot /mnt/sysimage这条命令即可

5)    在救援模式下,首先查看服务器lv的情况,发现所有lv

status均为未激活状态。

查看lv

#Lvdisplay

修改lv

#vgchange -a y /dev/docker/root

6)    在尝试修改root的lv status时,发现root所在的vg名和启动时所指定的vg名不一致,基本确定问题点;

7)    修复

l  编辑文件/etc/default/grub

l  修改此文件中GRUB_CMDLINE_LINUX一行中rd.lvm.lv为合适的值

l  再执行以下命令重做grub :

n UEFI: grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

n  非UEFI:grub2-mkconfig -o /boot/grub2/grub.cfg

l  查看文件grub.cfg中是否修改为rd.lvm.lv=rhel/root

l  修改/etc/grub2.cfg中root=后接的lv路径改为实际的路径。

8)    系统启动后,通过history日志,确定为该系统业务部署时,使用了vgrename命令修改了vg名。

三、   总结

对于Linux的问题处理,需要对Linux的运行原理有所理解,这此前提下才能根据有限的提示信息判断问题方向、确定排查范围、找到解决方法。同时,提醒各位初学linux的同事么,在进行linux的一些 *** 作时,需要充分考虑这些 *** 作可能造成的影响,避免类似上述的问题发生。

转自 嘉为教育-rhce认证_rhce培训_linux培训_linux认证_linux考证

除了检查本机防火墙和云控制台安全组之外,可以通过 telnet 去连接

运行命令 tailf /var/log/messages

当linux服务启动失败的时候,系统会提示我们使用 journalctl -xe 命令来查询详细信息,定位服务不能启动的原因。

mod_evasive是Apache防御攻击的模块,有助于防止DoS、DDoS以及对Apache服务器的暴力攻击。它可以在攻击期间提供规避行动,并通过电子邮件和系统日志工具报告滥用行为。该模块的工作原理是创建一个IP地址和URI的内部动态表,并拒绝以下任何一个IP地址:

如果满足上述任何条件,则发送403响应并记录IP地址。

盘Linux服务端的测试及故障处理办法

1、查看系统负载情况

在服务端命令窗口下执行w命令可得到三组数据(例如 0.40 0.30 1.20),分别为系统前一分钟、前5分钟、前15分钟负载情况,一般负载情况在2以下基本正常,如果长时间高于3则可认为系统负载过高,重点检查硬盘工作状况。

2、测试各硬盘读取速度判断硬盘故障

在服务端命令窗口中执行如下命令

hdparm -t /dev/hda (IDE硬盘)

hdparm -t /dev/sda (SATA、SCSI、硬RAID卡阵列)

hdparm -t /dev/md0 (软RAID设备)

测试结果在空载情况下应 >40M/s ,在负载情况下平均应 >20M/s 为正常,如测试结果极低则需要进一步使用硬盘专用检测工具测试是否为硬盘故障。

3、处理网络盘上数据无法正常读写问题

当在客户机上启动执行网络盘上游戏经常出现异常错误时,很可能是网络盘上的文件系统或数据出现损坏,可使用如下办法尝试修复。

在一台客户机上登陆为超级工作站连接网络盘,例如网络盘为H:,在DOS命令窗口下执行 chkdsk H:/F 对网络盘文件系统进行检查修复,修复完成后重新启动客户机看修复是否起到相应的作用,如故障依旧则考虑对网络盘重新格式化拷贝数据。

   4、客户端无法连接网络盘的情况处理

有新的机器名需要连接网络磁盘时必须开启服务端虚拟磁盘管理器窗口

当服务器出现非法关机重启的情况时,很可能出现虚拟磁盘网络服务没有正常启动导致客户端无法连接网络磁盘,此时正常重新启动服务器或在命令行窗口下执行 landisk restart 来启动虚拟磁盘服务解决。

网众虚拟磁盘客户机系统还原功能失效情况的处理办法

a、分区或全盘恢复还原失效的客户机系统。

b、在服务器端虚拟磁盘管理器中删除还原失效的客户机。

c、客户机重新连接服务器,设置还原即可。

网众虚拟网络磁盘如何在没有盘符时进行磁盘扫描

a.在服务器上运行命令cmd,进入命令行状态

b.运行cd (这是方便生成的文件直接存放在c:目录下)

c.运行mountvol >1.bat (这会生成一个名为1.bat的批处理文件。)

d.将1.bat复制到桌面上。

e.编辑1.bat

找到 ?Volume{01847d10-ae98-11d9-a5d6-806d6172696f}

无加载点

无加载点的这行的上面就是去掉了盘符的'盘的磁盘卷标。保留这一行内容其它的全部删除掉。

f.最后生成留下的文件应该如下面的格式

chkdsk/f ?Volume{01847d10-ae98-11d9-a5d6-806d6172696f}

要注意啊!一定要chkdsk/f要加上f参数,才能真正修复,还有磁盘卷标的最后一个字符不是 而生成的文件是带了的,要把它删除掉。

最后说说什么时候才能用这个批处理进行扫描

a.当你发现在用超级用户更新之后,有的机看得到网络磁盘,有的机看不到网络磁盘,或者是打得开盘却看不到内容不得时,可以使用。

b.当服务器重新启动时,提示有磁盘扫描,并自动进行扫描时,本来以前是必须要等这个扫描过程完成才能进入WINDOWS,但现在你就可以直接跳过扫描,等系统进了WINDOWS再运行这个批处理了。这样就不会影响到客人玩游戏。

c.磁盘扫描完成之后,客户机有可能要重新启动才能正常看到网络盘的文件。

d.一定要注意,这是一个非常危险的命令,你在使用时必须要保证没有超级用户存在(就是标记为红色的电脑)否则有可能造游戏盘上所有的文件丢失得一干二净!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6236520.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-18
下一篇2023-03-18

发表评论

登录后才能评论

评论列表(0条)

    保存