详解CentOS下对SSD健康状况和寿命的检测方法
整个网上只有 intel 的 SSD 查看硬盘寿命的资料,象我们这种穷人,只能使用的起 Crucial 和 OCZ 的用户来讲是太不公平了.象我要透过 RAID 卡就真没法子看其它商家的 SSD 的寿命了吗?
研究了一下,所有查看 SSD 的命令,只要要透过 RAID 的,都需要借助 MegaCli 和 smartCtl 获得 ssd 盘使用情况.认真研究了一下,目前我使用的
RAID 卡是LSI Logic / Symbios Logic MegaRAID SAS 1078 和 2108 这二种.使用通常的 MegaCli 来查询:
这个是的下载地址:
Centos5 的 MegaCli
Centos6 的 MegaCli
整个过程分二步,第一步是从过 RAID 卡来取得下面硬盘的信息.接下来使用 smartCtl 来进行硬盘详细信息的显示.
使用 MegaCli 来取得 RAID 卡下硬盘的信息:然后使用下面的命令:
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL
这样可以查出 RAID 卡下面的内容.会显示如下:
Enclosure Device ID: 252
Slot Number: 7
Device Id: 28
Sequence Number: 2
Media Error Count: 0
Other Error Count: 1
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA
Raw Size: 119.242 GB [0xee7c2b0 Sectors]
Non Coerced Size: 118.742 GB [0xed7c2b0 Sectors]
Coerced Size: 118.277 GB [0xec8e000 Sectors]
Firmware state: Online, Spun Up
SAS Address(0): 0x1e394d57aa996b80
Connected Port Number: 7(path0)
Inquiry Data: 0000000011070303A99EC300-CTFDDAC128MAG 0007
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None
Device Speed: 6.0Gb/s
Link Speed: 1.5Gb/s
Media Type: Solid State Device
注意上面几个地方,上面会输出很多这样的信息,只有 Media Type: Solid State Device .表示这是 SSD .其中 Device Id: 28 这个需要记下来.这个过一会使用 smartctl 查询时会需要.我们可以见到上面都显示了硬盘的型号:Inquiry Data: 0000000011070303A99EC300-CTFDDAC128MAG 0007.另外还有一个标志告诉你这个 SSD 是不是正常的 Firmware state: Online,Spun Up 这个选项,所以如果你做 SSD 的监控报警,直接监控这个参数基本就行了.
使用 smartctl 来取得 SSD 硬盘的详细信息
要注意,不同厂商不同型号磁盘的信息不同.象 intel 的硬盘信息就不介绍了.下面是查询所使用的命令.其中 -a 是让显示所有的信息出来. -d 是用来设置硬盘的.这时需要注意不同的 RAID 卡所使用的接口可能不一样,所以可能会有小的不相同.
比如 intel 的硬盘,直接使用 -d megaraid,27 就能正常了.但我使用了上面的 raid 卡后,需要指定 sat 这个参数,就变成象下面这样了:
smartctl -a -d sat+megaraid,27 /dev/sdb1 -s on
上面这时的 sat 是指由 SCSI 转成 ATA 的设备,可以加象 scsi,ata 之类的参数.
这时,会显示如下的信息:
Model Family: Crucial/Micron RealSSD C300/C400
Device Model: C300-CTFDDAC128MAG
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 100 100 000 Pre-fail Always - 0
5 Reallocated_Sector_Ct 0x0033 100 100 000 Pre-fail Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 5572
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 3
170 Grown_Failing_Block_Ct 0x0033 100 100 000 预失败 始终 - 0
171 Program_Fail_Count 0x0032 100 100 000 Old_age 始终 - 0
172 Erase_Fail_Count 0x0032 100 100 000 Old_age 始终 - 0
173 Wear_Levelling_Count 0x0033 090 090 000 预失败 始终 - 536
174 Unexpect_Power_Loss_Ct 0x0032 100 100 000 Old_age 始终 - 1
181 Non4k_Aligned_Access 0x0022 100 100 000 Old_age 始终 - 0 0 0
183 SATA_Iface_Downshift 0x0032 100 100 000 Old_age 始终 - 0
184 End-to-End_Error 0x0033 100 100 000 失败前总是 - 0
187 报告_不正确 0x0032 100 100 000 Old_age 始终 - 0
188 Command_Timeout 0x0032 100 100 000 Old_age 始终 - 0
189 Factory_Bad_Block_Ct 0x000e 100 100 000 Old_age 始终 - 250
195 Hardware_ECC_Recovered 0x003a 100 100 000 Old_age 始终 - 0
196 Reallated_Event_Count 0x0032 100 100 000 Old_age 始终 - 0
197 Current_Pending_Sector 0x0032 100 100 000 Old_age 始终 - 0
198 Offline_Un Correctable 0x0030 100 100 000 Old_age 离线 - 0
199 UDMA_CRC_Error_Count 0x0036 100 100 000 Old_age 始终 - 0
202 Perc_Rated_Life_Used 0x0018 090 090 000 Old_age 离线 - 10
206 Write_Error_Rate 0x000e 100 100 000 Old_age 始终 - 0
如果是 OCZ 的:
设备型号: OCZ-AGILITY3
序列号: OCZ-1OX963Q8B5X2V684
SMART 属性数据结构修订号:10
具有阈值的供应商特定 SMART 属性:
ID# ATTRIBUTE_NAME 标志 值最差阈值类型 已更新 WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 086 086 050 失败前总是 - 135388659
5 重新分配_扇区_Ct 0x0033 100 100 003 失败前总是 - 9
9 Power_On_Hours 0x0032 100 100 000 Old_age 始终 - 265772576277126
12 Power_Cycle_Count 0x0032 100 100 000 Old_age 始终 - 15
171 Unknown_Attribute 0x0032 000 000 000 Old_age 始终 - 9
172 Unknown_Attribute 0x0032 000 000 000 Old_age 始终 - 0
174 Unknown_Attribute 0x0030 000 000 000 Old_age 离线 - 13
177 Wear_Leveling_Count 0x0000 000 000 000 Old_age 离线 - 1
181 Program_Fail_Cnt_Total 0x0032 000 000 000 Old_age 始终 - 9
182 Erase_Fail_Count_Total 0x0032 000 000 000 Old_age 始终 - 0
187 报告_不正确 0x0032 100 100 000 Old_age 始终 - 0
194 温度_摄氏度 0x0022 030 030 000 Old_age 始终 - 30(生命周期最小/最大 30/30)
195 Hardware_ECC_Recovered 0x001c 120 120 000 Old_age 离线 - 135388659
196 Reallated_Event_Count 0x0033 100 100 003 失败前总是 - 9
201 Soft_Read_Error_Rate 0x001c 120 120 000 Old_age 离线 - 135388659
204 Soft_ECC_Correction 0x001c 120 120 000 Old_age 离线 - 135388659
230 Head_Amplitude 0x0013 100 100 000 失败前总是 - 100
231 温度_摄氏度 0x0013 100 100 010 失败前始终 - 0
233 Media_Wearout_Indicator 0x0000 000 000 000 Old_age 离线 - 2531
234 Unknown_Attribute 0x0032 000 000 000 Old_age 始终 - 3465
241 Total_LBA_Written 0x0032 000 000 000 Old_age 始终 - 3465
242 Total_LBA_Read 0x0032 000 000 000 Old_age 始终 - 2030
SSD是否健康的参数分析:
注意这时的使用寿命不在是象 intel ssd 的 Media_Wearout_Indicator 这个参数(当然 OCZ 也有,在 Crucial 就变成了Perc_Rated_Life_Used).但其实我们要看 SSD 是否健康,主要是要通过 Wear Leveling Count(颗粒平均擦写次数)这个参数和Grown Failling Block Ct这个参数.
注意看下面二行:
170 Grown_Failing_Block_Ct 0x0033 100 100 000 Pre-fail Always - 0
173 Wear_Levelling_Count 0x0033 090 090 000 Pre-fail Always - 536
上面二个参数是关键:
Wear Levelling Count(颗粒平均擦写次数): 先讲这个参数.更加重要.先声明这个硬盘是使用了一年的 SSD 硬盘.图中显示的数据为536,即这块128G的硬盘的全盘写入/擦除(P/E)数为536 次,显示还有 90% 的寿命.所以大约这个硬盘使用的闪存颗粒的寿命为 5000 多次的样子.536 约为 5000 的 10% ,所以此项值为90(CA). Grown Failing Block Count(使用中新增坏块数): 此项代表 SSD 的闪存颗粒在使用时出现的坏块(类似于HDD的坏道)数量,此处数据为 0 即尚未有出现坏块,若你命不好.新购买回来 SSD 在正常使用时,很短的时间内这个数据产生较大变化,那代表盘可能有问题,早点找售后服务吧.
MegaCli常用参数组合介绍:
MegaCli -cfgdsply -aALL | grep “Error” 【正常都是0】
MegaCli -LDGetProp -Cache -LALL -a0 【写策略】
MegaCli -cfgdsply -aALL | grep “Memory” 【内存大小】
MegaCli -LDInfo -Lall -aALL 【查RAID级别】
MegaCli -AdpAllInfo -aALL 【查RAID卡信息】
MegaCli -PDList -aALL 【查看硬盘信息】
MegaCli -AdpBbuCmd -aAll 【查看电池信息】
MegaCli -FwTermLog -Dsply -aALL 【查看RAID卡日志】
MegaCli -adpCount 【显示适配器个数】
MegaCli -AdpGetTime –aALL 【显示适配器时间】
MegaCli -AdpAllInfo -aAll 【显示所有适配器信息】
MegaCli -LDInfo -LALL -aAll 【显示所有逻辑磁盘组信息】
MegaCli -PDList -aAll 【显示所有的物理信息】
MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep “Charger Status” 【查看充电状态】
MegaCli -AdpBbuCmd -GetBbuStatus -aALL 【显示BBU状态信息】
MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL 【显示BBU容量信息】
MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL 【显示BBU设计参数】
MegaCli -AdpBbuCmd -GetBbuProperties -aALL 【显示当前BBU属性】
MegaCli -cfgdsply -aALL 【显示RAID卡型号,RAID设置,DISK相关信息】
磁带状态的变化,从拔盘,到插盘的过程中:
Device |Normal|Damage|Rebuild|Normal
Virtual Drive |Optimal|Degraded|Degraded|Optimal
Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online
以上是详解CentOS下对SSD健康状况和寿命的检测方法的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

CentOS 中使用中文输入的方法包括:使用 fcitx 输入法:安装并启用 fcitx,设置快捷键,按下快捷键切换输入法,输入拼音即可生成候选词。使用 iBus 输入法:安装并启用 iBus,设置快捷键,按下快捷键切换输入法,输入拼音即可生成候选词。

在 CentOS 7 中读取 U 盘文件,需要先连接 U 盘并确认其设备名称。然后,使用以下步骤读取文件:挂载 U 盘:mount /dev/sdb1 /media/sdb1(替换 "/dev/sdb1" 为实际设备名称)浏览 U 盘文件:ls /media/sdb1;cd /media/sdb1/目录;cat 文件名

人们可以使用scp命令在网络主机之间安全地复制文件。它使用ssh进行数据传输和身份验证。典型的语法是:scpfile1user@host:/path/to/dest/scp-r/path/to/source/user@host:/path/to/dest/scp排除文件我不认为你可以在使用scp命令时过滤或排除文件。但是,有一个很好的解决方法来排除文件并使用ssh安全地复制它。本页面说明如何在使用scp递归复制目录时过滤或排除文件。如何使用rsync命令排除文件语法是:rsyncav-essh-

忘记 CentOS 密码的解决方案包括:单用户模式:进入单用户模式,使用 passwd root 重置密码。救援模式:使用 CentOS Live CD/USB 启动,挂载根分区并重置密码。远程访问:使用 SSH 远程连接,用 sudo passwd root 重置密码。

CentOS 7 默认禁用 root 权限,可按以下步骤开启:临时开启:终端输入 "su root",输入 root 密码。永久开启:编辑 "/etc/ssh/sshd_config",将 "PermitRootLogin no" 更改为 "yes",重启 SSH 服务。

有以下几种方法可获取 CentOS 7 中的 root 权限: 1. 使用 "su" 运行命令。 2. 使用 "sudo" 运行单个命令。 3. 启用 root 用户并设置密码。注意:使用 root 权限时要谨慎,因为它们可能会损坏系统。

在 CentOS 中以 root 权限执行任务有两种方法:1) 使用 sudo 命令临时获得 root 权限;2) 直接使用 root 用户密码登录。在使用 root 权限时,应格外小心,并建议仅在必要时使用。

要将 CentOS 配置为网关,需进行以下步骤:1. 配置网络接口,添加 GATEWAY 值;2. 设置默认网关,指定 DNS 信息;3. 启动网络服务;4. 测试网关连接;5. 配置防火墙(可选)以允许流量通过网关。
