linux扫描硬盘故障命令

1、badblocks命令

检查硬盘是否产生坏道并输出

# badblocks -s -v -o /root/badblocks.log /dev/sda              //公司操作

-s     Show the progress of the scan by writing out rough percentage completion of the current badblocks pass over the disk. Note that badblocks may do multiple test passes over the disk, in  particular if the -p or -w option is requested by the user.

-v     Verbose mode.

-o     output_file
Write the list of bad blocks to the specified file. Without this option, badblocks displays the list on its standard output. The format of this file is suitable for use by the -l  option in e2fsck(8) or mke2fs(8).

通过命令扫描硬盘。

# badblocks -s -v /dev/sdnx

其中n表示硬盘设备名,x表示硬盘对应的分区号。例如需要检查“/dev/sda2”,执行命令如下:

# badblocks -s -v /dev/sda2

Checking blocks 0 to 30681000

Checking for bad blocks (read-only test): 306809600674112/ 306810000000

30680964

30680965

30680966

30680967

30680968

30680969

30680970

30680971

30680972

30680973

...

done

Pass completed, 37 bad blocks found.其中,“37 bad blocks found”表示硬盘存在37个坏块。

2、使用smartctl查dell服务器坏道实录

安装

#yum -y install smartmontools
或者
#apt install -y smartmontools

检查硬盘健康状态

# smartctl -H /dev/sda5
smartctl 6.0 2012-10-10 r3643 [x86_64-linux-2.6.32-220.el6.x86_64] (local build)

Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===

SMART overall-health self-assessment test result: PASSED

参数-H就是指定显示目标硬盘的健康状态

请注意result后边的结果:PASSED,这表示硬盘健康状态良好,如果这里显示Failure,那么最好立刻给服务器更换硬盘。

# smartctl -A /dev/hdb

-a 显示设备所有的SMART信息。

-l error 列出硬盘错误日志。如果显示没有错误最好,如果显示了大量的错误信息,那就该着手准备替换硬盘了。

-l selftest 列出自行测试结果

在这里插入图片描述
健康查询 :

DELL SAS 机械盘 :

#smartctl -H -d megaraid,1 /dev/sda
smartctl 6.0 2012-10-10 r3643 [x86_64-linux-2.6.18-274.el5] (local build)

Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org

SMART Health Status: OK

DELL SATA SSD硬盘 :

/opt/smartmontools-6.0/sbin/smartctl -H -d sat+megaraid,2 /dev/sdb

smartctl 6.0 2012-10-10 r3643 [x86_64-linux-2.6.18-274.el5] (local build)

Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org

Linux通过命令查询服务器型号、主板、CPU、内存及硬盘信息
https://blog.51cto.com/george021/1913485

3、使用edac工具来检测服务器内存故障.【转】

安装 edac-utils 工具

#yum install -y libsysfs edac-utils
或
# apt install -y edac-utils

执行检测命令,可查看纠错提示如下

#edac-util -v
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#0_DIMM#0: A1
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#1_DIMM#0: A2
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#2_DIMM#0: A3
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#3_DIMM#0: A4
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#0_DIMM#1: A5
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#1_DIMM#1: A6
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#2_DIMM#1: A7
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#3_DIMM#1: A8
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#0_DIMM#2: A9
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#1_DIMM#2: A10
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#2_DIMM#2: A11
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#3_DIMM#2: A12

mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#0_DIMM#0: B1
mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#1_DIMM#0: B2

在这里插入图片描述
DIMM#0 标示内存槽0,Corrected Errors 代表已经纠错的次数,根据前面列出的CPU通
道和内存槽对应关系即可给edac-utils 返回的信息进行编号。
即可得出 A1槽 6312 次纠错,B1槽 6459次纠错,B3槽 535次纠错. 3条内存出现潜在故障,接下来联系供应商进行更换即可。

12条内存的对应关系

mc0: csrow0: CPU#0Channel#0_DIMM#0: A1
mc0: csrow0: CPU#0Channel#1_DIMM#0: A2
mc0: csrow0: CPU#0Channel#2_DIMM#0: A3
mc0: csrow1: CPU#0Channel#0_DIMM#1: A4
mc0: csrow1: CPU#0Channel#1_DIMM#1: A5
mc0: csrow1: CPU#0Channel#2_DIMM#1: A6

mc1: csrow0: CPU#1Channel#0_DIMM#0: B1
mc1: csrow0: CPU#1Channel#1_DIMM#0: B2
mc1: csrow0: CPU#1Channel#2_DIMM#0: B3
mc1: csrow1: CPU#1Channel#0_DIMM#1: B4
mc1: csrow1: CPU#1Channel#1_DIMM#1: B5
mc1: csrow1: CPU#1Channel#2_DIMM#1: B6

https://www.cnblogs.com/sky-heaven/p/13528181.html

4、dmidecode 命令

dmidecode命令 可以让你在Linux系统下获取有关硬件方面的信息。dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息。dmidecode遵循SMBIOS/DMI标准,其输出的信息包括BIOS、系统、主板、处理器、内存、缓存等等。

8个内存条插槽,有一个A1位置的内存条
在这里插入图片描述

重新插拔内存条,之后使用free命令查看,内存大小是否和dmidecode查看的内存条个数、大小对应

#dmidecode -t memory

#free -m
64G

注意 :第一部分输出是概要信息,主要说板支持的最大内存是128GB,共有8个内存插槽。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
接下了就是两个插槽的信息,由于我只插了一条8G的条,所以第二个的信息是空的

查看服务器型号:dmidecode | grep ‘Product Name’
查看主板的序列号:dmidecode |grep ‘Serial Number’
查看系统序列号:dmidecode -s system-serial-number
查看内存信息:dmidecode -t memory
查看OEM信息:dmidecode -t 11

#dmidecode | grep -A16 "System Information$"

在这里插入图片描述
查看服务器bios信息

# dmidecode -t bios

在这里插入图片描述
查看服务器内存信息
1,查看服务器型号、序列号:

dmidecode|grep "System Information" -A9|egrep  "Manufacturer|Product|Serial"  

2.Linux 查看内存的插槽数,已经使用多少插槽.每条内存多大

dmidecode|grep -A5 "Memory Device"|grep Size|grep -v Range

3.Linux 查看内存的频率

dmidecode|grep -A16 "Memory Device"|grep ‘Speed‘ 

常见硬件报错

戴尔服务器,亮黄灯,硬件故障
在这里插入图片描述
接上显示器,显示内存故障
在这里插入图片描述
解决办法 :
用橡皮把内存金手指擦了檫,插上去现在都可以识别了。

#dmidecode -t memory    #确定插槽个数,以及内存条单个大小

#free -m    #查看总内存大小

5、检测 磁盘 是否损坏

在bailinux命令行中du输入:badblocks -v /usr/lib
看到该文件夹所在硬盘部分没有存在损坏

#badblocks -v /usr/lib

在这里插入图片描述
在这里插入图片描述

测试各硬盘读取速度判断硬盘故障

在服务bai端命令窗口中执行如下命令
  hdparm -t /dev/hda (IDE硬盘)
  hdparm -t /dev/sda (SATA、SCSI、硬RAID卡阵列)
  hdparm -t /dev/md0 (软RAID设备)

参  数:

-a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。
  -A<0或1> 启动或关闭读取文件时的快取功能。
  -c 设定IDE32位I/O模式。
  -C 检测IDE硬盘的电源管理模式。
  -d<0或1> 设定磁盘的DMA模式。
  -f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。
  -g 显示硬盘的磁轨,磁头,磁区等参数。
  -h 显示帮助。
  -i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
  -I 直接读取硬盘所提供的硬件规格信息。
  -k<0或1> 重设硬盘时,保留-dmu参数的设定。
  -K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。
  -m<磁区数> 设定硬盘多重分区存取的分区数。
  -n<0或1> 忽略硬盘写入时所发生的错误。
  -p 设定硬盘的PIO模式。
  -P<磁区数> 设定硬盘内部快取的分区数。
  -q 在执行后续的参数时,不在屏幕上显示任何信息。
  -r<0或1> 设定硬盘的读写模式。
  -S<时间> 设定硬盘进入省电模式前的等待时间。
  -t 评估硬盘的读取效率。
  -T 平谷硬盘快取的读取效率。
  -u<0或1> 在硬盘存取时,允许其他中断要求同时执行。
  -v 显示硬盘的相关设定。
  -W<0或1> 设定硬盘的写入快取。
  -X<传输模式> 设定硬盘的传输模式。
  -y 使IDE硬盘进入省电模式。
  -Y 使IDE硬盘进入睡眠模式。
  -Z 关闭某些Seagate硬盘的自动省电功能。

6、服务器硬件查询

Linux查看显卡信息:

lspci | grep -i vga  

安装nvidia-smi驱动命令
第一步:卸载原驱动

$sudo apt-get remove nvidia-*
$sudo apt-get autoremove

第二步:输入CTRL+ALT+F1进入文本模式

第三步:临时关闭显示服务

$sudo service lightdm stop

第四步:重新安装Nvidia驱动

#sudo apt-get  install  build-essential

#sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get update

sudo apt-get install nvidia-390 mesa-common-dev freeglut3-dev (本文是安装390

随后输入:nvidia-smi

#nvidia-setting

输出,则完成。

7、





参考链接 :

https://www.cnblogs.com/pprp/p/9430836.html

ubuntu安装cuda驱动实现nvidia-smi命令 :https://blog.csdn.net/weixin_42652125/article/details/81178943

https://zhidao.baidu.com/question/1894060807321999700.html

使用edac工具来检测服务器内存故障.【转】 : https://www.cnblogs.com/sky-heaven/p/13528181.html

https://blog.csdn.net/weixin_34363171/article/details/85589036?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control

https://blog.csdn.net/henweimei/article/details/54913776?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.control

https://blog.csdn.net/kjh2007abc/article/details/85000918?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.control

猜你喜欢

转载自blog.csdn.net/qq_40907977/article/details/112920161