展开
湖北国联计算机科技有限公司
  • 首页HOME
  • 公司简介INTRODUCTION
  • 安全防御DEFENSE
  • 软件开发SOFTWARE
  • 物联网IOT
  • 运行维护SRE
  • 成功案例CASE
  • 联系我们CONTACT
  • SRE |运行维护

    6 个运维常见故障及排查方法,是个运维就得会~
    来源:湖北国菱计算机科技有限公司-湖北国联计算机科技有限公司-荆州网站建设-荆州软件开发-政府网站建设公司 时间:2025-03-04

    “稳定是偶然,异常才是常态”。这句话用来形容IT运维的工作再合适不过了。 因为对于IT运维来说,工作最常遇到的就是不稳定性带来的各种故障,经常围绕发现故障、响应故障、定位故障、恢复故障这四大步骤打转。

    一、Linux 系统无法启动

    原因1、          

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

    排查方法:

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

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

    原因2 、        

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

    排查方法:

    Linux下普遍采用的是ext3/ext4文件系统,ext3/ext4 是一个具有日志记录功能的日志文件系统,可以进行简单的容错和恢复,但是在一个高负荷读写的 ext3 文件系统下,如果突然发生掉电,就很有可能发生文件系统内部结构不一致,导致文件系统破坏。 Linux 在启动时会自动去分析和检查系统分区,如果发现文件系统有简单的错误,会自动修复,如果文件系统破坏比较严重,系统无法完成修复时,系统就会自动进入单用户模式下或者出现一个交互界面,提示用户介入手动修复,现象类似下面所示:

    从这个错误可以看出,系统根分区文件系统出现了问题,系统在启动时无法自动修复,然后进入到了一个交互界面,提示用户进行系统修复。这个问题发生的机率很高,引起这个问题的主要原因就是系统突然掉电,引起文件系统结构不一致。一般情况下解决此问题的办法是采用fsck命令,进行强制修复。

    解决方法:

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

    需要注意的是,在执行fsck 的时候,一定要先卸载要修复的分区,然后再执行修复操作!

    原因三:

    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'notfound解决方法:

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

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

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

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

    原因4:      

    硬件故障,比如主板、电源、硬盘等出现问题,导致 Linux 无法启动。 解决方法:一般来说由硬件造成的故障,只需更换硬件设备即可解决。

    二、Linux系统网络故障

    排查1:检查网络硬件        

    检查网络故障,首先要排除网络硬件设备是否存在问题。比如网卡,网线,路由器,交换机等设备是否正常。这些是网络正常运行的基本条件,如果发现某些设备出现故障,只需更换硬件即可解决问题。


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

    a. 检查网卡是否正常加载可以通过 ifconfig 命令判断网卡是否正常加载。如果通过 ifconfig 可以显示网络接口的配置信息,表示系统找到网卡驱动程序,网卡加载正常;解决方法:如果发现问题网卡,我们可以使用ethtool工具查看问题网卡的具体状态信息(注意:Speed/Link deteced等字段)

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

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

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


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

    检查系统路由表状态是处理网络故障的一种很重要的方法。很多时候都是ip地址没有配错,网卡也正常加载但是路由配置不正确,而导致网络问题的出现。因此需要检查系统的路由表设置是否正确,如果一个Linux系统有两块网卡,同时两块网卡设置的IP不在一个网段,要特别注意系统路由表的设置。例如下面这个系统的网络接口信息:

    从上面输出可知,本系统有两块网卡,分别配置不同网段的IP地址,假定eth0 通过映射的方式对外提供ssh连接服务,而eth1仅供局域网主机之间共享数据使用。 现在的问题是,外界无法ssh远程登录到此系统,而网卡加载没有问题,网卡IP设置也没问题,接下来看看此系统的路由设置:

    此时外界就可以通过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端口是否打开:

    # telnet 192.168.60.133 22

    SSH-2.0-OpenSSH_4.3

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


    荆州地区政府网站建设 解决方案 专业团队 腾讯第三方平台 地址:湖北省荆州市沙市区荆沙大道楚天都市佳园一期C区29栋112       地址:湖北省松滋市新江口街道才知文化广场1幢1146-1151室     邮编:434200 联系电话:0716-6666211     网站编辑部邮箱:business@gl-ns.com 鄂公网安备 42100202000212号 备案号:鄂ICP备2021015094号-1     企业名称:湖北国菱计算机科技有限公司