Linux服务器故障排查实用指南
更新:2013/7/3 点击数:1473
由于造成网络问题的因素多种多样,因此网络故障排查技能就成了每位服务器或网络服务负责人必不可少的重要素质。Linux为我们提供了大量网络故障排查工具,在本文中,我们将讨论一些常见的网络问题,并介绍如何利用某些Linux工具追踪意外状况发生的根本原因。 问题:服务器A无法与服务器B通信
可能大家在实际工作中最常见的网络故障就是一台服务器无法与另一台网络上的服务器进行通信。本小节将通过实例讲解具体处理办法。在实例中,一台名为dev1的服务器无法访问另一台名为web1的服务器中的网络服务(端口80)。导致这一现象的原因相当繁杂,因此我们需要一步步测试操作活动,进而通过排除法找到故障的根源。
一般说来,在对这样的问题进行故障排查时,大家可能会跳过某些初始步骤(例如检查链接等),因为接下来的某些测试环节能起到同样的诊断作用。举例来说,如果我们测试并确认DNS能够正常工作,那么就证明我们的主机是能够与本地网络进行通信的。但在本次实例解析中,我们将本着谨慎的态度执行每一个步骤,借以理解各个级别的不同测试方式。
问题出在客户机还是服务器端?
大家可以利用一项快速测试缩小造成故障的范围,即通过同一网络中的另一台主机尝试访问对应服务器。在本实例中,我们姑且将另一台与dev1同处一套网络环境下的服务器命名为dev2,并尝试通过它访问web1。如果dev2也不能正常访问web1,那么显然问题很可能出在web1或者是dev1、dev2及web1之间的网络身上。如果dev2能够正常访问web1,那么我们就可以断定dev1出问题的机率较大。首先,我们假设dev2能够访问web1,因此我们开始将故障排查的重点放在dev1这边。
线缆插好了吗?
故障排查的第一步要在客户机上进行。大家首先要确认自己客户机的网络连接没有问题。要做到这一点,我们可以使用ethtool程序(通过ethtool工具包安装)对链接(即以太网设备与网络构成物理连接)情况加以检测。如果大家无法确定自己使用的是哪个端口,那么请运行/sbin/ifconfig命令将所有可用的网络端口及其设定列出。