今天上班有点闲工夫,就讲讲这个礼拜在忙的一个事情。
很久以前就把一台闲置了的有10数年历史的笔记本电脑装上了Freenas,当下载机在用。
如果光是用来做文件服务器的话FreeNAS确实是一个很好的选择,系统体积很小(可以安装在2G的U盘上)本机硬盘可以纯粹用作数据盘。安装很直观也很容易,整个过程在10-15分钟左右。管理通过网页GUI,界面简洁清楚。当然,FreeNAS最大的特色在于支持ZFS文件格式,需要数据冗余的话,这是最好最安全的方式之一了吧。
可是,我只是用它来做下载机,BT一些电影,要留的拷到高清机的硬盘里留下,不留的直接删掉,数据冗余对我没有用处.
因为这台机器是7/24开着的,所以对功耗也留意了一下。全速开BT的时候,CPU占用率在25%左右,FreeNAS根据负载情况把CPU降频到300MHz左右, 整机能耗平均在20W以下,峰值45W。这个数字比家里的Home theater待机功率还要低(35W),所以我还是比较满意的。
特别是笔记本电脑本身带电池,虽然比较老,但是在20W以下的功耗下,支撑1个小时还是没有问题的。这一考虑在一次暴风雨过后的停电得到了验证。我是在来电后才想起我的下载机,察看之下发现还在正常运行。
(插播一句:10年老笔记本,网口是10/100M for sure,硬盘容量不超过80G,只能插一块硬盘,所以别指望性能和扩展性。。。)
LZ继续
于是,这台服务器就在Basement安静的为我们服务着。说安静,是因为降频后发热量很小,风扇不用运转,当时为了提高降温效果,还在CPU上覆了一层铝箔,并拉到电脑外部增加散热面积,现在看是多虑了,而且发现铝箔的导热性能并不是很好?
想到自己20来岁的时候千方百计超频,到了现在却感到了降频的好处。 这就是返璞归真?
服务器up time 100多天的时候,我拿到了我的Kindle 3, up time 近150天的时候,体会到了杂志推送的好处。近300天的时候发现常用的几个推送网站都开始有限制了。有的是限制推送数量为2个,有的是取消图片的推送,而所有的这些网站都只有有限的推送资源。
于是开始寻找能不能自己搭一个平台,给自己推送?
开始想的是在FreeNAS上装著名的Calibre, 然后通过Cron 定时抓取rss然后推送到Kindle上。
想法很简单,实际操作却遇到了很多问题。首先是本人不是挨踢出身,半桶水还能晃荡晃荡,我这点水也就刚润润桶底子。 其次,Calibre主要是为X-windows开发的,命令行模式下的运行并不方便。然后,跟我一样想在FreeNAS上运行Calibre的人实在太过小众,很多问题都没有办法找到答案. 最后,也是到后来我才意识到的问题,FreeNAS基于FreeBSD而且是精简过的FreeBSD,对Linux下开发的软件的支持实在有限。
上面的几个结论写起来就几十个字,但对于在黑暗中摸索的我来说,的确是痛苦的经历。
后来看到了dogear的kindlereader开源Project (http://www.whycai.com/projects-dogear.html),让我又恢复了希望。
Kindlereader有两个版本,一个是多用户的GAE版本,一个是单用户 Master版本。我先试用的是GAE版本,因为有Google免费的空间和流量怎能放过,再说GAE版本部署起来也很容易,按部就班就能完成。只是域名验证的时候,需要稍微改一下一个yuml文件的代码。于是没有费太大的功夫,做成了http://4k3reader.appspot.com/, 有兴趣的可以试验一下。
可是,我在第一次使用的时候,发现,这个推送,虽然不限数量,但是竟然是没有办法推送图片的。 Bummer!这就失去我折腾这一切的意义。
于是开始折腾master版本。
安装起来倒是很顺利,git一下,整个目录都下来了,连解压都省了。vi 编辑好config.ini, 然后再把Amazon的Kindlegen下到同一个目录就可以运行了。可是,事情不会这么顺利的,永远不会!"ELF binary type "0" not known" 是个什么错误啊。
这次连Google大神也没能帮上什么忙。用brandelf -t 改ELF也不行。在FreeNAS上装了Linux layer也不管用。最后只好承认,FreeNAS跟Kindlegen天生不般配,扯不到一块去的。
当时只能在:1. 放弃FreeNAS,选用Linux系统。2. 重装FreeBSD并在完整的FreeBSD基础上Build FreeNAS。 两个选择对我都意味着巨大的工程和诸多的未知。