首页 > 嵌入式软件 > linux

作为一名合格的 Linux 运维工程师,一定要有一套清晰、明确的解决故障思路,当问题出现时,才能迅速定位、解决问题,这里给出一个处理问题的一般思路:

本文引用地址: http://www.21ic.com/embed/software/linuxos/201801/50306.html

重视报错提示信息:每个错误的出现,都是给出错误提示信息,一般情况下这个提示基本定位了问题的所在,因此一定要重视这个报错信息,如果对这些错误信息视而不见,问题永远得不到解决。

查阅日志文件:有时候报错信息只是给出了问题的表面现象,要想更深入的了解问题,必须查看相应的日志文件,而日志文件又分为系统日志文件(/var/log)和应用的日志文件,结合这两个日志文件,一般就能定位问题所在。

分析、定位问题:这个过程是比较复杂的,根据报错信息,结合日志文件,同时还要考虑其它相关情况,最终找到引起问题的原因。

解决问题:找到了问题出现的原因,解决问题就是很简单的事情了。

从这个流程可以看出,解决问题的过程就是分析、查找问题的过程,一旦确定问题产生的原因,故障也就随之解决了。

结合上面介绍的 Linux 运维问题的解决思路后,下面我们挑选了6个比较典型的 Linux 运维问题,来看看是如何分析和解决的:

 

1.jpg

问题 1:文件系统破坏导致系统无法启动

Checking root filesystem

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

An error occurred during the file system check

这个错误可以看出,操作系统 / dev/sda6 分区文件系统出现了问题,这个问题发生的机率很高,通常引起这个问题的原因主要是系统突然断电,引起文件系统结构不一致,一般情况下,解决此问题的方法是采用 fsck 命令,进行强制修复。

# umount /dev/sda6

# fsck.ext3 -y /dev/sda6

问题 2:“Argument list too long” 错误与解决方法

# crontab -e

编辑完后保存退出后,报错 no space left on device

根据上面的报错了解到是磁盘空间满了,那么首先是检查磁盘空间,

# df -h

查看到是 / var 磁盘分区空间已经达到 100%,至此定位了问题所在。是 / var 磁盘空间饱满导致,因为 crontab 会在保存时将文件信息写到 / var 目录下面,然而这个磁盘没有空间了,所以报错。

接着通过命令 du –sh * 命令检查 / var 目录下面的所有文件或者目录的大小,发现 / var/spool/clientmqueue 目录占用了 / var 整个分区大小的 90%,那么 / var/spool/clientmqueue 目录下的文件都是怎么产生的,能否删除,基本上都是邮件信息,可以删除

# rm *

/bin/rm :argument list too long

当在 linux 系统中试图传递太多参数给一个命令时,就会出现 “argument list too long” 错误,这是 linux 系统一直以来都有的限制,查看这个限制可以通过命令 “getconf ARG_MAX” 来实现,

# getconf ARG_MAX

# more /etc/issue 查看版本

解决方法:1、

# rm [a-n]* -rf

# rm [o-z]* -rf

2、使用 find 命令来删除

# find /var/spool/clientmqueue –type f –print –exec rm –f {} ;

3、通过 shell 脚本

#/bin/bash

RM_DIR=’/var/spool/clientmqueue’

cd $RM_DIR

for I in `ls`

do

rm –f $i

done

4、重新编译内核

需要手动增加内核中分配给命令行参数的页数,打开 kernel source 下面的 include/linux/binfmts.h 文件,找到如下行:

#denfine MAX_ARG_PAGES 32

将 32 改为更大的值,例如 64 或者 128,然后重新编译内核

问题 3:inode 耗尽导致应用故障

客户的一台 Oracle 数据库如武器在关机重启后,Oracle 监听无法启动,提示报错 Linux error : No space left on device

从输出信息看出来是因为磁盘耗尽导致监听无法启动,因为 Oracle 在启动监听时需要创建监听日志文件,于是首先查看磁盘空间使用情况

# df -h

从磁盘输出信息可知,所有的分区磁盘空间都还有剩余不少,而 Oracle 监听写日志的路径在 / var 分区下,/var 下分区空间足够。

解决思路:

既然错误提示语磁盘空间有关,那就深入研究关于磁盘空间的问题,在 linux 系统中对磁盘空间的占用分为三个部分:第一个是物理磁盘空间,第二个是 inode 节点所占用的磁盘空间,第三个是 linux 用来存放信号量的空间,而平时接触较多的是物理磁盘空间。既然不是物理磁盘空间的问题,接着就检查是否是 inode 节点耗尽的问题,通过执行命令 “df -i” 查看可用的 inode 节点。由输出结果看出确实是因为 inode 耗尽导致无法写入文件。

可以通过下面的命令查看某个磁盘分区 inode 的总数

# dumpe2fs -h /dev/sda3 |grep ‘Inode count’

每个 inode 都有一个号码,操作系统用 inode 号码来区分不同的文件,通过‘ls -i’命令可以查看文件名对应的 inode 号

如果要查看这个文件更详细的 inode 信息,可以通过 stat 命令来实现

# stat install.log

解决问题

# find /var/spool/clientmqueue/ -name “*” -exec rm -rf {} ;

问题 4:文件已经删除,但是空间没有释放的原因

运维监控系统发来通知,报告一台服务器空间满了,登陆服务器查看,根分区确实满了,这里先说一下服务器的一些删除策略,由于 linux 没有回收站功能,所以线上服务器上所有要删除的文件都会先移到系统 / tmp 目录下,然后定期清除 / tmp 目录下的数据。这个策略本身没有什么问题,但是通过检查发现这台服务器的系统分区中并没有单独划分 / tmp 分区,这样 / tmp 下的数据其实占用根分区的空间,既然找到了问题,那么删除 / tmp 目录下一些占用空间较大的数据文件即可。

换一批

延伸阅读

[行业资讯] 拥有百万个处理器核心的世界最大仿大脑超算问世

拥有百万个处理器核心的世界最大仿大脑超算问世

据国外媒体报道,科学家们日前激活了世界上最大的“大脑”:一台拥有100万个处理器核心和1200块互连电路板的超级计算机,其工作原理和人脑一样。科学家们宣布,这是世界上最大的神经形态计算机,也就是模拟神经元放电的计算机。 ......

关键字:处理器 互连电路板 超级计算器

[行业资讯] 是什么让英特尔PC芯片大缺货?

是什么让英特尔PC芯片大缺货?

英特尔(Intel)对苹果订单的关注,最终对PC 市场构成了压力。有业内消息人士称,英特尔为新款iPhone 提供modem 芯片的独家协议,让台湾宏碁和华硕电脑这样的长期个人电脑合作伙伴,在进入年终购物季节这种关键时刻,却面临短缺的情况。......

关键字:芯片 英特尔 处理器

[行业资讯] 9代酷睿作为的“钎焊工艺”到底是个什么鬼?

9代酷睿作为的“钎焊工艺”到底是个什么鬼?

9代酷睿处理器已经发布了不少型号了,虽然Core i7-9700K加了2个核心但是却删了超线程。而最吸引人的点却是传说中的“钎焊工艺”,今天我们来简单聊聊这个“钎焊”到底是个什么东西。先不说处理器是什么封装,只从上半部分比较的话,桌面级CP......

关键字:CPU GPU 处理器

[行业资讯] 7nm时代,半导体行业的“贫富论”

7nm时代,半导体行业的“贫富论”

和1Xnm半导体工艺的百花齐放相比,个位数的制程就显得单调许多了,很多在10Xnm大放异彩的半导体公司都在7nm制程处遭遇到了苦头,随着AMD御用代工厂商GF宣布无限期延期7nm制程工艺,目前仅剩下的7nm工艺也只有台积电能够在现阶段实现量......

关键字:半导体 处理器 AMD

[行业资讯] 新动作!AMD在2019年推7纳米Zen 2架构处理器 性能更优

新动作!AMD在2019年推7纳米Zen 2架构处理器 性能更优

根据外电报导,在陆续推出14纳米Zen架构处理器、12纳米Zen+架构处理器之后,处理器大厂AMD预计将在2019年将会推出由全新7纳米制程的Zen 2架构新处理器,预估在包括性能、功耗等各方面表现都将会有大幅度的提升。而更进一步使用7纳米......

关键字:处理器 AMD 台积电

[疯狂史] 为什么电脑第一个磁盘永远是C盘?

为什么电脑第一个磁盘永远是C盘?

刚有个人电脑时,上就运行着著名的MS-Dos和windows系统,而第一个磁盘(系统盘)总是以C盘开始,但是为什么呢?......

关键字:电脑 磁盘 C盘

[真心话] 身价816亿美元!扎克伯格有望超越巴菲特成全球第三富

身价816亿美元!扎克伯格有望超越巴菲特成全球第三富

Facebook股价今日升至202美元的历史新高。这让Facebook创始人扎克伯格的身价达到了816亿美元,有望成为全球第三富有的人。目前,扎克伯格的身价与巴菲特之间的差距已缩小至2900万美元。Facebook创始人扎克伯格身价周......

关键字:扎克伯格 巴菲特

[趣科技] 可以为手机充电的牛仔裤

可以为手机充电的牛仔裤

但是如果有一条神奇的既可以容纳你的手机,同时还可以给你的手机充电,让你出门在外,从此无忧,你会去购买这款神奇的牛仔裤吗?......

关键字:充电
条评论

我 要 评 论

网友评论

大家都爱看

  • 扇出型晶圆级封装的优势和挑战!

    我们有能力创造一些能保持前代性能并且更好更小的电子设备,例如今天的可穿戴设备、智能手机或平板电脑,这是由于很多因素超过摩尔定律而快速发展,从而能够从底层的嵌入组件发展到今天把它们封…

    2018-03-29
  • Xilinx推出革命性的新型自适应计算产品

    自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX)),近日宣布推出一款超越FPGA功能的突破性新型产品,名为ACAP(Adaptive Compute Acceleration Platform,自适应计算加速…

    2018-03-20
  • 赛普拉斯为树莓派3 B+ IoT单板计算机提供强大稳定的无

    先进嵌入式系统解决方案的领导者赛普拉斯(纳斯达克代码:CY)近日宣布其Wi-Fi®和蓝牙®combo解决方案为全新的树莓派 3 B+(Raspberry Pi 3Model B+)IoT单板计算机提供强大稳定的无线连接…

    2018-03-20
  • 观看直播领红包,SEED-A10加速卡助力人工智能

    随着云服务器、云计算的发展,大家对硬件加速的需求越来越多,但是随着设备功耗的上升、性能需求越来越高,常规加速设备以及开始不能满足需求,因此FPGA逐渐在硬件加速中找到了自己的位置,而艾…

    2018-03-19
  • 特朗普:博通不得以任何形式收购高通

    白宫周一(3月12日)晚发出声明,川普(特朗普)总统出于“国家安全”考量、禁止新加坡博通公司(Broadcom)收购美国高通公司(Qualcomm)。

    2018-03-14