我的微主机踩坑日记

2022年09月09日 建站 暂无评论 阅读338 次

因为电脑上经常需要运行一些服务端程序,渐渐感觉电脑有点不堪重负。

一来有些服务需要24小时运行,电脑风扇声音太大晚上需要关机。

二来运行服务太多很容易内存泄露导致电脑运行越来越慢,可能两周就得重启一次电脑,重启后所有服务也需要重新启动,费时费力。

本来是考虑将部分服务转移到手机上,为此也花了很多时间解决手机长时间稳定运行的问题。

但是最终手机不支持docker,而且空间偏小。

终于还是决定使用微主机,一不做二不休,一次在闲鱼上淘了三台。

于是开启了漫长的踩坑之旅,希望能以此文,让后来人少走些弯路,欢迎一起交流经验。

image

image

上面两台小主机买了两台,原价是400一台不带硬盘和内存。我加了2条8g内存一共16g和128g固态硬盘。是670一台

CPU是1.5Ghz四核,有千兆wifi和蓝牙。最大优点是没有风扇没有声音温度也很低,小巧玲珑并排放两个在电脑边上一点不占地方。

缺点是硬盘偏小,后期可以换1T固态

还是非常满意的

image

上面这台540元,AMD的CPU,2Ghz四核,带8G内存和4T机械硬盘,还多一个固态硬盘位,目前装了32G的硬盘

这台主机的坑点就比较多了

只有一条内存插槽,想再加内存很难。

没有内置wifi,需要外接USB的网卡

最坑的是散热问题,CPU有风扇已经很响了不说,开机使用后发现硬盘温度一直在上升直到过热,停不下来。

带的4T硬盘已经使用了几万个小时,感觉随时有挂掉的风险。

后面用A1,A2表示小硬盘机器,B表示4T硬盘机器

一开始想的很简单,4T硬盘做nas,两台小硬盘机器一台做win一台做linux。

目前实现的功能是

B上跑了宝塔,gitlab,freshrss服务

A1上运行win,微信,ddns,跑其他一些python程序,比如selenium脚本

A2作为测试机

首先是系统安装和激活,这就花了不少时间。

U盘启动工具,之前一直使用老毛桃广告太多,这次换成微PE,亲测非常方便而且无广告

然后系统激活,比较以后下面网站非常方便,感觉很多淘宝卖的激活系统也是下面来的。

https://v0v.bid/

有个坑,就是ISO系统镜像必须使用支持KMS批量激活版本的,我一开始从其他网站下的ISO镜像就装错了要多一些步骤。还好上面网站提供了正确的ISO镜像

系统备份还原也费了一番脑筋,因为一切都是摸着石头过河,系统可能随时要推倒重来。

目前的方案主要是win10自带的备份还原,加傲梅备份,加虚拟机。

我三台设备都使用win系统里装虚拟机的方式,虽然牺牲了一点性能,可能还有一点坑。主要是远程非常方便,快照功能也方便出错重来

傲梅备份支持备份这台电脑的系统,再另一台不同硬件电脑上还原。

这部分有空可以单独写一篇文章

这里遇到的坑主要是虚拟机硬盘不能给的太小,后期如果空间不够了想扩大硬盘,必须先把快照全部删除,不然硬盘不能扩容。乌班图桌面版,安装好宝塔以后空间占用大概就有16G。

B主机开始安装乌班图系统和gitlab了。

首先还是散热问题,手上没有风扇,使用了一个手持散热风扇一直吹,吹了24小时小风扇马达烧了。

后淘宝买USB风扇,担心一般风扇风不够大。买了三种,一种普通USB电脑风扇,一个10块钱的手持小风扇,一个看起来高端一点的大口径高速电脑风扇,疫情原因快递还没到。

目前暂时使用笔记本散热器,但是放在机器下面吹居然没效果,必须倒过来把风扇放在机器上面对着硬盘吹。。。堪堪将硬盘温度能维持在50度左右。这种情况只能将主机放阳台上了,似乎完全违背了买一个安静稳定的小主机的初衷。。。

伺候乌班图系统,包括配置禁止休眠,开启ssh账号登陆。

然后就又遇到一个大坑,内存不足。8G内存还有1G内存用来做共享显存,实际只有6.9G。

gitlab要求至少4G内存,win分配2.5G导致内存占用一直90%以上。内存不足gitlab就打不开,经常死机或者卡着很久不动。最后解法是关闭乌班图桌面服务,内存占用和CPU占用瞬间下降,ssh登陆加宝塔配置就变得丝滑了,总算是解决了大问题

安装宝塔遇到的坑是lnmp安装经常失败,需要尝试多次,或者分开单独安装。

安装gitlab遇到坑就更多了,可以说非常痛苦。使用宝塔安装gitlab一直安装不上,网上经验贴都没有用,经过看日志加多次尝试需要先安装curl就安装成功了。

原本我打算将gitlab安装在A2主机上,让B主机专注做nas。但是经过几天的痛苦尝试,gitlab不支持使用任何samba或者nfs文件分享的方式,将源码仓库保存在远程主机B上。根本原因是,gitlab对仓库存储目录的权限要求非常奇葩,外层目录要求0700,子目录要求2770,不然就用不了。但是远程文件分享方式不支持挂载后再修改目录权限。gitlab官网文档里也说不建议使用nfs保存仓库,因为会极大影响性能,新版本也会取消支持。用了2天时间爬坑最后只能无奈接受这个事实,不愿意折腾的不介意继续尝试。。。除非真有大神能解决这个权限问题哈哈

顺便说下希望通过VMware共享宿主和虚拟机空间的方式将gitlab仓库保存在共享空间也不行,同样是因为不支持修改权限。

不过经过测试,mysql的数据库支持保存在samba远程系统。

vmware如果需要给乌班图系统扩展磁盘大小,扩展好以后重启电脑,使用下面命令安装图形化软件操作比较方便

sudo apt install gparted

本来还打算将我的博客从海外主机商迁移到小主机里,因为之前买的主机商服务器经常挂掉,感觉随时有跑路风险。不是数据中心整体搬迁,就是系统维护,导致前一段时间博客一直打不开,因为工作忙也没时间处理。今天登陆上去,重置了一下网络配置居然可以打开了,只是被换了IP,那暂时就不折腾了。后期有时间考虑使用香港主机,加nginx反向代理加nps内网穿透方式,将博客服务放在小主机上。也许能同时保证数据安全,方便维护,低成本使用高速带宽。。哈哈

最后的坑来到迁移freshrss。程序迁移过去之后,修改config文件中的数据库地址,但是登陆不了,打开还会报php的错误。网上清一色是安装freshrss的文章,对网站迁移的文章几乎没有。有空可以单独写一篇。

修复php报错openlog() has been disabled主要是修改php.ini的配置,宝塔面板可以很方便设置。

修复好以后意外发现就能打开了。

之后是配置python的django服务,配合微信公众号爬虫给freshrss提供订阅源。又遇到一个卡了一天的大坑。

原来django的数据库是win下安装,ORM生成的表自动是小写字母。但是在linux下就找不到表了。因为linux默认是区分表的大小写的。 一开始以为是django的问题,各种删除重建都没有用,后来意识到可能是mysql的问题,修改mysql配置如下

lower_case_table_names = 1

就可以让linux的数据库也同时识别大小写数据表了。。。

还有一些琐碎的小问题,比如

gitlab修改ip地址,使用sourcetree的ppk秘钥始终不行,后来只能配置为openssh方式。这个有空单独写一篇文章。

pycharm不支持打开samba服务器上的文件,只能在小主机上单独装一次。pip升级和导出依赖包也是各种意外。

内网的路由器配置,也折腾了好久,桥接模式就没法访问管理路由器,拨号模式出租房又不支持,最后确定DHCP模式。

但是内网机器经常间歇性ping不通。一度怀疑是路由器有问题,后来发现是有些版本的win的防火墙禁ping。还有360的防蹭网功能关闭了网上邻居发现。

顺便再介绍下手机做服务器方案。之前手机跑termux最大问题就是长时间插电,没过多久电池就会过热鼓包导致手机报废。我已经为此报废了2台手机了。

经过多番尝试,发现控客智能插座支持shell脚本来控制插座电源的开关,也就是手机监听电量变化,在需要充电的时候发送ssh命令控制开关开启充电,充好再关闭。

市面上大部分智能插座只支持自带APP控制或者通过智能音响控制,不支持程序主动控制实在是种遗憾

可惜控客的控制脚本也有局限,没有源码,只有二进制程序,只支持乌班图系统或者树莓派系统上跑。

目前这个架构跑了乌班图系统是支持这个服务的,而且实现了手机可以随时被外网远程控制且稳定24小时运行,比如跑手机脚本,或者远程收发多张手机卡的短信还是有用的。

但是手机不能自给自足还要依赖其他服务器依然不够优雅,若有其他更好的解决方案欢迎告诉我。

另外手机做服务器还有个缺点是硬盘有限,当然可以通过nfs等方式扩展。但是也尝试了使用外接硬盘的方式,一边充电一边接硬盘。经过测试只要线缆合适该方案是可行的,包括移动硬盘可能要使用外接电源的三头线。

遗憾的是手机目前都是USB2.0的接口,这。。时代不知何时能进步呀

还有个问题是termux目前似乎对读取外接硬盘的权限没有很好的支持,可能需要重新改源码编译?目前支持外接硬盘权限的APP非常少,sync同步APP也不支持。。solidExplorer相对支持比较好。

过程是艰苦的,但是解决以上问题之后,还是可以为生活带来一些愉悦的,包括跑selenium脚本的时候就不需要再开启笨重的虚拟机了,gitlab可以方便得整理源码并在各个主机之间同步。

以后考虑给A1小主机加装1T大容量固态,将乌班图和gitlab等服务器迁移到大内存下,B安心跑win服务可能是更合适的组合。另外支持USB3.0接口的路由器可能是最适合的NAS方案,没有散热问题也没有额外的耗电。。

后期更多玩法,比如黑群晖、黑苹果,等有钱有闲了再一一体验后分享吧。

标签:

给我留言

XML地图  Copyright © 极客部落 保留所有权利.   Theme  Ality

用户登录 ⁄ 注册

分享到:

切换注册

登录

忘记密码 ?

切换登录

注册