[巴法络] 小改wvl自动发送状态报告附带硬盘详细SMART信息 |
背景: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之前,如图 *还有一行 #开头的是注释,没用的 然后保存,如果是把sendmail.sh拷贝出来编辑的话,存回去之后记得要把文件的权限恢复为755 也就是在ssh里运行一次 chmod 755 /usr/local/bin/sendmail.sh 我们可以手动执行发送状态报告邮件测试一下效果(需要webadmin已经配置好了发送邮件报告并选中了发送硬盘状态) 之后收到的状态邮件末尾会附带两个硬盘的响应信息类似下面的例子 我们关注其中的几个信息即可,已蓝色加粗和添加了绿色的说明 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身体健康长命百岁 |
emm,忘记了说手动执行发送硬盘报告邮件的命令是在ssh下执行
# /etc/cron/cron.d/mailnotice.sh 如果你配置的邮箱信息没有错的话,立刻就会收到 QQ\163\126\等国内免费邮箱的smtp都不支持,好奇怪 用gmail的同学可以参考上面截图的配置 |
看上去有点复杂,不过自己动手还是很不错的。
|
隔壁网希捷酷狼8T硬盘,正品国行,3年换新,只需要1320元,赠送论坛邀请码和VIP!
|
手动发邮件,内容还是和以前一样, 于是执行了下smartctl -d sat -i -H -A /dev/sda , 显示
|
其他版本的固件不能插入到855行。
插入地应该是 SubFuncRegularReportDiskErr echo "" >> $BODY_FILE 之后。 |
本帖最后由 dea 于 2013-2-26 13:30 编辑
我的也是WVL 官方1.64, 两块硬盘用的raid0
|
直接运行也报错:
|
按群友指导,终于成功了
方法如下: /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! |