我电子阳痿了,但这是好事啊,折腾不动了,不是不行了,算是逃到别的流派,继续中年人的发昏发热,这些年学费也不算是白扔,脱坑了,不是破产清算,算是金盆洗手,脱坑前挤了个退休方案,估摸能用个八九年不算过时,趁着今儿得闲,说道说道。主要聊聊心路历程,次要谈谈具体怎么搞的。
说是方案,实际上一套基建,对我来说,这已经是完全体了,是基础设施,是水电煤,是内化到生活了的,也就不会劳神关注了。
之前是写过一个博客聊我是怎么干活的,其实当时也算是已经烧退一半多了,无非是花点零花钱攒几个机器,再往前倒几年,容易上头的那会,特别迷恋老大黑粗的服务器,折腾洋垃圾,扣硬件,看软文,比参数,反复组装,被一堆英文字母和跑分牵着鼻子走。之后玩的多了,淡下来了,机器不再是机器,他在我眼里就成了锤子,是敲钉子的,我盯着钉子看。
现在想明白了,我这是邪症了,好玩的那么多,那得多自闭的孩子啊,天天憋屋里鼓捣电脑玩,也不打游戏,还省不下钱。折腾这玩意两天,抠抠搜搜的,用得上的算是省下个仨瓜俩枣,用不上的是真的怨种,还不如被崩老头呢,一次几十块钱倒有人逗我乐呵。
鼓捣这些无所谓的玩意,啥都得不着啊,是,企业级的东西是牛逼,防震、冗余、ECC,多几倍的接口,但这就是看着参数牛逼,以为自己框框多了,就有安全感了,以为自己内存上T了,就是行业大牛了,实际上他就不是民用的,吵得要死,沉得要死,该老还是老,该坏还是坏,这种东西,电子产品,就是一个消耗品,买回来就是读秒贬值的。
干项目也好多年了,得先搞清楚需求啊,省心省钱,把事情办好了,这不就是唯一目的吗。,他得顺手啊。
现在机器可牛逼了,但是都是纸面富贵,实际上根本用不到,
先说这个CPU,单核频率高了没用,服务器的U都不怎么上3,这是卖给企业的啊,能耗比是一回事,主要是频率高了没用啊,CPU跑的时候是有内存墙的,他自己跑的再快,数据跟不上也没用啊,就像是我是大厨,白帽子十米高,做菜,爆炒,十秒钟出一锅,结果菜还搁菜市场呢,我还得等着备菜小哥颠颠的小跑着给我送过来,手再快也只能干瞪眼;
还有那些成排的 PCIe 插槽,硬盘接口,全是为了可扩展性画的饼。拉倒吧,现在懒了,机箱盖子只要拧上螺丝,就绝对不会再掀开了。况且配件现在这个价格,插几条内存就比整机还贵了,是真受不起了。我能退烧也是多亏了涨价。
说白了,我压根就不需要服务器。我自己搞的那些代码,十年前的老机器跑起来都绰绰有余。还记得上学那会儿,,一台 1C/1G 的小鸡子,我能跑好几个后台外加俩数据库。我自己搞的东西,资源吃的没那么紧,每次top,us连0.1都不到,。也是顶难受的,一个机顶盒就能把东西都塞进去了。我倒是希望他多用点资源,闹得现在一点成就感都没有。
但是电脑有时候也卡,是软件、网页卡,这纯粹是,写软件这帮人,不搞优化,塞得东西太多了,全走v8那套,这玩意是吃单核的 ,堆几百个核,该卡还是卡。
所以,这套路不就定下来了吗
自己桌子上的电脑,看架构,搞个最新的,别整丐的,电脑这玩意,又不是买房,再贵也上不了天,看上啥,直接满血满配。一是贵的东西通常好看,二是敢有溢价一般是有真东西的。真用得到、真喜欢,满上就对了。鼓捣来鼓捣去,最后不是预算越级,就是没必要、假喜欢。
干活分公司的活还是自己的活,自己的活,机器随便搞搞就行了,是真不吃资源,就求一个瓷实、不抽风。这玩意是放家里的啊,人不能伺候机器,机器是要伺候人的。
跑公司活,你要是说,几十个几百个192C/2T的节点,超算都不够用的,数据出的慢的情况,也是有,急得跳脚,也没用,这是项目上的,跟我没关系,我也乐意他算不出来,我能多歇歇。
但是说是一回事,真做起来想起来就是另外一回事了,确实家里随便一台机器就能干活,我也就是跑跑脚本,做个回测,出几个表看看,但是这个参数,看着憋屈,核心就那么少,内存也让人没有安全感,为啥会有这种想法呢,估摸着是当时工作上被压榨狠了,被廉价机器气PTSD了,所以想在自己地盘上高点高级货,以为能扳回一城,但是得把工作和生活分开啊,
这就是一种硬件焦虑,其实就是钱扎得,参数不好看还是会犯心病。
所以之后搞起了虚拟化,跑集群,用的就是PVE,不管是啥硬件,全都扔进池子,眼不见心则静,集群里边,1+1就是等于2的,多找几个小机器,便宜,还不占地方,也能把参数堆起来,看着舒心。
就像是养备胎,养一个心惊胆战,养一群就是稳坐钓鱼台了,
集群还有一个好处,就是不用把机器像是祖宗一样供着,坏一个硬盘愁半天。算力池化、存储也池化,这玩意就是干活的牛马,坏一个坏俩是没啥影响的。我快照是单独存的,S3上都有备份,哪个停了,VM在别的机器上再拉起来就行了,两三分钟的事。
硬件这东西,组装机还是服务器,其实很少听说有谁用坏的,报不报费就是一个概率问题,1%和0.1%的区别。差别真不大,但是搞单点也好,集群也好,肯定是赌概率的。想安心,还得是解耦,向我一样,把东西从硬件里面拆出来,只要数据在,不管怎样都是能复原的。
这样这个系统是不依托物理机的,他就是一段数据,我是有一套专门的数据管理方案的,系统稳不稳其实是和硬件没啥关系,是靠数据体系兜底的。
我这套备份,是测试过的,虽然现在都还没有坏过,但是我演练过了,不管是主路由挂了还是内网瘫了,我不是就存一份备份,是能打包票多长时间恢复的,,这玩意和单元测试一样,不能直接就上线啊,这个备份策略得测试一下啊,没测试过的不叫备份,叫薛定谔啊
现在我选机器也有点心得,
之前我是捡企业不要的硬件,以为得了便宜,当年顶级的设计,十分之一的价格,直接到手,但是我凭啥不能用新的。
老硬件该淘汰就淘汰,企业五年淘汰一波不是没有道理的。人家肯定是打好算盘的,跟着聪明的走,自己省点时间多好。
而且老机器只能干苦力,全天开着,吃电多,出活少,暴殄天物,买这个玩意纯粹是冤枉钱,找女人都知道找年轻漂亮的,不找老的,在这也不能犯迷糊眼了。
老笔记本,也应该卖了,之前听别人说,笔记本好,有电池,不用UPS,我就把老笔记本都扔机柜了,但是我的机柜是没空调恒温的啊,随随便就上40多度了,别的机器倒好,但是没人说电池这玩意是容易炸的啊,一年清一次灰,隔两次电池就胖成球了,上面的显示器和键盘也是浪费,还是直接出二手,回的血是能买个最新的小机器的,算是免费升级。
硬件这玩意,买新不买旧嘛。旧的指不定哪天暴毙,我现在的服务器,都是那种低功耗的小主机,省心多了,电费低,还安静,毕竟本身就没啥功率,我才懒得维护他,唯一的缺点就是上不了大内存,但是也没啥,毕竟都池化了,单点其实无所谓的。这玩意,裸机3000 4000算是顶配了,内存存储加满了,就用它民用的,够了,用个五六年一卖,和老笔记本的钱加一起,再添点,又够升级的了。
这种小集群,有一种活干不了,他资源是没法跨节点的,只能是跑的VM小鸡子能换主子。所以有的时候我也在想,不搞这种小集群,就买一台机器,把Windows也丢进PVE,直通一个显卡,和物理机是没差的,这样预算就能兜得住了,CPU直接上AMD的9005,大几十个核心,内存也给他插满,但是再想一下,这样属实是没必要,没集群稳,还有单点问题,也没有这个需求,all in one 和我的哲学也不符,这纯属自嗨了,被工具奴役,被参数绑架了。不如搞生活,做些内化的爱好有意义。
硬件不会折腾了,很多人就开始鼓捣软件了,拿一堆架构图给自己开光。
之前我也搞过云,IaC 那套也算是熟的,但一直感觉账单不对劲。AWS的账单,夜里自己会繁殖,分裂,昨天还是小鱼苗,早上一睁眼,就能怼脸呲牙了。后来也就不了了之,没给公司上过这套,更没必要用在我身上。我是自己用的,就几台小破铁盒子,硬上这玩意就是没必要的叠甲。IaC 是给流水线的牛马用的,不是给我这种在家里捏几个 VM 的闲汉用的。
刚从硬件参数的坑里爬出来,别又掉进软件架构的形式主义。杀鸡用牛刀,鸡未必死得体面,牛刀倒是先把桌子劈了。
所以我这里不搞花里胡哨的东西。PVE 搭几个 模板,顶多配个 cloud-init,需要的时候右键克隆一下,十几秒就能拉起来。最多添了新机器,也就是半个小时装好 PVE,进集群,挂存储,完事。手工创建,工匠精神。不能再浪费时间,为了搞而搞。
软件也不搞虚头八脑的,把现有用的东西都拆开,一个是好迁移,防止一下子 all in boom 了;二是我爱用docker ,这样不用 docker ps 一下两个屏幕都装不下。数据备份就接一个 PDS,能直接对上我的数据管理。最重要的还是,我不鼓捣这个,我的 PVE 就没啥存在价值了,就白拆了。
CPU,不用太关心他这个 Host,左右全是 x86,这个不会有大问题,指令集基本都是向后兼容的,但是为什么说基本呢,微软是真的傻逼。你非得说自己编译了好多程序,那还是得走 Host,要不然啥指令集都用不上,卡得要死。万一以后指令集真不兼容,也没啥事,重新编译一下就得了,我用的基本都是 Docker 了。钥匙换了机器,先把环境飘过去,现在这个开发环境,用了六年了,比我单位呆的久,丝滑顺手。这个东西也算是赛博永生了,
再说一下网络,肯定是得搞大内网,frp那套不安全,这个我之前是自建,后来玩明白了,有现成的就白嫖,比我自己搞得稳多了。
我现在,就是tailscale,配好网段,开 他自带的 route,外面进来和家里访问一样,IP都不带变的,舒服得很。再给cloud flare配上域名解析,直接打到内网,家里再nginx转发一下,不用记一堆 IP,起的什么服务,输个前缀就出来了,老年友好型。
不过得留神,家里内网就没必要都开tailscale 了。这玩意有时候脑子不太好,污染路由,偶尔抽风,不走洞,硬是绕出去再绕回来,能卡便秘。这玩意有时候犯浑兜圈子算是轻的,乱改路由表是更恶心的。
现在我用的这套方案基本定型了,主要是需求都解决了,还省心,所以见好就收。
但是折腾不是坏事,只要你能把经验提出来,长进脑子,没有学费是白交的。这些年扔进去的钱、交过的学费、熬过的夜,买回来的不是那几坨废铁,是这套系统直觉。
也是感慨一下,珍惜现在能组装机器的时代吧,之后封装的越来越严了。只能是商家卖啥买啥了,时代是会变的,今年,内存不能插拔,明年没准显卡也进去了,买硅片的那帮人急了,火烧眉毛了,被绑在火车头上了,他们得提升这个硬件的性能啊,不行就没人买了,就破产了,但是材料就到这了,提不了,只能去改架构,甚至是改基建,再过个十年,没准都没人用电脑了,反正我看现在的小孩,别说是单片机,服务器,普通的电脑都是两眼抓虾,PC这玩意算是断代了。但是不管以后时代怎么变,硬件厂商怎么把东西焊死,终端机怎么换形式,这套底层架构的东西,解耦、池化、数据保命,已经长在我脑子里了,就是练武功,牛逼的不是你记住了一万个花招,是你把招全忘了,只留下了个心法。
时代会变,这一点都不浪漫。
