UNRAID利用python获取硬盘信息(休眠状态+温度)

前言:

DIY的NAS对比成品NAS有性价比高,个人定制化较好等优势,包括我在内的追求性价比的(穷鬼)会被吸引。但是成品NAS也会有很多的优势,例如风扇会随着温度调整,在散热性能噪音之间得到一个比较好的平衡。笔者之前用过QNAP的TS551,硬盘不转的时候是一个安静;目前自己DIY的NAS呢,用的unraid,没法做到自动温度调整(好像有一部分的unraid可以用插件实现,但是我的主板不行,提示占不到转速控制器),那就只能DIY了。

对于NAS来说,最终要的就是硬盘的温度,那么第一步,就是在unraid里面,怎么知道目前的硬盘状态。

一些网上找到的实现方式:

其实UNRAID里面已经装了smartctl,我估计系统默认的获取硬盘的方式就是调用他而来的。python下有pysmart包,实际上它也调用了smartctl,但是我发现这个包有个问题,一旦查询硬盘温度的时候,他会唤醒全部的硬盘,这是我显然希望避免的(7个硬盘,唤醒了功率能上100w,待机21W,定期查询温度=永远无法休眠)。

所以本文用smartctl来操作,读取硬盘的状态。

实现方式:

主要的实现方式是通过python的os库的popen来执行命令行,并将返回的信息进行处理。

1、第一次执行的时候,查询全部硬盘的状态,获取硬盘总数,并知道每个硬盘的具体路径。执行smartctl --scan

root@ur:~# smartctl --scan
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/sdc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值