未来每个家庭都会有一个家庭服务器
“略懂的大龙猫,分享纯干货”
未来每个家庭都会有一个家庭服务器。家庭服务器的功能定位是:家用NAS、Web服务器、娱乐主机、下载机、软路由、智能家居控制中心等等。群晖、威联通等此类家用NAS,可以当做家庭服务器的初级方案,而我要介绍的是更好玩的家庭服务器解决方案。
1.为什么未来大家都需要家庭服务器
每个人手机里都有很多APP,这些APP绝大部分是互联网公司提供的客户端。客户端只要离开了服务器立马成废物,真正有价值的数据都在互联网公司的服务器里。很多人为网游氪金成千上万,实际上买的只是服务器执行几条代码的权利。话说微信就要推出聊天记录付费云备份服务,这个服务实际上是:一年付费130元就可以查看备份在腾讯服务器聊天上自己的聊天记录。这么简单的一个服务却可能会成为腾讯又一个年入千亿的大生意,由此可见数据的价值是非常大。
虽然普通人没办法和互联网巨头对抗。但拥有自己的家庭服务器,保留点自己的数据也不是什么坏事。我始终是开源社区的拥趸。
2.家庭服务器——硬件篇
2.1 服务器硬件的特点
CPU:理论上服务器的CPU内核越多越好,可以提升多任务处理能力,实际推荐4核以上;服务器CPU的能效比越高越好,服务器CPU的主频可以不太高,功耗则不宜太高;而家庭服务器的CPU还有几点建议:CPU最好带核显,便于安装桌面系统;CPU解码能力不能过时,才能满足服务器影音解码的需求;
内存:理论上服务器的内存越大越好,实际建议8G以上;
内部接口:硬盘接口至少2个以上,最好可接1个SSD+2HHD以上;最少有1个千兆网口,多网口更好;最好有PCI口,可用于拓展SAS卡等;
外部接口:至少有2个USB3.0接口;至少有HDMI接口,多个视频输出口更好;
家庭服务器相比商用服务器,选择方案更多。
2.2 小主机方案
入门级家庭服务器完全可以选择低物美价廉的功耗小主机。我自己用的个人服务器就是一台GN41的小主机,600元入手具体硬件和性能如下图:
N4100的性能稍逊于J4105但功耗更低,是一个还不错的选择。选择小主机时,不建议考虑构架和解码能力过时的CPU,比如:J3160、J1900、J1800、Z8300、D2550、D525……这些。这些老面孔中一些还严重溢价,比如一个双网口J1900,闲鱼有人开价600。
2.3 ITX方案
ITX主机在尺寸上小于常规主机,但是在性能和拓展性上依然很强大。选择ITX主机可以搭建性能更强的家庭服务器。既可以选择功耗较低的酷睿T系列、或者AMD的APU系列,也可以选择标压CPU,甚至配独立显卡。
我个人觉得ITX方案最大的优势是在硬盘拓展上有优势,可以接更多的硬盘。而且通过PCI转SAS再外接一台二手的LTO4级的磁带机进行数据冷备份,既经济又实用。
2.4 高端方案
小主机和ITX主机搭建家庭服务器都是比较常规的方案,大家会问有没有高端一点的方案。由于我自己没有经济实力,没有搭建过高端方案。大家可以参考王思聪的服务器搭建经验,网上应该可以搜索到配置。
2.5 ARM主机方案
上面介绍的都是x86平台的硬件方案,事实上ARM平台在功耗上更优秀。最常见的ARM小主机方案是树莓派,但我个人对树莓派没啥好感,因为树莓派硬件溢价高,二手价格远高于同性能的x86硬件。树莓派真正适合的是做嵌入式开发的朋友,对于新手我会优先推荐x86平台。对于想体验或学习ARM平台的朋友,我更建议去捡漏一些电视盒子,有不少性价比高且性能尚可的方案比如S905。
ARM在性能和软件生态上还是逊色x86不少,所以从实用角度出发还是选择x86更合适。
3.家庭服务器——组网篇
外网速度取决于运营商宽带,理论上对等宽带是最好选择,但是价格也更贵。如果你购买的宽带服务可以提供公网IP,可以为架设服务器带来很多便利。但是没有也没关系, 家庭和个人使用还是有很多解决方案的。
内网速度取决于搭建的家庭网络环境,内网建议千兆网起步。如果服务器数据传输量非常大,还可以考虑组一个旁路由网络,这样不影响主路由其它设备的联网。
下图是我个人的组网方案:因为我工作和家是在两地,所以通过zerotier组了一个虚拟局域网。我通过手机控制路由器控制家里的主机开关机,在外地时也可以远程控制家里的电脑和小服务器。
4. 家庭服务器——软件篇
4.1 家庭服务器的操作系统
家用服务器的操作系统我推荐:Linux发行版或者Windows。Windows没的说大家最熟悉的操作系统,适合新手。但是作为服务器,Linux系统使用起来会更顺手。当然我并不建议安装服务器版的Linux,反而建议安装一个桌面版Linux,因为上手更简单。
也有人推荐通过EXSi搭建多个操作系统的AllinOne主机。EXSi对性能的要求比较高,不然每个虚拟机的体验一般。而且Linux+Docker灵活的解决方案,足以应付各种需求。所以我最推荐的毫无疑问是:linux发行版。
Linux发行版我推荐3个:1.Ubuntu / 2.Manjaro / 3.Linux mint;国产的麒麟 、深度也可以尝试;
接下来讲软件的案例,我均以Ubuntu系统为案例:
4.2 软件Zerotier——虚拟局域网
Zerotier是一个组件虚拟局域网的解决方案,是一个简单的内网穿透方案,可以让不同地方的设备如图在同一个局域网之中自有访问。同类软件还有Tailscale。
使用Zerotier,首先要去其官网注册一个账户,并创建一个虚拟局域网。这个局域网或有一串字符串作为标识,其它设备加入该虚拟局域网都会用到这个标识。
然后在每个设备上安装Zerotier,首先介绍家庭服务器上安装Zerotier:
#安装Zerotier
curl -s https://install.zerotier.com | sudo bash
#加入虚拟局域网
sudo zerotier-cli join 局域网字符串
#离开虚拟局域网
sudo zerotier-cli leave 局域网字符串
#查看Zerotier服务的命令,总共有 {start|stop|status|restart|reload|force-reload}这几个命令可选
sudo service zerotier-one
服务器上安装好Zerotier后,其它设备安装Zerotier就比较简单了,Windows、Android都有对应的安装包,下载安装后填写标识码加入你的虚拟局域网即可。
然后登陆Zerotier官网,进入局域网管理。这里可以看到每一个申请加入虚拟局域网的设备。你只要允许该设备访问该虚拟局域网即可。
4.3 软件WakeOnLan——局域网开机
前面介绍了我需要异地远程开机,但是我的服务器没有公网IP。所以我需要换个思路解决问题。Zerotier虽然可以组件虚拟局域网,但是不能实现局域网开机。所以我需要在异地的局域网中有一台不关机的设备,这就是智能路由。我开启了小米路由的SSH功能,然后通过安装opkg在路由器上安装了Zerotier。然后再在路由器上安装Wake on Lan,这样就可以通过SSH开启其它局域网设备了:
#安装wake on Lan
sudo apt install wakeonlan
#使用局域网唤醒
wakeonlan -i 网关 mac地址
其它设备需要开启局域网唤醒功能:
1.在BIOS中开启Wake On Lan设置,把该选项调整为Enable;
2.系统开启网卡的Wake On Lan权限;
Windows系统设置
进入设备管理器,在网卡属性的“高级”标签里设置“关机网络唤醒”开启和“魔术封包唤醒”开启。在“电源管理”标签里勾选“允许计算机关闭此设备以节省电源”和“允许此设备唤醒计算机”。
这里要吐槽一句,Windows采用局域网唤醒必须把登陆密码取消不然意义不大。
Linux系统设置
#查看mac地址和网卡名
ifconfig
#查看是否开启了WakeOnLan,如果有Supports Wake-on: g和Wake-on: g这两项则支持且开启了局域网唤醒
sudo ethtool 网卡名
#如果支持局域网唤醒但是没有开启输入以下命令
sudo ethtool -s 网卡名 wol g
mac地址不好记,你可以通过alias命令设置开机别名,操作起来就会顺手很多。如果你对我这一段讲解感觉懵懵的,我会专门写一篇文章详细讲解这里面的技术细节。
4.4 软件Calibre——个人电子书库
如果你家里有Kindle,那么Calibre可以提升Kindle的阅读体验。Windows系统可以使用安装包安装,Linux则可以用命令行安装:
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
在Ubuntu上安装Calibre后,打开Calibre开启内容服务。局域网内所有设备都可以通过浏览器访问书库。如果你有Kindle你会发现这种方式比推送爽太多。而且不仅是Kindle,手机平板都可以直接浏览书库非常方便。
4.5 Samba——搭建文件服务器
目前最流行的个人文件共享解决方案还是Samba。linux安装Samba也非常简单:
#安装samba
sudo apt install samba
安装完毕后,只需要把指定文件夹设置成共享,其它主机只需要通过访问局域网主机IP地址,即可访问服务器共享的内容。
4.6 搭建下载服务器
家庭服务器完全可以作为下载机。作为下载机第一个方案是安装百度网盘的客户端,进行挂机下载。Linux下也有百度网盘的客户端,这一点百度网盘做的还算良心,但是下载速度也就200kb。
BT下载可以用transmission,然后开启Web服务开启局域网下载。通过zerotier搭建虚拟局域网可以实现远程下载。
#安装transmission
sudo apt install transmission
#安装qbittorrent
sudo apt install qbittorrent
更普遍的下载服务器解决方案是aria2其设置稍稍复杂,所以我接下来会用专题写写。transmission和aria2都有很不错的安卓客户端,只要你搭建好服务使用非常方便。
4.7 Web服务器和Docker的玩法
Web服务器和Docker的玩法才是最多样的,这里暂时不拓展讲解了,后续我会持续进行更新……





赫赫是小猪
校验提示文案
苏丹X
实际上的家庭服务器:小爱同学天猫精灵
校验提示文案
冰镇菠萝
校验提示文案
hh7856
校验提示文案
今夜月光明媚
校验提示文案
朱哲__
校验提示文案
乐唯静
校验提示文案
德玛西亚草薙京
校验提示文案
千峰暮雪
校验提示文案
值友5751495523
校验提示文案
值友7409511067
有兴趣的话,可以上手使用下,我们的开源系统CasaOS,它简单优雅,兼容x86设备与Rpi等设备。
去看看
校验提示文案
瓜sir
校验提示文案
值友2054913020
校验提示文案
whatisworry
校验提示文案
混元无极掌门人
校验提示文案
p1y1c1
校验提示文案
神智吾知
校验提示文案
浙江大飞哥
校验提示文案
乡村胡子大叔
校验提示文案
詹岚丶
校验提示文案
敢拼才会赢18
校验提示文案
值友7409511067
有兴趣的话,可以上手使用下,我们的开源系统CasaOS,它简单优雅,兼容x86设备与Rpi等设备。
去看看
校验提示文案
值友5751495523
校验提示文案
赫赫是小猪
校验提示文案
看这些纯属浪费时间
校验提示文案
qyjdiy
校验提示文案
林海忙忙
校验提示文案
不怕老鼠的大脸猫猫
校验提示文案
cIannad
校验提示文案
千峰暮雪
校验提示文案
德玛西亚草薙京
校验提示文案
缺失的睡眠
校验提示文案
牛牛哥
校验提示文案
詹岚丶
校验提示文案
乡村胡子大叔
校验提示文案
乐唯静
校验提示文案
浙江大飞哥
校验提示文案
神智吾知
校验提示文案
p1y1c1
校验提示文案
混元无极掌门人
校验提示文案