如何三招帮你排查Linux中的硬件问题

如何三招帮你排查Linux中的硬件问题,第1张

下列贴士帮助你更快速更轻松地为 Linux 中的硬件排查故障。许多不同的因素可能导致Linux硬件出现问题;在你开始尝试诊断之前,了解最常见的问题以及最有可能找到原因的环节是明智之举。

Linux服务器在许多不同类型的基础架构中运行关键任务型业务应用程序,包括物理机、虚拟机、私有云、公共云和混合云。对于 Linux系统 管理员来说,了解如何管理Linux硬件基础架构很重要,包括与网络和存储有关的软件定义功能、Linux容器和Linux服务器上的多个工具。

排查并解决Linux上与硬件有关的问题可能需要一些时间。连经验丰富的系统管理员有时也要花几小时来解决莫名其妙的软硬件问题。

下列贴士帮助你更快速更轻松地为Linux中的硬件排查故障。许多不同的因素可能导致Linux硬件出现问题;在你开始尝试诊断之前,了解最常见的问题以及最有可能找到原因的环节是明智之举。

1快速诊断设备、模块和驱动程序

故障排查的第一步通常是显示Linux服务器上安装的硬件列表。你可以使用ls命令获取硬件的详细信息,比如lspci、lsblk、lscpu和lsscsi。比如说,这是lsblk命令的输出结果:

# lsblk

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

xvda    202:0    0  50G  0 disk

├─xvda1 202:1    0   1M  0 part

└─xvda2 202:2    0  50G  0 part /

xvdb    202:16   0  20G  0 disk

└─xvdb1 202:17   0  20G  0 part

如果ls命令没有显示任何错误,使用初始化进程(比如systemd)查看Linux服务器的运行状况。systemd是启动用户空间、控制多个系统进程的最流行的初始化进程。比如说,这是systemctl status命令的输出结果:

# systemctl status

● bastionf347internal

    State: running

     Jobs: 0 queued

   Failed: 0 units

    Since: Wed 2018-11-28 01:29:05 UTC; 2 days ago

   CGroup: /

           ├─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21

           ├─kubepodsslice

           │ ├─kubepods-pod3881728a_f2af_11e8_af77_06af52f87498slice

           │ │ ├─docker-88b27385f4bae77bba834fbd60a61d19026bae13d18eb147783ae27819c34967scope

           │ │ │ └─23860 /opt/bridge/bin/bridge --public-dir=/opt/bridge/static --config=/var/console-config/console-c

           │ │ └─docker-a4433f0d523c7e5bc772ee4db1861e4fa56c4e63a2d48f6bc831458c2ce9fd2dscope

           │ │   └─23639 /usr/bin/pod

2深入研究多个日志

dmesg让你可以搞清楚内核的最新信息中的错误和警示内容。比如说,这是dmesg | more命令的输出结果:

# dmesg | more

[ 1539027419] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

[ 1539042726] IPv6: ADDRCONF(NETDEV_UP): veth61f37018: link is not ready

[ 1539048706] IPv6: ADDRCONF(NETDEV_CHANGE): veth61f37018: link becomes ready

[ 1539055034] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

[ 1539098550] device veth61f37018 entered promiscuous mode

[ 1541450207] device veth61f37018 left promiscuous mode

[ 1542493266] SELinux: mount invalid  Same superblock, different security settings for (dev mqueue, type mqueue)

[ 9965292788] SELinux: mount invalid  Same superblock, different security settings for (dev mqueue, type mqueue)

[ 9965449401] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

[ 9965462738] IPv6: ADDRCONF(NETDEV_UP): vetheacc333c: link is not ready

[ 9965468942] IPv6: ADDRCONF(NETDEV_CHANGE): vetheacc333c: link becomes ready

你还可以查看/var/log/messages文件中的所有Linux系统日志,在这里找到与特定问题有关的错误。如果你对硬件进行改动,比如挂载额外磁盘或添加以太网网卡,有必要通过tail命令实时密切关注信息。比如说,这是tail -f /var/log/messages命令的输出结果:

# tail -f /var/log/messages

Dec  1 13:20:33 bastion dnsmasq[30201]: using nameserver 127001#53 for domain in-addrarpa

Dec  1 13:20:33 bastion dnsmasq[30201]: using nameserver 127001#53 for domain clusterlocal

Dec  1 13:21:03 bastion dnsmasq[30201]: setting upstream servers from DBus

Dec  1 13:21:03 bastion dnsmasq[30201]: using nameserver 19219902#53

Dec  1 13:21:03 bastion dnsmasq[30201]: using nameserver 127001#53 for domain in-addrarpa

Dec  1 13:21:03 bastion dnsmasq[30201]: using nameserver 127001#53 for domain clusterlocal

Dec  1 13:21:33 bastion dnsmasq[30201]: setting upstream servers from DBus

Dec  1 13:21:33 bastion dnsmasq[30201]: using nameserver 19219902#53

Dec  1 13:21:33 bastion dnsmasq[30201]: using nameserver 127001#53 for domain in-addrarpa

Dec  1 13:21:33 bastion dnsmasq[30201]: using nameserver 127001#53 for domain clusterlocal

3分析网络功能

你可能在复杂的网络环境中有成千上万个云原生应用程序为业务服务提供服务;这些可能包括虚拟化、多云和混合云。这意味着你应该分析网络连接是否正常运行,这是故障排查的一部分。分析Linux服务器中网络功能的实用命令包括ip addr、traceroute、nslookup、dig和ping等。比如说,这是ip addr show命令的输出结果:

# ip addr show

1:

lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127001/8 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2:

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000

    link/ether 06:af:52:f8:74:98 brd ff:ff:ff:ff:ff:ff

    inet 1921990169/24 brd 1921990255 scope global noprefixroute dynamic eth0

       valid_lft 3096sec preferred_lft 3096sec

    inet6 fe80::4af:52ff:fef8:7498/64 scope link

       valid_lft forever preferred_lft forever

3:

docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default

    link/ether 02:42:67:fb:1a:a2 brd ff:ff:ff:ff:ff:ff

    inet 1721701/16 scope global docker0

       valid_lft forever preferred_lft forever

    inet6 fe80::42:67ff:fefb:1aa2/64 scope link

       valid_lft forever preferred_lft forever

结束语

Linux硬件故障排查需要具备相当扎实的知识,包括如何使用功能强大的命令行工具、解读系统日志。你还应该知道如何诊断内核空间,可以在内核空间找到许多硬件问题的根本原因。请记住,Linux中的硬件问题可能由许多不同的方面引起,包括设备、模块、驱动程序、BIOS、网络,甚至是旧硬件故障。

在大数据处理分析过程中常用的六大工具:

Hadoop

Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。

HPCC

HPCC,High Performance Computing and Communications(高性能计算与通信)的缩写。1993年,由美国科学、工程、技术联邦协调理事会向国会提交了“重大挑战项目:高性能计算与 通信”的报告,也就是被称为HPCC计划的报告,即美国总统科学战略项目,其目的是通过加强研究与开发解决一批重要的科学与技术挑战问题。HPCC是美国 实施信息高速公路而上实施的计划,该计划的实施将耗资百亿美元,其主要目标要达到:开发可扩展的计算系统及相关软件,以支持太位级网络传输性能,开发千兆 比特网络技术,扩展研究和教育机构及网络连接能力。

Storm

Storm是自由的开源软件,一个分布式的、容错的实时计算系统。Storm可以非常可靠的处理庞大的数据流,用于处理Hadoop的批量数据。Storm很简单,支持许多种编程语言,使用起来非常有趣。

Apache Drill

为了帮助企业用户寻找更为有效、加快Hadoop数据查询的方法,Apache软件基金会近日发起了一项名为“Drill”的开源项目。Apache Drill 实现了 Google's Dremel

据Hadoop厂商MapR Technologies公司产品经理Tomer Shiran介绍,“Drill”已经作为Apache孵化器项目来运作,将面向全球软件工程师持续推广。

RapidMiner

RapidMiner是世界领先的数据挖掘解决方案,在一个非常大的程度上有着先进技术。它数据挖掘任务涉及范围广泛,包括各种数据艺术,能简化数据挖掘过程的设计和评价。

Pentaho BI

Pentaho BI 平台不同于传统的BI 产品,它是一个以流程为中心的,面向解决方案(Solution)的框架。其目的在于将一系列企业级BI产品、开源软件、API等等组件集成起来,方便商务智能应用的开发。它的出现,使得一系列的面向商务智能的独立产品如Jfree、Quartz等等,能够集成在一起,构成一项项复杂的、完整的商务智能解决方案。

第一:zabbix

zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位或解决存在的各种问题。

第二:Nagios

Nagios是一款开源的的免费网络监视工具,能有效监控Windows、Linux和Unix的状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警时间通知运维人员,在状态恢复后发出正常的邮件或短信通知。

第三:SeaLion

SeaLion是一个基于云的Linux服务器监控工具。也是通过统一的仪表盘监控所有服务器指标,它只需几分钟即可完成设置,它具有即时报警功能,以便在发生问题时,可以快速收到通知和每日数据摘要等。

第四:Icinga

Icinga是一个免费的开源监控系统,可以检查服务器资源的可用性,它会记录服务器问题并在停机的时候通知您。

第五:Munin

Munin是一个网络和系统监控工具,可帮助您分析服务器资源趋势。它旨在成为一个即插即用的解决方案,安装后无需太多额外工作即可收集关键信息。Munin主要功能是有效分析服务器资源优势,属于网络及系统监控的工具。

第六:Monit

Monit是一个用于管理和监控Unix系统的开源工具。Monit可以进行自动维护和维修,如果出现错误情况,Monit可以自动触发保护行为。

第七:Performance Co-Pilot

Performance Co-Pilot,简称PCP,是一个系统性能分析框架。它收集并分析来自多个主机的各种性能指标,可以通过它观察指标走向的趋势,以帮助您快速识别异常所在点。它提供API,可依据此来开发自定义的监控和报告解决方案。

我们公司用的是SUM服务器监控软件,现在公司有上百台服务器,各种品牌和型号都有,就用的这个。

可以监控CPU、内存、磁盘、应用程序、数据库、中间件等等,所有监控的项目都可以根据需要设置报警策略,有异常就会收到短信和邮件报警信息,我们还弄了个大屏幕来显示,一目了然,感觉蛮好用的。

IIS日志查看器绿色版, 本工具使用本地SQLite微型数据库,支持IIS6、IIS7大日志分析处理,速度极快, 体积小巧,无广告。

主要功能:

1 分析日志详情,显示蜘蛛\访客到访网址、时间、访者IP、状态码等;最全的条件筛选,网页与资源文件(jpg\png\gif\js\css\txt等)分离查询,可根据多条件进行筛选;

2 可快捷验证受访URL的在百度中的收录、访客IP归属地、定位该访客所有访问信息,助您排查网站是否受采集、受攻击。

3 日志导入本地数据库,方便存档。

4 最全的统计报表;可以:访客分类统计、URL分组统计、状态码统计、IP分类统计、时间段统计等。

5 可使用Sqlite语句进行自定义查询, 字段为原IIS日志字段名,查询便捷。

其它功能若干,不再一一描述, 欢迎下载体验!

1 zabbix:是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案。Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位,解决存在的各种问题。

2 Nagios:是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警时间通知运维人员,在状态恢复后发出正常的邮件或短信通知。

3 Anturis:是一个基于云平台的Saas平台,可监控Windows、Linux服务器,网站和IT基础架构,通过全面的监控解决方案列表,让管理员快速了解整体主机或者服务器瓶颈与风险。

4 SeaLion:是一个基于云的Linux服务器监控工具,也是通过统一的仪表盘监控所有服务器指标,它只需几分钟即可完成设置,具有即时报警功能。

5 lcinga:是一个免费的开源监控系统,可以检查服务器资源的可用性,它会记录服务器问题并在停机的时候通知您。

6 Munin:是一个网络和系统监控工具,可帮助您分析服务器资源趋势,旨在成为一个即插即用的解决方案,安装后无需太多额外工作即可收集关键信息。

7 Monit:是一个用于管理和监控Unix系统的开源工具。可以进行自动维护和维修,如果出现错误情况,还可以自动触发保护行为。

8 Pingdom:可以对互联网上很多地方的服务器以及网站进行监控,以保证他们可以有效的运行;通过Pingdom,可以对电子邮件的服务器、FTP服务器、受密码保护的那些网站进行监控。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何三招帮你排查Linux中的硬件问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情