运维必存的20个常见的故障排查、修复大全

news2024/12/22 19:02:32

你们好,我的网工朋友。

“稳定是偶然,异常才是常态”。这句话用来形容运维的工作再合适不过了

对于运维来说,工作最常遇到的就是不稳定性带来的各种故障,经常围绕发现故障、响应故障、定位故障、恢复故障这四大步骤打转。

为此,今天给你总结了20个不同类型的故障及其排查解决的办法,覆盖了网络、系统、硬件和软件等四种故障,助你在学习中总结出更多经验,为下一步工作打好更结实的基础。

今日文章阅读福利:《 2024运维学习提升必备资料 》

想系统学习运维知识的朋友,今天这个资料很适合你。私信发送暗号“运维大礼包”,即可获得此份2024提升必备资料。

01 网络故障

01 交换机刚加电时网络无法通信

故障现象:

交换机刚刚开启的时候无法连接至其他网络,需要等待一段时间才可以。另外,需要使用一段时间之后,访问其他计算机的速度才快,如果有一段时间不使用网络,再访问的时候速度又会慢下来。

故障分析:

由于案例中的交换机是一台可网管交换机,为了避免网络中存在拓扑环,从而导致网络瘫痪,可网管交换机在默认情况下都启用生成树协议。

这样即使网络中存在环路,也会只保留一条路径,而自动切断其他链路。所以当交换机在加电启动的时候,各端口需要依次进入监听、学习和转发状态,这个过程大约需要3~5分钟时间。

如果需要迅速启动交换机,可以在直接连接到计算机的端口上启动“PortFast”,使得该端口立即并且永久转换至转发状态,这样设备可以立即连接到网络,避免端口由监听和学习状态向转发状态过渡而必须的等待时间。

解决方法:

如果需要在交换机加电之后迅速实现数据转发,可以禁用扩展树协议,或者将端口设置为PortFast模式。

不过需要注意的是,这两种方法虽然省略了端口检测过程,但是一旦网络设备之间产生拓扑环,将导致网络通信瘫痪。

02 “COL”指示灯长亮或不断闪烁,无法实现通信

故障现象:

局域网中计算机通过集线器访问服务器,但是某日发现所有客户端计算机无法与服务器进行连接,客户机之间Ping也时断时续。检查集线器发现“COL”指示灯长亮或不断闪烁。

故障分析:

“COL”指示灯用于指示网络中的碰撞和冲突情况。“COL”灯不停闪烁,表明冲突发生;

“COL”灯长亮则表示有大量冲突发生。导致冲突大量发生的原因可能是集线器故障,也可能是网卡故障。

一般情况下,网卡出现故障的可能性比较小,因此将重点放在对集线器的排除方面。

解决方法:

更换集线器,网络恢复正常。

03 升级至千兆网络之后,服务器连接时断时续

故障现象:

原先服务器采用10/100MbIT/s网卡,运行一切正常。但是安装了一款1000MbIT/s网卡,用其连接至中心交换机的1000Base-T端口之后,服务器与网络的连接时断时续,连接极不稳定,无法提供正常的网络服务。使用网线测试仪测试网络,发现双绞线链路的连通性没有问题。

故障分析:

在100Mbit/s时连接正常,只是在升级到1000Mbit/s时才发生故障,看来导致这种故障的原因可能是超五类布线问题。

虽然从理论上说超五类系统支持1000Mbit/s的传输速率,但是如果双绞线、配线架、网线和其他网络设备的品质不是很好,或者端接工艺有问题,就仍然无法实现1000Mbit/s带宽。

由于1000Base-T需要使用双绞线全部的4对线,每对线的有效传输速率为250Mbit/s,并完成全双工传输,因此1000Base-T对双绞线的信号衰弱减、回波、返回耗损、串音和抗电磁干扰等电气性能有了更高的要求。如果双绞线或者其他配件的性能不好,就会在线对间产生严重串扰,从而导致通信失败。

解决方法:

考虑到五类布线系统的性能有可能无法满足千兆网络系统,因此更换为六类布线产品之后故障解决。

04 尽管Link灯不停闪动,但网速却奇慢

故障现象:

服务器上网速度很慢,开始时打开网页非常缓慢,后来甚至连网页都无法打开,Ping网站也无法解析地址。

起初以为是DNS设置或者服务器故障,但是这些都正常运行。尝试Ping其他计算机,发现丢包率很高。而此时交换机的Link指示灯不停闪烁,数据的交换非常频繁,说明计算机在不停地发送和接受数据包。

关闭交换机之后再重新打开,故障现象得到缓解,但是一段时间之后又出现这种故障。

故障分析:

从故障现象来看,这是网络内的广播风暴。广播风暴的产生会有很多种原因,比如蠕虫病毒、交换机端口故障、网卡故障、链路冗余而没有启用生成树协议、网线线序错误或者受到干扰等。

在网络故障发生的时候查看交换机指示灯是一个很便捷的判断方法,可以直观查看网络连通性和网络流量。

解决方法:

就目前情况来看,蠕虫病毒是造成网络瘫痪的最主要原因。

及时为服务器更新系统补丁,并且安装网络版本的病毒查杀软件,及时为服务器升级病毒库,在服务器安装防病毒客户端程序之后,故障得以解决。

05 集线器和路由器无法共享上网

故障现象:

多台计算机采用宽带路由器和集线器方式,利用集线器扩展端口组网共享Internet。

连接完成后,直接连接至宽带路由器LAN口的3台机器能上网,而通过集线器连接的计算机却无法上网,路由器与集线器之间无论采用交叉线或平行线都不行,且集线器上与路由器LAN端口连接的灯不亮。

另外,集线器上的计算机无法Ping通路由器,也无法Ping通其他计算机。

故障分析:

  • 集线器自身故障

故障现象是集线器上的计算机彼此之间无法Ping通,更无法Ping通路由器。该故障所影响的只能是连接至集线器上的所有计算机。

  • 级联故障

例如路由器与集线器之间的级联跳线采用了不正确的线序,或者是跳线连通性故障,或者是采用了不正确的级联端口。故障现象是集线器上的计算机之间可以Ping通,但无法Ping通路由器。不过,直接连接至路由器LAN端口的计算机的Internet接入将不受影响。

  • 宽带路由器故障

如果是LAN端口故障,结果将与级联故障类似:如果是路由故障,结果将是网络内的计算机都无法接入Internet,无论连接至路由器的LAN端口,还是连接至路由器。

解决方法:

从故障现象上来看,连接至集线器的计算机既无法Ping通路由器,也无法Ping通其他计算机,初步断定应该是计算机至集线器之间的连接故障。

此时可以先更换一根网线试试,如果依然无法排除故障,则可以更换集线器解决。

06 IP地址冲突

故障现象:

计算机经常出现提示——“系统检测到IP地址http://xxx.xxx.xxx.xxx和网络硬件地址00 05 3B 0C 12 B7发生地址冲突。此系统的网络操作可能会突然中断”,然后就掉线一分钟左右又恢复网络连接。

故障分析:

这种系统提示是典型的IP地址冲突,也就是该计算机采用的IP地址与同一网络中另一台计算机的IP地址完全相同,从而导致通信失败。与该计算机发生冲突的网卡的Mac地址是“00 05 3B 0C 12 B7”。

通常情况下,IP地址冲突是由于网络管理员IP地址分配不当,或其他用户私自乱设置IP地址所造成的。

解决方法:

由于网卡的Mac地址具有唯一性,因此借助于MAC地址查找到与你发生冲突的计算机,并修改IP地址。

使用“IPCONFIG /ALL”命令,即可查看计算机的IP地址与MAC地址。最后使用“ARP –S IP地址 网卡物理地址”的命令,将此合法IP地址与你的网卡MAC地址进行绑定即可。@网络工程师俱乐部

02 系统故障

(此处以Linux系统为主)

01 linux系统无法启动

原因1:文件系统配置不当,比如/etc/fstab文件等配置错误或丢失,导致系统错误无法启动。一般是人为修改错误或者文件系统故障。

排查方法:

系统配置/etc/fstab错误或丢失而无法启动,当启动的时候,出现starting system logger后停止了;

解决方法:

想办法恢复/etc/fstab文件,利用linux rescue修复模式登录系统,从而获取挂载点和分区信息,重构/etc/fstab文件。

原因2:非法关机,导致root文件系统破坏,也就是linux根分区破坏,系统无法正常启动。

排查方法:

Linux下普遍采用的是ext3文件系统,ext3是一个具有日志记录功能的日志文件系统,可以进行简单的容错和恢复,但是在一个高负荷读写的ext3文件系统下,如果突然发生掉电,就很有可能发生文件系统内部结构不一致,导致文件系统破坏。

Linux在启动时,会自动去分析和检查系统分区,如果发现文件系统有简单的错误,会自动修复,如果文件系统破坏比较严重,系统无法完成修复时,系统就会自动进入单用户模式下或者出现一个交互界面,提示用户介入手动修复,现象类似下面所示:

checking root filesystem

/dev/sdb5 contains a file system with errors, check forced

/dev/sdb5:

Unattached inode 68338812

/dev/sdb5: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

(i.e., without -a or -p options)

FAILED

/contains a file system with errors check forced

an eror occurred during the file system check

*dropping you to a shell;the system will reboot

when you leave the shell

Press enter for maintenance

(or type Control-D to continue):

give root password for maintenance

从这个错误可以看出,系统根分区文件系统出现了问题,系统在启动时无法自动修复,然后进入到了一个交互界面,提示用户进行系统修复。

这个问题发生的机率很高,引起这个问题的主要原因就是系统突然掉电,引起文件系统结构不一致。一般情况下解决此问题的办法是采用fsck命令,进行强制修复。

解决方法:

根据上面的错误提示,当按下“Control-D”组合键后系统自动重启,当输入root密码后进入系统修复模式,在修复模式下,可以执行fsck命令,具体操作过程如下:

[root@localhost /]#umount /dev/sdb5

[root@localhost /]#fsck .ext3 -y /dev/sdb5

e2fsck 1.39 (29-May-2006)

/ contains a file system with errors, check forced.

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Inode 6833812 ref count is 2, should be 1. Fix? yes

Unattached inode 6833812

Connect to /lost+found? yes

Inode 6833812 ref count is 2, should be 1. Fix? yes

Pass 5: Checking group summary information

Block bitmap differences: -(519--529) -9273

Fix? yes…… ……

/: * FILE SYSTEM WAS MODIFIED **

/: 19/128520 files (15.8% non-contiguous), 46034/514048 blocks

需要注意的是,在执行fsck的时候,一定要先卸载要修复的分区,然后再执行修复操作!@网络工程师俱乐部

原因3:linux内核文件丢失或者崩溃,从而无法启动,也可能是因为内核升级错误或者内核存在bug。

这种情况一般linux系统启动会报错找不到内核文件,而内核文件存储在/boot分区,主要包括内核文件和初始化文件:

1、vmlinuz:内核镜像文件,包含内核代码和数据

显示error: file'/vmlinuz'not found

解决方案:

a. 使用可启动修复介质启动系统,并挂载系统磁盘的/boot分区;

b. 从安装介质或系统备份中提取vmlinuz内核文件,复制到/boot分区;

c. 更新引导配置(grub.cfg),将menuentry块中的linux行指向vmlinuz内核文件;

d. 重启系统,在引导菜单选择更新后的菜单项启动系统。

2、initrd/initramfs:初始化RAM磁盘,包含启动时需要的模块和驱动

显示error: file'/initrd.img'not found

解决方案:

a. 参考内核文件丢失的解决步骤a,挂载/boot分区和获取initrd.img文件;

b. 将initrd.img文件复制到/boot分区;

c. 更新grub.cfg,找到initrd相关行,将其指向新文件;

d. 重启系统,启动更新后的菜单项。

原因4:硬件故障,比如主板、电源、硬盘等出现问题,导致linux无法启动。

解决方法:一般来说由硬件造成的故障,只需更换硬件设备即可解决。

02 linux系统网络故障

排查1:检查网络硬件

检查网络故障,首先要排除网络硬件设备是否存在问题。比如网卡,网线,路由器,交换机等设备是否正常。

这些是网络正常运行的基本条件,如果发现某些设备出现故障,只需更换硬件即可解决问题。

排查2:检查网卡是否正常工作

1、检查网卡是否正常加载

可以通过 ifconfig 命令判断网卡是否正常加载。如果通过 ifconfig 可以显示网络接口的配置信息,表示系统找到网卡驱动程序,网卡加载正常;

解决方法:如果发现问题网卡,我们可以使用 ethtool 工具查看问题网卡的具体状态信息

(注意:Speed / Link deteced 等字段 )

2、检查网卡IP设置是否正确

接下来就要检查网卡的软件设定,比如IP是否配置,配置是否正确,确保IP的配置和局域网其它计算机配置没有冲突。

排查3:检查局域网内主机能否互连

检查网络之间的连通是否存在故障,可以先通过ping命令测试局域网主机之间的连通性,然后ping网关,检测主机到网关的通信是否正常。

排查4:检查系统路由表信息是否正确

检查系统路由表状态是处理网络故障的一种很重要的方法。很多时候都是 ip 地址没有配错,网卡也正常加载但是路由配置不正确,而导致网络问题的出现。@网络工程师俱乐部

因此需要检查系统的路由表设置是否正确,如果一个linux系统有两块网卡,同时两块网卡设置的IP不在一个网段,要特别注意系统路由表的设置。例如下面这个系统的网络接口信息:

从上面输出可知,本系统有两块网卡,分别配置不同网段的IP地址,假定eth0通过映射的方式对外提供ssh连接服务,而eth1仅供局域网主机之间共享数据使用。

现在的问题是,外界无法ssh远程登录到此系统,而网卡加载没有问题,网卡IP设置也没问题,接下来看看此系统的路由设置:

至此问题已经基本排查出来了:从route的输出可知,linux的缺省路由是192.168.200.1,而192.168.200段的IP仅仅供局域网主机之间共享数据使用,没有连接出去的访问权限,因而,外界无法连接到linux系统。

解决方法:

删除192段的缺省路由,然后增加10段的缺省路由即可:

[root@webserver ~]# route delete default

[root@webserver ~]#route add default gw 10.10.1.254

此时外界就可以通过ssh服务远程连接到linux系统了。

排查5:检查DNS解析

在Linux系统中,有两个文件用来指定系统到哪里寻找相关域名解析的库。分别是文件/etc/host.conf和/etc/nsswitch.conf。

/etc/host.conf文件指定系统如何解析主机名,Linux通过域名解析库来获得主机名对应的IP地址。

下面是RedHat Linux安装后缺省的/etc/host.conf内容:

order hosts,bind

其中,order指定主机名查询顺序,这里表示首先查找/etc/hosts文件对应的解析,如果没有找到对应的解析,接着就根据/etc/resolve.conf指定的域名服务器进行解析。

/etc/nsswitch.conf文件是由SUN公司开发的,用于管理系统中多个配置文件查询的顺序,由于nsswich.conf提供了更多的资源控制方式,nsswich.conf文件现在已经基本取代了hosts.conf,虽然LINUX系统中默认这两个文档都存在,但实际上起作用的是 nsswitch.conf文件。

nsswitch.conf文件每行的配置都以一个关键字开头,后跟冒号,紧接着是空白,然后是一系列方法的列表。例如这段信息:

hosts: files dns

表示系统首先查询主机库文件,如果没有找到对应的解析,接着会去DNS配置文件指定的DNS服务器进行解析。

清楚了linux下域名解析的原理和过程,我们就可以根据这两个文件的设定,确定解析的顺序,从而判断出域名解析可能出现的问题。

排查6:检查相关服务是否开启

在一个应用出现故障时,必须要检测服务本身。比如服务是否开启,配置是否正确等。

检查服务是否正确打开,分为两步,第一步是查看服务的端口是否打开:

例如,我们不能用root用户ssh登录到192.168.60.133这台linux服务器,首先检查sshd服务的22端口是否打开:

[root@localhost init.d]# telnet 192.168.60.133 22SSH-2.0-Open

SSH_4.3

这个输出表示192.168.60.133的22端口对外开放,或者可以说sshd服务是处于打开状态。如果没有任何输出,可能是服务没有启动,或者服务端口被屏蔽。也可以在服务器上通过netstat命令检查22端口是否打开:

可以看到,22端口在服务器上是打开的,同时,服务器上打开的还有3306、80端口。

接着进行第二步的检查,既然服务已经打开,可能是sshd服务配置的问题,检查sshd服务配置文件/etc/ssh/sshd_config是否正确,发现有下面一行信息:

PermitRootLogin no

由此可知是ssh服务端配置文件限制了root用户不能登录系统,如果需要root登录系统,只需更改为如下即可:

PermitRootLogin yes

到这里为止,我们通过对端口和服务配置文件的层层检查,最终找到了问题的根源。需要说明的是,这里的重点不是讲述如何让root登录linux系统,而是要通过这个例子学会处理类似问题的思路和方法。

排查7:检查访问权限是否打开

1、检查系统防火墙 iptables的状态

当某些服务不能访问时,一定要检查是否被linux本机防火墙iptables屏蔽了,可以通过iptables -L指令查看iptables的配置策略。

例如我们不能访问某台linux服务器提供的www服务,通过检查,系统网络、域名解析都正常,并且服务也正常启动,然后检查了服务器的iptables策略配置,信息如下:

从上面的输出可知,这个linux服务器仅仅设置了预设策略,而致命的是将INPUT链和OUTPUT链都设置为DROP,也就是所有外部数据不能进入服务器,服务器数据也不能出去,这样的设置相当于没有网络。为了能访问这台服务器提供的www服务,增加两条策略即可:

这样一来,internet上的其他人就能访问我们的www服务了。

2、检查 SELinux 是否打开

SELinux是个系统级的安全防护工具,可以最大限度的保障Linux系统的安全。但是selinux有时也会给linux下软件 的运行带来一些问题,这些问题大部分是对selinux不了解造成的。

为了迅速定位问题,最简单的方法是先关闭selinux,然后测试软件运行是否正常,这不是个好方法,但是对于判断问题往往是很有用的。

selinux是个很好的安全访问控制软件,可是如果你还不能熟练运用selinux访问控制策略的话,还是建议将它暂时关闭,等到对linux有了更深入的认识后,再开启selinux不失为一个明智的策略。

03 MBR扇区故障

故障现象:

1、找不到引导程序,启动中断

2、无法加载操作系统,开机后黑屏

故障原因:

1、病毒、木马等造成的破坏

2、错误的分区操作,磁盘读写错误操作

解决方法:

1、备份MBR扇区数据

a.在关机状态下添加一块新硬盘:虚拟机-->硬盘-->添加-->选择硬盘-->下一步

b.启动主机进入Linux系统,并对新硬盘进行分区

查看硬盘分区情况:fdisk -l -->对新硬盘进行分区:fdisk/dev/sdb

c.建立新硬盘的文件系统(即格式化文件系统)

查看sdb磁盘的列表信息-->对磁盘进行格式化

d.挂载硬盘

创建挂载点-->挂载分区

e.备份MBR扇区数据

2、模拟MBR扇区被破坏的故障

重启计算机,当出现“Operating system not found”的提示信息,表示无法找到可用的操作系统,此时硬盘已经损坏,如果没有光盘引导,则系统一直处于如下状态,因此无法启动主机。@网络工程师俱乐部

3、进入急救模式来修复MBR扇区故障

a.先关闭计算机-->虚拟机-->电源-->打开电源时进入固件(F)-->选择Boot-->将光盘放在第一位

b.选择进入急救模式[Rescue installed system]

c.[choose a language]选择English-->确认

d.[Keyboard type]选择us-->确认

e.[Unsupported Hardware Detected]选择OK

f.[Satup Networking]选择No

g.[Rescue]选择Skip

h.选择Shell Start shell-->选择Ok

i.查看/dev/sdb硬盘和/dev/sda硬盘,能看到sdb1分区,看不到sda设备,因为sda设备的MBR被破坏

j.将之前拷贝的文件重新写回来

4、重启计算机,发现可以正常启动计算机,说明修复了MBR扇区故障。

04 GRUB引导故障

故障现象:

系统引导停滞,显示“grub>”提示符

故障原因:

有时Linux启动后会直接进入GRUB命令行界面(只有“grub>”提示符),此时很多用户就选择了重新安装GRUB甚至重新安装系统。

其实一般而言此故障的原因最常见的有两个:

一是GRUB配置文件中选项设置错误;

二是GRUB配置文件丢失。

若是第一种情况,则一般显示error: you need to load the kernel first: 引导配置错误,内核文件没有被正确加载,提示先加载内核。

解决方案:

a. 启动系统修复介质,备份/boot分区文件;

b. 检查/boot/grub2/grub.cfg文件,找到menuentry块中linux和initrd行,确保它们正确指向vmlinuz和initrd.img文件;

c. 重启系统,进入BIOS将引导选项设置为启动磁盘,保存后重启;

d. 启动grescue grub>提示符,运行:

set prefix= (root) ′ /boot/grub2 ′configfile(prefix)/grub.cfg

boot

命令以修复并重新加载grub配置,然后启动系统。

若是第二种情况,GRUB rescue> : 当GRUB引导加载程序文件丢失或磁盘无法访问时,会结束在rescue提示符。

解决方案:

a. 启动系统安装或修复介质,备份数据并检查文件系统。使用fsck修复或使用娱乐用光盘工具修复磁盘问题;@网络工程师俱乐部

b. 引导进入安装系统,运行grub2-install /dev/sda将GRUB重新安装至系统磁盘MBR;

c. 修改BIOS启动选项为从系统磁盘启动。重启系统,现GRUB菜单应可正常显示,启动系统;

d. 如果仍无法启动,可能需要重新安装系统或更换硬件。

05 忘记linux root密码

很多人经常会忘记Linux系统的root密码,而着急选择重新安装系统,这里为大家整理了两个更加直接的解决方法:

1、进入急救模式重设root用户密码

进入急救模式,加载系统镜像,切换到系统根环境进行重置root密码:

a.打开电源时进入固件,将开机启动项boot中的CD-ROM调到第一项;

b.进入急救模式:

sh-4.2# chroot /mnt/sysimage

#重设root用户密码

bash-4.2# passwd root

bash-4.2# exit //退出镜像回到系统

sh-4.2# reboot //重启系统(注意重启后要进入固件将Hard-drive调至第一项)

c.重启进入登入界面后输入刚才设置的密码即可;

2、进入单用户模式进行修改root密码:

以Redhat linux为基准,操作步骤如下:

a.重启系统,待linux系统启动到grub引导菜单时,找到当前系统引导选项(可以按方向键展开隐藏的菜单,单处理器只有一个引导项,多处理器有3个或3个以上引导项,一般默认选项就是系统当前引导选项);

b.通过方向键将光标放到当前系统引导项上,然后按键盘字母“e”,进入编辑状态。

c.然后通过上下键,选中带有kernel指令的一行,继续按键盘字母“e”,编辑该行,在行末尾加个空格,然后添加single,类似与这样:kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet single

d.修改完成,按回车键,返回到刚才的界面。

e.最后按键盘“b”,系统开始引导。这样系统就启动到了单用户模式下,这里的单用户和windows下的安全模式类似,在单用户模式下,只是启动最基本的系统,网络以及应用服务均不启动。@网络工程师俱乐部

单用户模式启动完毕,系统会自动进入到命令行状态下,类似与“sh-3.1#”,然后直接执行passwd,回车,系统会提示输入新的root密码两次,最后会看到修改密码成功的提示,这样就完成了root密码的修改。

如果需要正常启动系统,现在只需输入“init 3”,就进入了多用户模式。用root用户重新登录系统,看看设置的新密码是否生效。

06 Read-only file system 错误解决

故障现象:

涉及到修改/保存条目等需要写磁盘操作的命令都无法使用(如tar、cp、mv、rm、chmod、chown、wget下载等指令),总是提示Read-only file system,也就是说系统是只读的,什么也写不了。

故障原因:

1.文件系统损坏;

2.磁盘问题,磁盘又坏道;

3.fstab文件配置错误,如分区格式错误错误(将ntfs写成了fat)、配置指令拼写错误等。

排查网站程序,看报错信息和服务日志错误,以及系统日志,来定位问题所在。

解决方法:

①如果能够确认数据和系统的文件没有被损坏,修复fstab文件配置后只要重新R/W加载或reboot就能够恢复正常。

以读写方式重新挂载文件系统

mount -o rw,remount /system

②如果是文件系统有问题,那就需要在umount状态下执行fsck命令来检查文件系统并修复文件系统中的错误。

nohup fsck -y /dev/VolGroup00/LogVol00 > /dev/shm/fscklog & # 检查好后重启 reboot

③如果是磁盘硬件损坏,最好的方法就是直接换一个新硬盘。如果觉得旧硬盘扔了可惜,还可以将它低格之后,再重新安装系统,系统重新安装后,磁盘会重新分区。@网络工程师俱乐部

④如果仅仅是想将数据备份出来而且机器又在身边的话,你可以用live-cd从光盘启动系统,然后直接备份。当然此时你也可以修改硬盘中的配置文件,如/etc/fstab。

03 硬件故障

01 设备本身的散热故障

无论是服务器、交换机、还是路由器,运行时间长了,都会出现散热问题,会不会报故障(或者说多长时间后报故障)、给网络效率造成多大的影响,一定程度上取决于机房的环境。

其中灰尘就是散热问题的最大来源,好在这类故障处理起来很容易,收到告警信息后,更换散热器能解决90%的问题。

除此之外,不能排除有一部分设备,是主板上的针脚不再给散热风扇供电的原因,这就需要想办法给风扇供电。

02 电源模块故障

电源完全损坏,不再供电的时候,如果没有冗余配置,这时候设备肯定已经被动关机了,直接替换新的电源即可,但有的时候,电源的故障并不是那么明显。

案例:某服务器频繁死机,每次重启后,能正常运转一天两天,一时找不出原因,有次正好在机房维护,听到该服务器有蜂鸣声,此时服务器还没有死机,查询日志无异常便重启,进入BIOS查看,发现电源有高压报警——12V输出,达到了16V!

因为有冗余电源,直接把故障电源拔下来,服务器就恢复了正常。

03 主板老化或者元器件损坏

这类故障不是很明显,但会直接导致设备不稳定或宕机。@网络工程师俱乐部

案例:

有台服务器年代久远,不稳定,三天两头要重启,有时也报高温故障,于是决定拆下来彻底清理一遍,到客户的生产车间,用风枪吹干净,感觉主板像新的一样,但是服务器点不亮了;

仔细查看才发现CPU周围有几个电容鼓包了,甚至有爆浆,换上好的电容之后,问题也就解决了。同样的的方法,也可以修好交换机主板、电脑主板、显卡等等。

但是大多数时候,设备一旦出现元器件损坏,就未必能修好。就算修好,也不再建议当成主要设备来使用了,作为备用件是不错的选择。

04 硬盘或者内存等主要配件故障

硬盘故障最为麻烦,例如,RAID1或者RAID5是服务器中常见的配置,这种情况下,损坏一块硬盘还好,一般不会有什么损失,换个新的也就解决了;

比较麻烦的是阵列中多块硬盘损坏的情况,如果数据非常重要,一定需要交给专业公司处理,盲目地操作只会增加数据恢复的难度。

04 软件故障

01 更新的补丁导致系统或者应用软件崩溃

案例:微软Win10频频翻车,多个补丁都引发了较大数量的蓝屏故障,其实重启后,卸载补丁也就没事了。但是当年赛门铁克误杀门,崩溃的电脑和服务器,真是不计其数。

正确的做法是:补丁要先给测试机更新,两三天后,没什么问题,再大面积部署,即便如此,还是要定期做好系统的状态备份,万一有事儿,还能快速恢复。

02 病毒及恶意程序的破坏

尽管部署了企业级的硬件防火墙、专业级的安全软件,对于病毒及恶意程序,也不能掉以轻心。

病毒和恶意程序破坏,往往是不可修复的,常见的病毒或者恶意程序,我们能用防火墙成功隔离或者安全软件成功查杀。

但是每隔一段时间,总会有个超级病毒,能穿过各种安全设备和软件,对我们的系统造成破坏,致使我们蒙受巨大的损失:

比如疯狂的勒索病毒,很多公司的服务器都中招了,有的迫于数据的重要性,只能给黑客付钱,还必须是比特币!也有的付了钱,都没能拿回所有的数据。

所以重要的数据文件,冷备份很有必要!即准备一台电脑或者服务器,只在定期备份的时候开机,备份完毕立即关机,确保数据安全。

03 同时安装多个功能类似的安全软件

有些IT盲目自信,服务器上不安装任何安全软件,也有些IT人员在服务器(或者电脑)上安装功能类似或者重复的安全软件。

殊不知,这会造成系统混乱、不稳定,有的在服务器同时安装两款国产的杀毒软件后,操作系统直接无法启动了,只能进入安全模式强制卸载其中一款,才解决问题。

所以说,杀毒软件、安全助手类软件,同一台服务器或者电脑上,最好只安装一款。

04 同时安装同一软件的多个版本

案例:经常接到客户的求助,说是xx软件突然打不开了,细问才知,原来是同一软件装了两三个版本,卸载其中一个版本后,另一个版本也无法运行了。

其实这种情况应该是在软件卸载的时候,删除了相关的系统文件,导致另外一个版本缺少关键文件,也就无法运行了;

想要覆盖安装还不一定能行,有时候会提示软件已存在,那就只能卸载重装,或者选择修复。

个人电脑无所谓,最多麻烦一点,几次重装而已,但是服务器上要安装同一软件的多个版本,就要慎重了。@网络工程师俱乐部

强烈建议先用虚拟机测试,确定没问题,再正式安装。

总结

以上故障修复的一般思路和通用策略,而现实遇到的问题都是千差万别的,每个问题的处理都不尽相同。

只有理解故障发生的规律、掌握故障管理的方法,做好复盘和改进,持续归纳总结和反思,才能做好对故障的管理。

既然无法彻底摆脱它,那就理解它、掌控它吧!

整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1387420.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql高级使用教程

mysql体系结构 1.连接层:主要就是做客户端的连接。 2.服务层:主要就是 缓存,分析器,优化器,执行器。 3.引擎层:就是一些存储引擎,包括索引的存储结构。 4.存储层:数据存储的磁盘…

CSS实现超出部分的省略

1、为什么要省略 在日常开发过程中我们难免会遇到后端返回给我们的的数据太长的情况,此时我们通常采取的是...的省略方式,其中的CSS大致如下,既可以实现对应的省略显示,但有些时候我们有需要用户可以查看具体的完整信息&#xff0…

内网yum仓库 ftp;http方式

ftp方式 服务端 客户端 vim /etc/yum.repos.d/ftp.repo http方式 服务端 yum install httpd -y systemctl start httpd cd /var/www/html/ mkdir centos7 mount /dev/sr0 /var/www/html/centos7 客户端

*(长期更新)软考网络工程师学习笔记——Section 22 无线局域网

目录 一、IEEE 802.11的定义二、IEEE 802.11系列标准三、IEEE 802.11的两种工作模式四、CDMA/CA协议(一)CDMA/CA协议的定义(二)CDMA/CA协议的过程 五、AC与AP(一)接入控制器AC(二)无…

go的安装及配置

go的官方下载地址:All releases - The Go Programming Language​​​​​​ 1、找到对应的版本包下载,例如 wget https://golang.google.cn/dl/go1.21.6.linux-amd64.tar.gz 2、下载完成后配置解压Go源码包 tar -zxf go1.21.6.linux-amd64.tar.gz 3…

32 二叉树的定义

之前的通用树结构 采用双亲孩子表示法模型 孩子兄弟表示法模型 引出二叉树 二叉树的定义: 满二叉树和完全二叉树 对此图要有印象 满二叉树一定是完全二叉树,但是完全二叉树不一定是满二叉树 小结

博客摘录「 性能优化:__builtin_expect详解」2024年1月15日

性能优化:__builtin_expect详解___builtin_expect对性能的影响-CSDN博客https://blog.csdn.net/chudongfang2015/article/details/75710848 #define LIKELY(x) __builtin_expect(!!(x), 1) __builtin_expect宏定义中为何写成!!(x)? 首先__buildin_expec…

buuctf-Misc 题目解答分解118-120

118.[INSHack2017]sanity 打开压缩包就是一个md 文件 typora 打开 发现flag INSA{Youre_sane_Good_for_you} 119.粽子的来历 解压压缩包 ,得到文件夹如下 用010 editor 打开 我是A.doc 这个有些可以 都改成FF 保存 然后再次打开 docx 文件就发现了屈原的诗 其他b…

雍禾医疗好医生:雍禾植发张华医生立志服务好毛发患者

作为中国领先的专门从事毛发医疗服务的医疗集团,雍禾医疗提供诊疗、植发、养固等一站式毛发医疗服务,旗下拥有由专业植发品牌“雍禾植发”、医疗养固品牌“史云逊”、女性美学植发品牌“雍禾发之初”及医学假发品牌“哈发达”等组成的全产业链品牌矩阵。…

【Spring 篇】SpringMVC的数据响应:编织美妙的返回乐章

在Web开发的舞台上,数据响应就如同一场美妙的音乐演奏,而SpringMVC作为这场音乐的指挥者,如何优雅地将数据传递给前端,引发了无尽的思考和探索。本篇博客将带你走进SpringMVC的数据响应世界,解开其中的奥秘&#xff0c…

class_5:在c++中一个类包含另一个类的对象叫做组合

#include <iostream> using namespace std;class Wheel{ public://成员数据string brand; //品牌int year; //年限//真正的成员函数void printWheelInfo(); //声明成员函数 };void Wheel::printWheelInfo() {cout<<"我的轮胎品牌是&#xff1a;"<…

JDBC PrepareStatement 的使用(附各种场景 demo)

在 Java 中&#xff0c;与关系型数据库进行交互是非常常见的任务之一。JDBC&#xff08;Java Database Connectivity&#xff09;是 Java 平台的一个标准 API&#xff0c;用于连接和操作各种关系型数据库。其中&#xff0c;PreparedStatement 是 JDBC 中的一个重要接口&#xf…

数据库多表查询练习题

二、多表查询 1. 创建 student 和 score 表 CREATE TABLE student ( id INT ( 10 ) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR ( 20 ) NOT NULL , sex VARCHAR ( 4 ) , birth YEAR , department VARCHAR ( 20 ) , address VARCHAR ( 50 ) ); 创建 s…

pytest pytest-cov生成代码覆盖率报告

pytest-cov 是一个用于 pytest 的插件&#xff0c;它可以生成代码覆盖率报告。代码覆盖率是一个度量&#xff0c;表示在测试过程中执行了代码的哪些部分。这是一个非常有用的工具&#xff0c;因为它可以帮助你理解你的测试是否全面&#xff0c;是否有遗漏的代码部分。 pytest-c…

电商物流查询:未来的发展方向

在电商日益繁荣的时代&#xff0c;物流信息查询不仅关乎消费者体验&#xff0c;更影响着电商运营的效率。快速、准确地追踪物流信息至关重要。本文将简述物流信息快速追踪的价值&#xff0c;并重点介绍固乔快递查询助手这一高效查询工具及其批量查询功能。 一、物流信息快速追踪…

RAG常见七大坑

论文题目&#xff1a;《Seven Failure Points When Engineering a Retrieval Augmented Generation System》 论文地址&#xff1a;https://arxiv.org/pdf/2401.05856.pdf 这篇论文主要探讨了构建检索增强生成系统&#xff08;Retrieval Augmented Generation, RAG&#xff09;…

Javaweb之SpringBootWeb案例员工管理分页查询的详细解析

3. 员工管理 完成了部门管理的功能开发之后&#xff0c;我们进入到下一环节员工管理功能的开发。 基于以上原型&#xff0c;我们可以把员工管理功能分为&#xff1a; 分页查询&#xff08;今天完成&#xff09; 带条件的分页查询&#xff08;今天完成&#xff09; 删除员工&…

【Leetcode 2707】字符串中的额外字符 —— 动态规划

2707. 字符串中的额外字符 给你一个下标从0开始的字符串s和一个单词字典dictionary。你需要将s分割成若干个互不重叠的子字符串&#xff0c;每个子字符串都在dictionary中出现过。s中可能会有一些额外的字符不在任何子字符串中。 请你采取最优策略分割s&#xff0c;使剩下的字…

HiDataPlus 3.3.2-005 搭建(个人的一点心得体会 x86 平台)

HDP 集群搭建 前置安装 yum -y install createrepo yum install -y lrzsz yum install -y wget yum install -y vim修改当前集群机器的主机名 hostnamectl set-hostname XXX​ 这里的 XXX 就是要设置的当前机器的主机名称。主机名称是集群唯一的&#xff0c;一定不要重复&am…

【栈】Leetcode 496 下一个更大元素I

【栈】Leetcode 496 下一个更大元素I 解法1 两个单调栈解法2 ---------------&#x1f388;&#x1f388;题目链接&#x1f388;&#x1f388;------------------- 解法1 两个单调栈 两个栈进行操作&#xff0c;一个栈用来遍历寻找&#xff0c;一个栈用来保留 将nums2中的元素…