扫描二维码关注官方公众号
12下一页
返回列表 发布新帖

[巴法络] 小改wvl自动发送状态报告附带硬盘详细SMART信息

 
14446 25
发表于 2013-2-21 15:07:08 | 查看全部 阅读模式

来吧兄弟,一起玩一起讨论!

您需要 登录 才可以下载或查看,没有账号?注册

×
背景:nas我放家里7*24 因为长时间不在家无人值守,我希望nas可以给我汇报状态尤其是磁盘的健康状况
wvl可以在webadmin的维护菜单里设置定期发送nas的工作状态,但发现信息量太少太简单了,除去主机常规信息,关运行状态只有寥寥几句,例如:

[HDD Usage Status]
RAID Array 1 Usage Rate : 40588120 kbytes / 1938180224 kbytes (Usage Rate 2%)

[DISK error status]
DISK1  0
DISK2  0

于是我决定自己来小改一下
找到 /usr/local/bin/sendmail.sh
用vi 或 winSCP或干脆下载弄到PC上用文本编辑工具打开
在855行处添加两行

smartctl -d sat -i -H -A /dev/sda >> $BODY_FILE
smartctl -d sat -i -H -A /dev/sdb >> $BODY_FILE

这两行的意思是把硬盘1(/dev/sda)和硬盘2(/dev/sdb) 进行健康检测、把规格参数以及目前的SMART详细状态添加到邮件末尾。只用了单硬盘的XD可以只添加第一行。

这两行命令位于发送状态报告邮件的函数 FuncRegularReport() 里,插入到放在执行 SendMail之前,如图

aaaa1.jpg

*还有一行 #开头的是注释,没用的
然后保存,如果是把sendmail.sh拷贝出来编辑的话,存回去之后记得要把文件的权限恢复为755
也就是在ssh里运行一次
chmod 755 /usr/local/bin/sendmail.sh
我们可以手动执行发送状态报告邮件测试一下效果(需要webadmin已经配置好了发送邮件报告并选中了发送硬盘状态)
aaaa2.jpg

之后收到的状态邮件末尾会附带两个硬盘的响应信息类似下面的例子
我们关注其中的几个信息即可,已蓝色加粗和添加了绿色的说明

smartctl version 5.37 [arm-none-linux-gnueabi] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD2003FYYS-02W0B0 硬盘型号
Serial Number:    WD-WMAY00069431 序列号
Firmware Version: 01.01D02
User Capacity:    2,000,398,934,016 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Thu Feb 21 14:36:54 2013 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED健康状况PASSED就是好的

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   200   200   051    Pre-fail  Always       -       1
  3 Spin_Up_Time            0x0027   253   253   021    Pre-fail  Always       -       6241
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       11
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0 已检测到的坏轨数量,只要不是0就得注意了
  7 Seek_Error_Rate         0x002e   100   253   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       77 通电/运作了多少个小时,新买的硬盘可以留意一下这里
10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       11
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       9
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       1
194 Temperature_Celsius     0x0022   102   101   000    Old_age   Always       -       50硬盘温度
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0


其他SMART属性的含义可以自行搜索一下,不同类型的硬盘会有些差别。
硬盘有价数据无价,祝大家的nas身体健康长命百岁

评论25

snmoney楼主 发表于 2013-2-21 15:10:09 | 查看全部
emm,忘记了说手动执行发送硬盘报告邮件的命令是在ssh下执行
# /etc/cron/cron.d/mailnotice.sh
如果你配置的邮箱信息没有错的话,立刻就会收到
QQ\163\126\等国内免费邮箱的smtp都不支持,好奇怪
用gmail的同学可以参考上面截图的配置
邮件设置这部分很受启发,感谢分享! 
发表于 2013-2-26 14:42
回复 点赞

使用道具 举报

momoVIP互助团队 发表于 2013-2-21 15:32:31 | 查看全部
看上去有点复杂,不过自己动手还是很不错的。
隔壁网希捷酷狼8T硬盘,正品国行,3年换新,只需要1320元,赠送论坛邀请码和VIP!
回复 点赞

使用道具 举报

宿醉冇醒Lv.4 发表于 2013-2-21 16:30:54 | 查看全部
非常好,谢谢了!
回复 点赞

使用道具 举报

deaLv.3 发表于 2013-2-21 16:37:16 | 查看全部
手动发邮件,内容还是和以前一样, 于是执行了下smartctl -d sat -i -H -A /dev/sda  , 显示
  1. # smartctl -d sat -i -H -A /dev/sda
  2. smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
复制代码
回复 点赞

使用道具 举报

snmoney楼主 发表于 2013-2-21 17:32:02 | 查看全部
dea 发表于 2013-2-21 16:37
手动发邮件,内容还是和以前一样, 于是执行了下smartctl -d sat -i -H -A /dev/sda  , 显示 ...

你的是什么型号什么版本的固件?
回复 点赞

使用道具 举报

超导体Lv.10互助团队 发表于 2013-2-21 17:59:48 | 查看全部
谢楼主,试试去
回复 点赞

使用道具 举报

snmoney楼主 发表于 2013-2-21 18:33:41 | 查看全部
dea 发表于 2013-2-21 16:37
手动发邮件,内容还是和以前一样, 于是执行了下smartctl -d sat -i -H -A /dev/sda  , 显示 ...

你是装MOD的?被精简了?
我装的是官方的 1.64
回复 点赞

使用道具 举报

jiff3 发表于 2013-2-21 18:50:08 | 查看全部
不错,试试去。
回复 点赞

使用道具 举报

zptpower1 发表于 2013-2-22 10:45:42 | 查看全部
好使~正常收到右键了~
回复 点赞

使用道具 举报

zengmoxi 发表于 2013-2-25 12:00:14 | 查看全部
很实用,我也准备上wvl了,就是硬盘格式不能ntfs,不方便分享
回复 点赞

使用道具 举报

文雅的堕落 发表于 2013-2-26 09:24:30 | 查看全部
相当不错
回复 点赞

使用道具 举报

文雅的堕落 发表于 2013-2-26 09:32:05 | 查看全部
其他版本的固件不能插入到855行。
插入地应该是
SubFuncRegularReportDiskErr
        echo "" >> $BODY_FILE
之后。
回复 点赞

使用道具 举报

rowa58 发表于 2013-2-26 10:23:16 | 查看全部
学习,学习
回复 点赞

使用道具 举报

deaLv.3 发表于 2013-2-26 13:17:52 | 查看全部
本帖最后由 dea 于 2013-2-26 13:30 编辑

我的也是WVL 官方1.64, 两块硬盘用的raid0
  1. root@NAS:~# /etc/cron/cron.d/mailnotice.sh
  2. Can't specify using language.
  3. use english messages
  4. smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
  5. smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
复制代码
回复 点赞

使用道具 举报

snmoney楼主 发表于 2013-2-26 14:07:47 | 查看全部
dea 发表于 2013-2-26 13:17
我的也是WVL 官方1.64, 两块硬盘用的raid0

直接运行
smartctl -d sat -i -H -A /dev/sda
也这样报错吗?缺少这个东西?

试试
ipkg install libstdc++

你的nas改过其他东西吗?有没有装 opt, tr 之类的?
回复 点赞

使用道具 举报

deaLv.3 发表于 2013-2-26 14:48:55 | 查看全部
直接运行也报错:
  1. root@NAS:~# smartctl -d sat -i -H -A /dev/sda
  2. smartctl: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
复制代码
  1. root@NAS:~# ipkg install libstdc++
  2. Package libstdc++ (6.0.9-6) installed in root is up to date.
  3. Nothing to be done
  4. Successfully terminated.
复制代码
装过opt,tr aria2
回复 点赞

使用道具 举报

snmoney楼主 发表于 2013-2-26 15:09:49 | 查看全部
dea 发表于 2013-2-26 14:48
直接运行也报错:装过opt,tr aria2

Package libstdc++ (6.0.9-6) installed in root is up to date.

这代表已经装了啊?怎么还会 error while loading shared libraries: libstdc++.so.6 呢,奇怪啊..等其他高手来解答吧
回复 点赞

使用道具 举报

snmoney楼主 发表于 2013-2-26 15:11:18 | 查看全部
文雅的堕落 发表于 2013-2-26 09:32
其他版本的固件不能插入到855行。
插入地应该是
SubFuncRegularReportDiskErr

是的,发现不同版本的固件在的行数位置不同,应该以找到那个函数的特定位置为准
回复 点赞

使用道具 举报

deaLv.3 发表于 2013-2-26 15:56:10 | 查看全部
按群友指导,终于成功了
方法如下: /usr/lib  和 /opt/lib 下 分别备份libstdc++.so.6
mv libstdc++.so.6 libstdc++.so.6.bak
然后
ln -s libstdc++.so.6.0.9 libstdc++.so.6

再 /etc/cron/cron.d/mailnotice.sh
就成功了! 谢谢 A4G!
回复 点赞

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

淘宝小店

邀请码

VIP会员

微信客服

公众号

微信群

投诉/建议联系

support@gebi1.cn

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 隔壁网 版权所有 All Rights Reserved. 粤ICP备14056481号-1
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表