linux怎么检测硬盘状态

这篇文章主要讲解了“linux怎么检测硬盘状态”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux怎么检测硬盘状态”吧!

创新互联是一家集网站建设,亳州企业网站建设,亳州品牌网站建设,网站定制,亳州网站建设报价,网络营销,网络优化,亳州网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

定期检查硬盘的健康状态是每个系统管理员必须要做的事情。说到硬盘的健康状态,这里就得先说一下S.M.A.R.T.了。

SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及
每一块硬盘(包括IDE、SCSI)在运行的时候,都会将自身的若干参数记录下来
这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等
硬盘运行了几千小时后,很多内在的物理参数都会发生变化
某一参数超过报警阈值,则说明硬盘接近损坏
此时硬盘依然在工作,如果用户不理睬这个报警继续使用
那么硬盘将变得非常不可靠,随时可能故障


SMART是和主板BIOS上相应功能配合的
要使用SMART,必须先进入到主板BIOS设置里边启动相关设置
一般从Pentium2级别起的主板,都支持SMART
BIOS启动以后,就是操作系统级别的事情了
很遗憾,Windows没有内置SMART相关工具(需要安装第三方工具软件)
好在Linux上很早就有了SMART支持了
如果把Linux装在VMware等虚拟机上,在系统启动时候可以看到有个服务启动报错:smartd
这个服务器就是smart的daemon进程(因为vmware虚拟机的硬盘不支持SMART,所以报错)


可以使用下面的命令来确认硬盘是否打开了SMART支持

代码如下:


smartctl -i /dev/sda

正常情况下应该会得到下面这样的信息

代码如下:


[root@localhost ~]# smartctl -i /dev/sda
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

代码如下:


=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.10 family
Device Model: ST3160815AS
Serial Number: 5RA6A1K9
Firmware Version: 4.AAB
User Capacity: 160,041,885,696 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Sat Jul 7 17:18:02 2012 CST
SMART support is: Available – device has SMART capability.

在这里,如果看到SMART support is: Disabled,则表示SMART未启用


如果我们需要执行如下命令,启动SMART:

代码如下:


smartctl –smart=on –offlineauto=on –saveauto=on /dev/sda

查看硬盘当前的健康状态使用如下命令

代码如下:


[root@localhost ~]# smartctl -H /dev/sda
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

代码如下:


=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

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


执行如下命令可以看到详细的参数:

代码如下:


[root@localhost ~]# smartctl -A /dev/sda
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is https://www.cdcxhl.com/

代码如下:


=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 253 006 Pre-fail Always – 0
3 Spin_Up_Time 0×0003 097 097 000 Pre-fail Always – 0
4 Start_Stop_Count 0×0032 100 100 020 Old_age Always – 818
5 Reallocated_Sector_Ct 0×0033 100 100 036 Pre-fail Always – 0
7 Seek_Error_Rate 0x000f 085 060 030 Pre-fail Always – 369003829
9 Power_On_Hours 0×0032 084 084 000 Old_age Always – 14527
10 Spin_Retry_Count 0×0013 100 100 097 Pre-fail Always – 0
12 Power_Cycle_Count 0×0032 100 100 020 Old_age Always – 817
187 Reported_Uncorrect 0×0032 100 100 000 Old_age Always – 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always – 0
190 Airflow_Temperature_Cel 0×0022 052 046 045 Old_age Always – 48 (Lifetime Min/Max 47/52)
194 Temperature_Celsius 0×0022 048 054 000 Old_age Always – 48 (0 11 0 0)
195 Hardware_ECC_Recovered 0x001a 074 062 000 Old_age Always – 188295533
197 Current_Pending_Sector 0×0012 100 100 000 Old_age Always – 0
198 Offline_Uncorrectable 0×0010 100 100 000 Old_age Offline – 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always – 0
200 Multi_Zone_Error_Rate 0×0000 100 253 000 Old_age Offline – 0
202 TA_Increase_Count 0×0032 100 253 000 Old_age Always – 0

上边列出的参数表中可供进行技术分析和参考,使用下边的命令可以输出完整结果:

代码如下:


smartctl -a /dev/sda

感谢各位的阅读,以上就是“linux怎么检测硬盘状态”的内容了,经过本文的学习后,相信大家对linux怎么检测硬盘状态这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


分享名称:linux怎么检测硬盘状态
文章分享:http://pwwzsj.com/article/gccgjc.html