APP下载

Linux服务器三个问题

2018-03-03

网络安全和信息化 2018年5期
关键词:管理器日志进程

Linux服 务器 服 务 器(如RadHat系 列、Ubutu系 列、Redflag系列)作为一种优秀的开源网络操作系统,以其卓越的稳定性和可靠性而著称。目前,基于Linux服务器的应用服务器,已经成为各种数据中心业务应用的重点使用对象。笔者就多年的信息化管理工作经验,谈一谈在Linux服务器运维中具有通示性的一些问题及对应的解决方法或工作习惯。

Linux服务器无法登录问题

系统管理员的责任是保持系统安全和顺利运行,如果不能远程登录Linux服务器控制台,所有系统运维任务都无从谈起。笔者从实际工作经验的角度,谈一谈Linux服务器无法登录控制台可能出现的问题。

1.检查/var/log中的日志文件。/v a r/l o g/messages文件收集系统错误,来自守护进程的消息以及其他重要信息,它可能会表明问题的原因或更多症状。另外,检查系统控制台,有时系统问题相关的消息不写入/var/log/messages中,而是显示在系统控制台上。

2.确定是否只有一个用户或一个用户的终端/工作站有问题或者是否问题更广。

3.确保该用户的主目录存在,并且在/etc/passwd文件中有对应于该用户的条目。验证该用户拥有其主目录和启动文件,并且它们是可读的(而且该用户对其主目录有可执行权限的情况下)。确认在/etc/passwd中的该用户登录shell条目是准确的,并且存在指定的shell。

4.检查该用户的启动文 件(.profile、.login、.bashrc等)。该用户可能已对这些文件之一进行了编辑,并引入了禁止登录的语法错误。

5.使用df来检查整个文件系统。如果/tmp文件系统或该用户的主目录已满,登录有时会以意想不到的方式失败。在某些情况下,可能能够登录到文本环境,但不能登录到图形环境。用户登录时启动的应用程序无法创建临时文件,或无法更新用户主目录中的文件时,登录过程本身可能会终止。

6. 使 用 HTTPS、SSH、LDAP尤其是kerberos等加密登录方法时,时钟设置的时间不同可能会导致登录失败。还要确保DNS正常工作。一些网络服务与名称解析的相关性比较强,包括反向查找(即名称解析问题会导致拖慢通过SSH的连接)。

Linux服务器运行缓慢的问题

当系统由于不明原因运行缓慢时,多半是大量无效的进程一直在后台运行。此问题的表现包括很长的响应时间和很大的系统负荷,如使用w或uptime所示的数据大于1.0。最好运行top以迅速找到流氓进程。使用ps – ef可列出所有进程。在ps – ef输出中要找的内容是大量的TIME列。例如,如果Firefox进程的TIME字段超过100.0,这一进程有可能运行不正常。然而,如果该用户正在执行大量的Java工作,并且已经登录很长时间,这个值就可能是正常的。检查STIME字段以查看该进程启动的时间,如果该进程的运行时间比用户登录在线的时间还长,最好终止它。

当用户遇到问题,并在没有通知任何人的情况下离开无人值守的终端时,最好终止该用户拥有的所有进程。如果用户在控制台上运行GUI,终止启动桌面环境的进程或窗口管理器本身。还要继续查找包括gnomesession、startkde或其他以wm结尾的进程名。通常窗口管理器既是第一个也是最后一个要运行的进程,并在用户注销时退出。如果终止窗口管理器不起作用,可尝试终止X服务器进程,这个进程通常列为/usr/bin/Xorg。如果上述操作失败,当以该用户身份登录时,通过执行kill – 15 – 1命令或等效的kill – TERM – 1命令,可以终止用户拥有的所有进程。使用– 1替换进程ID以告诉kill来给该用户拥有的所有进程发送信号。例如,作为root可以输入 #su zach –c ‘kill –TERM -1’,如果不能终止所有进程(有时TERM无法终止进程),可以使用KILL信号(– 9)。

而lsof(列出打开的文件)实用程序会显示打开的文件名,其选项仅显示某些进程,只有一个进程的某些文件描述符,或只有某些网络连接(网络连接使用文件描述符,就像普通文件一样,lsof 也显示这些)。使用 ps – ef 确定了可疑进程后,可以输入#lsof –s –p pid,用可疑进程的进程ID替换PID,lsof会显示PID进程打开的文件描述符列表。– s选项显示所有打开文件的大小,– p选项则允许指定感兴趣的进程PID 号(如果组合这些选项,则lsof不会运行)。文件大小信息用于确定该进程是否打开了一个非常大的文件。如果是这样,需要联系该进程的所有者,或者在必要情况下终止该进程。– rn选项表示每n秒重新显示一次lsof的输出。

Linux服务器的磁盘处理和优化

从理论意义上讲,系统迟早会用完现有的磁盘空间,因此不要填满一个分区。当一个分区至少有5%至30%的剩余空间时,Linux服务器写入文件的速度明显加快。如果一个分区的已使用空间超过其最大最优磁盘空间,就会降低系统性能。另外的一个普遍的磁盘问题是碎片,当一个文件系统已满时,它会变得支离破碎。这类似于DOS碎片的概念。 要检查文件系统碎片,要卸载该文件系统,并在其上运行fsck,在 ext2、ext3和 ext4文件系统上使用– f选项。fsck的输出包括一个文件系统碎片百分数。通过备份可以整理文件系统,首先使用mkfs做一个干净的空映像,然后恢复文件系统。使用哪个工具来执行备份和恢复并不重要。

周期性的监控磁盘性能是运维工程师的一个良好工作习惯,监控Linux服务器提供了一些命令,可以报告谁正在使用哪些文件系统的多少磁盘空间。常见的如du-m、du –i、quota、df -h、df-a等指令。

此外,磁盘和分区的使用都不是一成不变的,运行数据、管理日志、业务日志以及以及新增业务都是快速增长的文件,那么增加文件系统上的可用空间量(除了购买新硬盘)的方法都有哪些呢?压缩文件、删除文件、增大基于LVM的文件系统以及压缩目录是常见的选择。

另一方面,如果一个文件系统很快耗尽空间(如在一个小时内,而不是几个星期或几个月内),首先弄清楚空间耗尽的原因。可使用ps– ef命令来确定用户是否已经创建了失控的进程,并且生成了巨大的文件。评估ps的输出时,可寻找一个消耗了大量CPU时间的进程。如果这样的进程正在运行,并创建了大文件,那该文件将持续增长以致需要不断腾出空间。如果删除了这个巨大的文件,其占用的空间并不会被释放,除非终止该进程。此时需要尝试联系运行该进程的用户,并要求他终止该进程,或者使用root权限,自己终止该进程。

经验总结

本文通过三个Linux服务器服务器常见问题的抛出,介绍了一些面对Linux服务器出现的问题常用的工作方法和思路。其实我们在每天的工作中养成良好的管理系统的习惯以及严格遵循软件文档的指示来运维,都会降低很多潜在问题发生的可能性。同时,即使解决了问题,也应该做好日志记录或笔头工作,可以为问题的再次出现或工作的交接打好基础。

猜你喜欢

管理器日志进程
一名老党员的工作日志
启动Windows11任务管理器的几种方法
扶贫日志
应急状态启动磁盘管理器
债券市场对外开放的进程与展望
改革开放进程中的国际收支统计
Windows文件缓冲处理技术概述
雅皮的心情日志
游学日志
社会进程中的新闻学探寻