只是一般干这些事的往往会顺道把nas的活一起干了,nuc单盘没数据冗余方案有点不靠谱。如果你确认自己有另外的数据备份方案的话,或者数据不太重要,nuc也是个很好的不差钱方案。
如果只是要低功耗的话,j/之类的集成cpu itx机箱方案更便宜更省电些。
我之前一直都是把一台K 64GDDR5 Ti的主机插在那里24小时开机当服务器用,后来我发现这样每天的电耗实在是太高了,待机功耗200w,稍微动一下功耗就直接上500w,我想了想我的部分需要24小时跑的脚本好像没必要这么高功耗的主机,于是就想着是不是搞一个二手笔记本放过来当服务器用。
手持一千多的预算在某鱼市场上搜的二手笔记本基本都是垃圾产品,要么接口不足,要么就是性能不足。
搜了一段时间之后我突然想起来我可以直接买小主机啊,我以前不看小主机是因为小主机产品只给N100之类的处理器,我根本看不上,但是现在小主机产品都开始上12代i5了,我花个一千多的价格买个新的小主机,不仅接口丰富,性能强,而且功耗还低啊,加上小主机的小体积,不过度占用我设备柜宝贵的体积,这就非常棒了。
零刻SEi12,处理器是i5-
H,内存16GB,硬盘500GB,功耗部分相当低,待机几乎只有10w左右,满载功耗也就65W,并且还能自己换硬盘和内存条加到满配。我刚刚看了一下,目前最低价格的是枭鲸的笔记本条子,32G的条子能做到240块钱一块的单价,买64G的内存条插上去也就只要480块钱。
主要思路就是装Windows11系统,然后搭配zerotier做免费内网穿透,然后小主机上跑一些网心云之类的服务薅羊毛回血电费,然后搭配一下迅雷之类的软件做远程下载服务。
零刻SEi12有藏青蓝和千禧灰两种颜色,灰色版本我个人觉得更好看一点,整机尺寸约126*113*42mm,重量约0.51kg,放在我手机支架上都能很好看。
正面是两个USB3.2Gen210Gbps,一个TypeC(只支持传输数据)、一个3.5mm耳机接口。以及最重要的电源按键。
背部接口,千兆Lan口、两个USB2.Mbps、一个DP1.4、一个HDMI2.0,DP口可输出4K144Hz画面,当然这个体积的小主机开高刷画面压力肯定稍微有点大,所以接口上方的栅格设计为散热出风口,建议大家用2K分辨率屏幕。
支持SATA接口,支持两条DDR4笔记本内存条,支持一条PCIe4.0协议的固态盘,现在给的硬盘是500G的硬盘,跑个服务是完全够了。
整个零刻SEi12配置好之后我就扔在设备柜里面给它跑了,系统装的是Windows11,开了RDP服务,然后配置了zerotier实现全网段远程管理,然后再跑了一个网心云来回血,以及一个迅雷当远程下载主机用。
Zerotier账号是用于组件虚拟局域网的,腾讯云轻主机是用于用于自建Zerotier的moon服务器,也能白搞一个公网IP,其余的设备都要保证正常联网使用。
ZeroTier这一类P2PVPN是在互联网的基础上将自己的所有设备组成一个私有的网络,可以理解为互联网连接的局域网。最常见的场景就是在公司可以用手机直接访问家里的NAS,而且是点对点直连,数据传输并不经由第三方服务器中转。所以安全性非常有保障。
Zerotier在多设备之间建立了一个PeertoPeerVPN(P2PVPN)连接,如:在笔记本电脑、台式机、嵌入式设备、云资源和应用。这些设备只需要通过ZeroTierOne(ZeroTier的客户端)在不同设备之间建立直接连接,即使它们位于NAT之后。连接到虚拟LAN的任何计算机和设备通常通过NAT或路由器设备与连接,ZeroTierOne使用STUN和隧道来建立NAT后设备之间的VPN直连。简单一点说,Zerotier就是通过P2P等方式实现形如交换机或路由器上LAN设备的内网互联。
这个是邮箱注册,注册完之后免费使用设备数量是50个,对于99%的人来说是够了。毕竟我这样的手里常年一大堆电子设备的人,能同时使用的路由器加电脑加起来也不超过十台。
注册完之后就直接登录网站,按照下面的指示创建网络就行。我是把我的网络名能用中文就用中文,这样看起来方便一点。
创建网络:创建一个新的网络之后,我们得到一个NetworkID,这个在后面的设备连接时需要用到,点击刚刚创建的网络我们可以设置更多选项。默认的设置就可以用了,右边IPv4的设置就是分配设备内网IP网段,其他的设置可以在Settinghelp里看到说明,不了解的不建议乱设置,如果不小心把自己的网络暴露在外部,会相当危险。
我现在手里的设备都是Windows10设备,所以在他们主页上下载相应的平台安装包就行,安装包后缀是msi结尾。
装成功之后,你的任务栏部分会出现一个Zerotier的图标,右键点一下鼠标,选择joinNetwork。
有了这个窗口之后,我们再打开我们前面已经登录了的zerotier页面,然后在Network标签下可以看到我们创建的网络的基本信息,我给我的网络取的名字是“家庭内网”,我们要把我用椭圆部分圈出来的一串代码,也就是NETWORKID下面的一串代码,复制,然后粘贴到上一步JoinaNetwork弹出来的窗口中,我建议把所有的都勾选上,以免遗漏。
然后你的几台电脑都加入我创建的“家庭内网”之后,我们还需要进这个网络后台把这些设备的权限都打开。就点这个NODES,然后它会自动跳转到“家庭内网”的后台管理页面。
然后往下拉页面,就会看到自己的设备,我现在的设备都是Auth下面打勾了,代表这些设备被授权了,如果没打勾,就代表这个设备加入了你的网络,但是不能访问你的网络。
要着重关注的是ManagedIPs下面的IP地址,这个地址就代表了你现在设备在Zerotier的“家庭网络”里面的虚拟IP地址,旁边的LastSeen下面代表你这个设备现在的在线状态,比如我现在手里的两台设备都在线,显示的就是ONLINE。
我上面的设备中,SurfaceBook1-7是发起端,地址是192.168.192.190,也就是我平时拿着在外面跑的笔记本,MacAir是接收端,地址是192.168.192.97,也就是我平时扔在家里当服务器的笔记本。
一直到这一步都是很顺畅的,但是之后可能会有人出现新的问题,那就是我从SurfaceBook1-7上访问MacAir的时候会显示连接失败。死活找不到解决方案。
因此,建议在拿到两个设备的“家庭内网”IP地址之后,先在CMD命令行窗口Ping一下地址,看能不能Ping通,如果能Ping通的话就走下一步RDP连接部分,如果不能Ping通的话,建议看看后面我是怎么解决的:
现在我查到的解决方案是一个大佬写的:问题的关键在新建的Zerotier网络虽提供了一组FlowRules流控规则,初次启动时却不会自动应用。
所以我也是采用了这个解决方案之后,就顺利解决了我zerotier网络下各个设备不互通的问题。
买云主机有两个目的:一个是获得公网IP,一个是有个搭建ZerotierMoon服务器的稳定环境。
其实买腾讯,买阿里,或者买华为云都行,还有一堆小的云主机服务商也能买,但是我建议买大家耳熟能详的品牌,最建议买腾讯和阿里的,因为现在国内买这样的云主机需要实名认证,而大家的腾讯和阿里系的账号基本都是实名认证过的,不需要额外的认证。
我买的三年,1核加2G内存,6Mbps的宽带,以及G流量包,三年只要219。后续续费肯定是飞天一般的贵,但是三年后再看吧。
单核,2G内存,装个Debian,给我跑一下服务,就够了,后期加点什么自动签到打卡的脚本上去,它也不是不能用。
进入腾讯云界面,然后点购买,扫码登录你的微信(我也不知道为什么腾讯一定要所有的服务都用微信登录),然后会自动进入微信小程序,然后你就授权登录了。网页端进入服务器配置界面:
机型:选择您需要的云服务器机型配置。这里我们选择“入门设置(1核1GB)”,因为这个最便宜。
镜像:选择您需要的云服务器操作系统。这里我选择的是Debian,不过选别的也都行,每个系统选好之后都会给你预装好。
公网带宽:勾选后会为您分配公网IP,默认为“1Mbps”,不过轻主机这个已经固定死了,就是6Mbps。
买完服务器之后,腾讯会让你先重置密码,然后你进入腾讯的服务器-轻量服务器-控制台,就可以看到自己的主机了。其中是默认绑定了一个公网IP地址,相当于你花两百多买了三年的公网IP。
建议使用MobaXterm作为远程管理服务器的软件,这个软件支持记录你的登录设置,特别是还有图形化文件管理界面,很适合新手使用。
上面说的Zerotier虽然可以互相访问,但是由于流量还是走的zerotier的官方服务器,在高峰期或者说跨宽带运营商的情况下,网络质量实在是堪忧,最直接的体现就是ping值忽高忽低或者掉包,如果是用来长期使用,这网络质量还是有点不行。正好腾讯云有台5M带宽的服务器,zerotier又支持自建中转服务器,腾讯云的BGP网络用来中转流量再合适不过了。
我的腾讯云服务器安装的是最新的Debian,作为zerotier的中转服务器(moon),zerotier的安装方式如下:
cd/var/lib/zerotier-onezerotier-idtoolinitmoonidentity.public>>moon.json
不过其实更建议用MobaXterm的图形化文件管理修改这个文件,双击打开,然后直接保存更新,就不用学vim命令行了,vim的操作逻辑很烦。
要注意的一点是,在配置之前,还得先看看自己的网络网关开启端口没有,如果没有的话,建议先开启了再去配置。
并且,如果服务器本身开启了防火墙,需要将端口进行放行;同时,服务器安全组也需要放行端口,比如我的腾讯云轻量云服务器安全组设置截图:
客户端加入自定义的moon步骤也很简单,Linux及macOS直接在终端执行,Windows需要使用管理员权限在PowerShell或者cmd执行,命令如下:
zerotier-cliorbitxxxxxxxxxxxxxxxx
要注意的的是,这个命令行后面你的“xxxxxxxx”要打两次,这样才能正常执行加入。
按道理来说,在Windows和NAS设备上装了Zerotier之后,再去加入Moon服务,也就是说执行了zerotier-cliorbitxxxxxxxxxxxxxxxx这个命令行之后,它就会自动加入Moon服务器,你就有自己的中转服务器了。
再把下图红框中的几个对勾打上,重启服务"ZeroTierOne"和客户端。就会发现现在可以连接上moon了。
其实zerotier是支持p2p打洞流量传输的,并不是自建了moon所有流量就经过moon服务器中转的,如图这是我从我电信宽带的设备远程连接到移动宽带内网的设备,在移动宽带内网的设备的带宽统计截图:
稍微有点惊喜的是,我腾讯云公网服务器带宽是5M,经过zerotier打洞之后使用p2p协议,两台设备之间的带宽可以达到10M,不知道是不是能达到其中一方的带宽上传上线。
从去年开始,我逐渐形成一个习惯:出门在外的电脑绝不放任何重要的资料和跑任何重要的活儿,所有的文档编辑,跑程序等重要的活儿我都放在我的远程主机上,这个习惯帮我避免了很多问题,比如因为数据和程序都部署在远程主机上,所以无论我本地主机怎样更新,怎样断电,我的程序和数据都不会丢。
不过这个方案要求最高的还是宽带,好在我之前公司和家里的宽带都是千兆对等宽带,用zerotier搞了内网穿透之后上远程主机都是秒连,连接稳定性与质量也非常好,使用体验与本地操作电脑无异,所以我一点都没意识到宽带的重要性。
市面上的收费或者免费内网穿透服务其实很多,比如NKN、DDNSTO、frp、Zerotier、花生壳,但是细究下来又不算多,因为要同时满足稳定,价格适中,支持端丰富,并且还安全这几点是很难的。一般的服务都是DDNSTO连接数太少,frp操作很复杂。
我真正开始意识到宽带的重要性的时候,是我换了地方之后,新的公司和住的地方的宽带都是百兆级别,并且一个是移动,一个是电信,狗运营商相互之间阻隔掉了UDP,这给我的服务器互访计划带来了非常大的阻碍。就像是上图我展示的,我服务器和个人主机所有的配置都没变过,就是换了个地方,他们两个就经常连不上。
考虑到我现在越来越多的远程需求,也要经常用电脑做点重活儿,所以我开始正式思考打通网络的问题。首先想到的肯定是我很久以前用过的Teamviewer方案,那个方案纯靠图像传输,之前用还可以,但是疫情之后用就一堆问题,莫名其妙地让你注册手机号刺探你的隐私不说,连接质量还变得特别差,以及最重要的,它会在你用两天之后在后台悄咪咪地禁掉你的账号。使用体验这么恶心的Teamviewer,我尝试了一下就关了。
后来想到国产的远程桌面软件,比如AnyDesk,RustDesk等,这些也都是用的图传方案,对网络质量的要求也不是一般的高,使用体验也不是很高,所以我就也弃之不顾。
目前我手里的设备:SurfaceBook三代代顶配版,高性能自组装主机四台(都是K 64G内存常年开机的),威联通TS264C一台。
SurfaceBook三代顶配版是32G内存 2T固态i7-G7,当我常用主机用。高性能自组装主机A是64GDDR5 8TNvmeSSDi7-
K,当远程服务器跑训练任务。高性能自组装主机B是64G 4TnvmeSSDi7-KTi,当高性能备份主机用。威联通TS264C是32G内存,加了两块2TNvme的固态以及两块14T的机械当数据储存盘用。
这些设备都分散在两个地方(湖北和江苏),所以需要我把他们连在同一个局域网内部,以便于我在任意一个地点的时候都能无障碍访问所有的设备以及对其进行管理,并且不同的设备之间有大文件传输管理需求。
我在江苏这边的网络是500M上下行对等网络,如果纯用Zerotier的话,其实占不满我的上传带宽的,尤其是我做大文件传输的时候,明明我这边是500Mbps的上传,但是传输文件速率总是被压到20Mbps左右。所以为了用满我的上传带宽,我一般都会选择直接上收费服务。
网络数据传输分为发送数据和接收数据两部分。上传就是向外部发送数据,下载为从外部接收数据。他们都受网络带宽和设备性能制约。
在日常网络传输中大致1Mbps=/8Kb/s=128Kb/s(1/8)。例如上行的网络带宽为100Mbps,那么最大上传速度就是Kb/s,也就是12.5MB/s。
所以我的594Mbps的上传速率换算下来就是74.25MB/s,传输大文件情况下,还是满速上传比较好。
电脑端的网心云配置其实相当简单,直接去它官网下载,然后安装,然后登陆,然后扫码绑定,就ok了。
零刻的小主机配置好zerotier和rdp之后几乎就是成了低功耗24h小的随时待命的小服务器了,我挂点网心云,挂个迅雷,再挂个安卓模拟器推推游戏,待机功耗特别小,并且待机占地面积还特别小,我觉得一千多买个这个放在设备柜里面跑服务回血真的是太方便了。
最好的选择是NUC设备,因为在散热性能、软件兼容性、个人需求定制化、后期扩展和升级、软件管理的便捷性、低能耗和低噪音、还有价格方面来说,都能满足你SVN、数据库和virtualbox等应用的需求。
再说说brix,它与NUC相比,优点是硬件性能远超NUC,包括CPU、内存、硬盘等,一般适用于大量计算资源的场景,比如数据中心或高性能计算(HPC)。
当然brix也有缺点,比如价格也更高、散热性能差,没有一定的技术基础,很难顺利的安装、配置。另外基本都是固定的配置,很难满足你后期DIY式的扩展和升级需求。
最后,根据你现在的需求来看。我觉得直接配一台配置较高的台式电脑,纯主机不要显示器那些的,花个块钱,配置已经不得了,完全可以满足了呀。跑virtualbox和SVN,完全不在话下呀。为什么要去白白的多花4、5千块,买NUC设备呢,何必呢?