大二时在同学的影响下买了树莓派2B,当时的主要是想用树莓派做一个透明代理路由器,但并未成功,只是将其做成了一个无线wifi中继器,详细过程可以参见之前写的使用树莓派做无线路由中继器,不过那篇文章比较老了,应该已经过时了。那个时候使用的是学校移动的cmcc-edu无线wifi,这个东西有一个限制,即每次只能够有一个设备连接,这对当时有1个手机,1台电脑的我来说就非常的不方便,因此通过树莓派连接cmcc-edu,之后再进行分享,这样几个设备再连接树莓派就可以同时连接网络了,这是最开始使用树莓派的直接用途。

后来了解了树莓派更多的玩法后,发现也可以在树莓派上面安装samba服务器,从而在多个设备间访问共享一些文件。比如电脑上下载好的电影上传到树莓派上,然后躺在床上直接用手机访问上传到树莓派上的电影,不用在电脑和手机之间麻烦的来回拷贝文件,这算是最早对NAS的印象。

用树莓派做共享服务器了两年多,直到大学毕业开始工作,自己租了个小单间,发现离开共享服务器还是不行,但如果再使用树莓派就发现它的性能已经无法满足自己的需求了。当时连接树莓派用的是usb无线网卡,上下行速度最大约5M/s,实在是太慢了。后来斐讯翻车,买了个斐讯的k2p路由器,通过路由器的wifi访问树莓派,但由于树莓派2B是百兆有线网卡,最大速度也就10+M/s,依旧不满意,用树莓派下载个超高清的电影都没法在局域网看。

后来又了解到了斐讯翻车的N1,这玩意是个神器,网上有拿它做电视盒子的,有做pt下载小钢炮的,有做游戏机的,还有做旁路由的,相关的帖子在张大妈以及恩山论坛上非常的多,当时剁手一下子买了3个,然而有一个到现在还未拆封😂。其中一个使用荒野无灯的小钢炮固件用来下载和共享,N1是千兆的网卡,虽然USB是2.0的,但上下行速度也有个20+M/s,比树莓派倒是强多了;另外一个用来尝鲜了电视盒子以及游戏机。

虽然两个N1用起来已经很不错了,但依旧有美中不足的地方。房东给的是垃圾长城宽带,bt下载并不友好,恰好自己有微云会员,因此大部分下载都通过微云的离线下载来进行,而微云只有Windows版本。自己那台大三时买的垃圾笔记本,赛扬N2940的U,TDP 7.5W,SDP 4.5W,日常用非常卡,所以就装了Windows只用来微云或迅雷下载。美中不足的地方来了,N1与这台笔记本在功能上冲突了,其实N1的工作完全可以只用这一台Windows笔记本来负责,而现在却要开两个机器用两份电,这自然是不能忍的,需要做资源整合。

后来在浏览知乎时,看到了韦易笑大神的几篇文章。

  1. Intel NUC8i7BEH 评测
  2. Nas 系统的虚拟化方案
  3. KVM 虚拟化环境搭建 - ProxmoxVE
  4. 内网穿透:在公网访问你家的 NAS
  5. 常用公有云的替换方案

这几篇文章的观点连贯起来就是说,在家搞一台性能强大的低功耗服务器,通过kvm虚拟化的方式建立各种服务,比如NAS,并替代现有的常用公有云方案,之后通过内网穿透的方式为外部的自己提供服务。自己考虑了一下,韦大神的这个方案确实很好。

将服务器放在家用,那么服务器的性能和存储大小将完全由自己决定,也完全不用担心数据泄露的风险。这也降低了更换vps服务器的成本,如果将数据放在vps,那么在更换vps时,环境需要重新建立,而数据也需要备份还原,比较麻烦。而服务器放在家中,只需要找一个网络比较通畅的服务器即可,服务器更换时,也只是简单的改下映射配置。在系统的虚拟化这块,之前在网上见过一些文章,比较常见的是Windows作为物理机系统,通过hiper-v建立各个子服务系统。各个虚拟化平台的优劣没有详细的了解过,考虑到是韦大神的推荐,因此还是决定试下ProxmoxVE这个系统。

虽然被韦大神安利了Intel的NUC,但考虑到自己已经有一台吃灰的笔记本了,所以还是忍住了没有剁手,最终自己的方案是这样的。

  1. 以自己那台N2940的笔记本作为物理服务器。考虑到自己并不会跑什么比较耗CPU的服务,所以理论来说只要内存够就行了,因此上了块8G的内存条(笔记本最大支持8G),同时将硬盘改为了固态盘,只用来安装系统。网口为千兆口,与k2p相连。
  2. 自己之前闲置了3块2.5寸的硬盘,大小均为500G,使用移动硬盘盒以及usb hub连到笔记本上。
  3. 笔记本物理系统使用ProxmoxVE这个系统,并在上面安装3个虚拟系统。
  4. 第一个系统安装Win 7,用来使用微云、迅雷、uTorrent进行下载。同时为其分配一块500G的硬盘,并做网络共享。这块硬盘只用来下载和临时的共享,不对其做任何容灾备份。
  5. 第二个系统安装OpenMediaVault,为其分配了2块500G的硬盘,一块作为主存储盘,通过RSync每天定时备份到另一块硬盘上。在上面安装了seafile满足网盘、同步盘以及照片备份的需求。
  6. 第三个系统用来安装LEDE,用来做旁软路由,主路由依旧使用k2p,该软路由的主要用来透明代理和过滤广告。
  7. 在ProxmoxVe上安装了frp,使用自己外网的服务器做内网穿透,方便访问自己的seafile服务。

静默状态下,整个笔记本的功耗在12w左右。笔记本本身没有风扇,被动散热,深圳夏天长时间运行(不使用微云、迅雷下载)温度大概在60°左右,自己不太担心散热问题。

相比网上某些大神动辄几十T的存储,自己总共1.5T的磁盘空间显得非常寒碜,不过由于自己将电影之类的大文件都放到微云上了,自己现在也不挂PT,只是把一些文档、照片等比较关键涉及隐私的东西放在自己的网盘上,倒也满足需求,所以这块也不纠结。

Windows系统主要用来做下载机,相比Linux来说,Windows还是要更为适合下载功能的。OpenMediaVault(简称OMW)这个NAS系统则主要用来作服务器,这里没有使用黑群晖,没什么原因,只是早就听闻了OMW,想尝尝鲜,确实没有群晖那么强大易用,但对自己来说也够用了。网盘系统这块最初使用的是NextCloud,但那玩意性能比Seafile要差一些,自己的小本有点带不动😓,因此还是换成了Seafile。Seafile的存储文件虽然是自定义的块格式,但官方有专门的seafile-fsck工具,用来帮助恢复导出资料库,因此倒也不担心服务器挂了后该如何恢复数据。在OMW的存储上,两块硬盘没有使用RAID1,因为对RAID不熟,再加上只是自己一个人使用,所以每天定时使用RSync同步备份的方式倒也ok。自己的透明代理和过滤广告的需求其实k2p也能够满足,但是不如软路由来的强大,再加上自己之前只闻软路由之名,但从未尝试过,因此也就趁此机会搭建尝下鲜。

韦大神的文章也提到了很多现有服务的替代方案,比如使用Gogs替代Github,使用蚂蚁笔记替代印象、有道云等。目前这块自己倒没有需求,后续若有需求也可进行搭建尝试。

目前自己的小破本NAS已经稳定运行一个多月了,不知道最终可以撑多久😂。现在还是租房,就先这样将就跑着吧,等啥时候买房有属于自己的地盘了,再考虑买个NUC或是占美之类的小主机专门用来做NAS。虽然将所有的服务都整合到了一台电脑上很开心,但再看看现在在一边吃灰的树莓派和3个N1,也是有点无语,后续看看在闲鱼上出了好了,貌似现在N1都涨价了,就当是买理财产品了。

自己在NAS这块折腾也是花了很多时间,目前来说认为当前的方案算是自己比较满意的一个方案了,因此在此总结一下,后续很长时间都不会再折腾这个了。