秀一下家里的服务器

没有强劲点的机器一直是让我头疼的问题,倒不是说我需要一台性能爆炸吃鸡不卡的神机,而是我需要多一点机器来搭建集群式服务,研究集群行为。在公司确实可以用机房的机器来做这些事,但那毕竟是公司财产,做跟工作有关的事情还说得过去,私自用来做自己的事那是万万不可的。

有时候也是只能通过 Docker 来模拟集群,但治标不治本,机器性能的限制仍在那里,况且假如我就是要模拟跨实例的 Docker 集群呢?用 Docker 虚拟多个实例,然后 Docker in Docker 嘛?……

没办法,只能在自己电脑上起虚拟机了,还不能起太多,内存容易吃紧,所以我一直想弄一台机器,别的不干,就负责起虚拟机,起得多多的,这样就算它性能吃紧了,也不影响我自己的电脑,影响我的工作。

这事儿一直只是个想法,毕竟只要掰着手指头精打细算,自己电脑起的虚拟机总是勉强够用的。

直到后来因为工作上的一些原因想自己研究一下 Spark,由于设计上 Spark 靠尽量使用内存来提升运算速度,想搭一个拥有一定处理能力的 Spark 集群,所需要的内存远远超出了我电脑的上限。于是,搞台撑得住的机器迫在眉睫了。

因为我只是要起多个虚拟机来搭服务,对显卡、固态硬盘就没有要求了,但市面上难以找到 CPU 核心多一点、内存大一点,但没有显卡、固态硬盘的台式机。这时候我想到了两条路,一是自己按需求买零件组装一台,或是买一台弱鸡一点的服务器专用机。

两个办法都是希望花尽可能少的钱,尽可能大得满足需求,把钱花在刀刃上。而之所以是“弱鸡一点的服务器专用机”,是因为这类专用机不是民用的,价钱里额外附加了面向商业使用的溢价,说白了就是“贵一点,但有保障”。但我不指望有保障,我就想便宜一点,那我只能买弱一点的。但有些东西不是你想便宜,想便宜就能便宜,这是中关村关于服务器的报价:

image

你猜我的预算是多少?两千,不能再多了,我们穷人都是这样不讲道理的。

可是,另一条路我也不敢走,自己买零件组装我实在吃不准。自己没有怎么捣鼓过硬件,给自己笔记本加装个固态、升个内存还能点亮机器就算谢天谢地了,从零组装一台机器确实没干过。就怕两千元神机没装起来,还交了笔肉疼的学费。

原本以为计划就这么砸了,然而,万万没想到,我最后还是成功地拥有一台自己的服务器。

逛淘宝看服务器价格时,偶然发现有很多卖二手服务器的店铺,按照商家的说法,机房更新换代退役下来的机器事实上都远没有达到设计寿命的,但为了利益最大化,必须要把性能过时的旧机器换下来,腾出宝贵的机架位给性能更强的新机器。而这些旧机器因为是专用机,一般用户是不可能买这种机器当家用电脑的,只会有一些不靠谱的初创公司拿这种不再稳定可靠的机器当线上服务器用,但这样的公司毕竟不多,且云技术提供了更好更廉价的方案。一来二去,这些失去了商业溢价的二手的旧机器,价格往往非常低。有多低呢?低到我的两千元神机不是梦!

一般用户不会买来当家用电脑?我买哇!

不再稳定可靠?我不怕哇!

失去商业溢价,没有保修?我不在乎哇!

我只要便宜呀!

就这样,花了 1770 加 30 块运费,淘回来一台戴尔 R710 刀片机,至于型号准不准确,机器有没有改过配置,换过配件,我就不得而知了,二手的东西嘛。但不到两千块钱就能买到这样的配置,到手时开箱看了下也确实一尘不染(退役前机器运行在无尘机房),无论怎样我都相当满意了:

  • 电脑型号 戴尔 PowerEdge R710 Rack Mount Chassis
  • 操作系统 Windows 2008 R2 Server Enterprise 64位 SP1 ( DirectX 11 )
  • 处理器 英特尔 Xeon(至强) E5620 @ 2.40GHz 四核 (X2)
  • 主板 戴尔 0XDX06 ( 英特尔 5520/5500/X58 - ICH9 )
  • 内存 32 GB ( 镁光 DDR3 1333MHz )
  • 主硬盘 PH BM0100CFDW E ( 1 TB )
  • 显卡 迈创 G200eW ( 戴尔 )
  • 网卡 博通 BCM5709 NetXtreme II Gigabit Ethernet / 戴尔

这是起了 7 台虚拟机时的系统状态:

image

使用上也是相当方便的。卖家出货时给重装了操作系统,到手时也算是插电即用,但因为没有配置网络,我没办法通过远程登录进入机器,不得不从公司借了一个 VGA 的显示器(当时家里的电视显示器只支持 HDMI),插上键盘鼠标把机器起了起来,配好远程主机和网络后,就可以用笔记本甚至手机登录服务器了。

所以机器平时用的时候只需要插上电源线和网线就可以了,我可以抱着我的笔记本在家里任何地方连上它,或者连上里面跑的虚拟机,但前提条件是笔记本连着同一台路由器,处于相同的局域网里。本来我想给路由器做个外网端口映射(路由器的配置页一般管这个叫“虚拟服务器”),这样我就能在任何地方、任何网络下连上家里的服务器了,但是家里的宽带用的是东方有线,线路是共用的有线电视线路的同轴电缆,故而只能用东方有线发的特制的能转换同轴电缆信号的路由器,但这路由器并不支持外网端口映射,更何况东方有线并不一定会分配临时独立 IP,想从外网连进来只能用 TeamViewer 这类工具了,然而,TeamViewer 又会检测到机器是商用机,不给免费使用……

罢了罢了,我不要求从外网连了便是。况且因为担心电费超标,平时我都是用则开机,不用则关机,基本上不会说人不在家还开着机器的。

不仅时耗电,另一个让我不会在睡觉时还开着机器的原因就是噪音,但是平心而论,对于这样一个巨无霸而言,它工作时那点声音也算是“悄无声息”了。顺便提一句,这台机器的外观属性是 86.4×443.1×680.7mm,26.1kg,一张小桌子那么大,50 多斤重。买的时候,卖家说机器的运行噪音不超过 40 分贝,可以说是无感,买回来后我也用 APP 测了一波,手机紧挨着机器,机器从开机到平稳运行,期间的噪音分贝如下:

image

可见商家没有说谎,虽然开机时会有一波飞机上天般的噪音冲击,但平稳下来后也确实只有 40 分贝。40 分贝什么概念呢,我主观上感觉就像一个常见的饮水机正在烧水一样。声音也比较沉,白天确实不大容易引起人注意,但是,晚上就不一样了,夜深人静的时候饮水机不停地烧水,不关掉的话人哪睡得着。

原先服务器就放在路由器旁边,网线一插就 OK 了。但是最近换了一下房子,路由器那儿放不下服务器,不得不把服务器放在了客厅的柜子上,麻烦来了,网线不够长,要么把路由器迁过来但是线路不好改,要么买根长点的网线但是又不方便走线。

头疼之际,收拾出了一个可能是前租客遗弃的路由器,成色还挺新,且是那种通用的。检查了一下,没有坏,而且支持 WDS,当时就把我乐坏了,这样一来我可以利用 WDS 将两个路由器通过无线信号桥接起来,服务器只要用短短的网线连上子路由器,就能连通到可以访问外网的主路由器上,且全程无感,主路由器和服务器的配置都不用改。

其实我一开始也想到了这种办法,只是抠门觉得十几块网线能解决的问题犯不着用几十块的路由器来解决。但,从天而降个路由器我就不客气了。

一番折腾后,就又可以用啦,请不要在意那个飞上天与太阳肩并肩的路由器:

image

我这两千元神机的故事就到这里了,目前为止它已经稳定工作了半年(当然不是 24 小时运行),表现一直挺好,没出什么岔子。我提供不了无尘环境,也不能盖防尘布啥的影响它散热,而它那结实的金属外壳即抗住了我平时在上面堆杂物,也抗住了搬家过程中奔波,算是勤勤恳恳,兢兢业业。最近在评测一款分布式数据库,又要靠它了。

最后秀一波,属于我自己的小集群:

image

image