今天折腾了个有意思的玩意儿——拟态计算机。这名字听着唬人,拆开了看就明白是怎么回事了。咱也不扯那些虚头巴脑的理论,直接上我今天的实操流水账,保证你跟着来一遍也能整明白。
为啥要搞这玩意儿?
上周领导丢过来个视频项目,说预算紧得要命,还要保证不能出岔子。我一听头都大了,普通服务器万一关键时候抽风,项目就得黄。琢磨来琢磨去,想起以前看过“拟态”的思路,大概意思是弄个真假猴王同时干活,互相盯着点。坏主意冒不出来,好结果才出得来!这法子感觉特别适合我这抠搜预算还想求稳的情况。
东西得先备齐
大清早我就冲去仓库翻箱倒柜,找了这么一堆:
- 主板两块:同一牌子同一型号最免得打架(我翻出来俩老款B85主板);
- 一模一样的CPU两颗:型号、步进都得对得上(翻出俩被我淘汰的i5-4460老古董);
- 内存条四条:牌子规格得一致(找出来四根金士顿1600MHz 8G,正好凑两对);
- 电源一个:功率得撑住两块板子(翻出个吃灰的650W半模组);
- 切换器/表决器:这是核心!网上有卖现成的板子,或者用个靠谱的路由器刷固件也能凑合(我为了省事,直接淘了个二手的专用表决小盒子)。
开干,按步骤来!
1. 主板摆擂台
先找块空地儿,把两块主板肩并肩放稳当,螺丝位找东西垫起来别短路。我是直接拆了个旧机箱侧板当垫板,凑合能用。
2. CPU和内存插稳当
两块主板上各自插一颗CPU和两条内存,型号顺序插得一模一样!左边主板1号内存槽插A条,那右边主板1号槽也必须插A条,一点都不能差!我插完还趴那儿来回数了三遍。
3. 供电接一接
大电源拖出两条主供电线(那个24pin的大插头),分别怼到两块主板上。CPU辅助供电(8pin的)也是一样两条线分别怼。确保电源能扛住这两张嘴。
4. 核心部件接驳
这步最关键:把每块主板的网络口,都怼到表决器/切换器的那个输入口上。然后,再把表决器的输出口,怼到你实际要干活的那台电脑或者服务器网口上(我这边就接项目的存储服务器)。这个小盒子就是负责“听”两边系统意见的裁判。
点亮!烧系统!
接上电源线,屏住呼吸开机!两块主板都要跑起来。我是分别搞了两套键盘鼠标显示器,先独立操作。
1. 装系统:必须一个模子
左边这块主板,我给装了个Ubuntu 22.04,分区、软件包、设置,一步一点全记在小本本上。装完右边这块,完完全全按左边操作抄一遍,连分区大小和用户名密码都完全一样!装好后重启两台机器。
2. 表决器调教
打开表决器管理页面(一般是连它的IP进网页设置)。设置模式,我选的是最简单的“同时运行+结果比对”。意思就是两边系统都在干活,但只有两边输出的结果一致,才会把结果真正送出去。如果两边结果不一样,就说明至少一个“猴王”出问题了,裁判直接喊停(弃权或者报错)。设置好保存。
试车!让它跑起来!
激动人心的时刻来了!在服务器上给这个拟态计算机发个小任务:同时往两台机器发一份压缩包,压缩完写个校验码。
第一次:故意在左边机器上运行压缩命令时拔了一条内存。好家伙,左边立马出错了,右边正常输出。结果表决器果断亮了红灯,拒绝使用错误结果,服务器这边只收到报错提示,没收到那个错误的压缩包!任务失败,但项目数据安全!
第二次:两台都正常干活。压缩命令两边都顺利跑完,校验码出来一比对,一样!表决器爽快开绿灯,数据成功送到服务器。成功!
搞定了!说点心里话
这一套下来,大半天没了,浑身汗。但弄完是真香!领导那点可怜预算,真买不起高大上的容错设备。咱这土法子,两块老主板加个小盒子,愣是拼出个“金钟罩”。好处很明显:坏了一个没事,照常干活;结果出问题能拦得住,不会让垃圾数据混进去。简单几块淘汰板子拼在一起,对付个小项目足够了。领导还当是啥高科技,乐呵着!这玩意儿要说多复杂?真没有!就是靠细心,照着步骤一步步搭,小学生都能干。