前言
基于我集体的工作内容和趣味,想要在家里搞一套服务器集群,用于容器 /K8s 等计划的测试验证。
思考过应用二手服务器,比方 Dell R730, 还搞了一套配置清单,如下:
- Dell R730
- 3.5 尺寸规格硬盘
- CPU: 2686v4*2
- 内存:16g*8
- 存储:480Gintel ssd 系统盘 + 6tsas 希捷 * 2 个数据盘
- RAID 卡:h730 卡
- 电源:单电 750w
- 盘架满
- 价格大概是 3130 元
再来套服务器机柜。..
然而思考到功率和乐音太大了,家里也没有适宜放服务器的这么大的地,最终放弃了。😂
也思考过用单片的 arm 开发板,然而须要搞好几片,而后编译系统、刷机、装适合的壳子、找电源线和网线,再接入家庭网络。.. 一台一台折腾,太耗时间了。
即便最初搞好了,可能家里也没那么多的网口,还得买个交换机接入。..
最初,功夫不负有心人,在闲鱼上找到了联合二者状态,看起来像服务器的 ARM 开发板矩阵 - Firefly Cluster Server. 很适宜我的需要👍️, 一起看看吧
Firefly Cluster Server – ARM 开发板矩阵
服务器全貌
咱们先来看一下它的全貌:
就是一个小尺寸的服务器的样子,然而千万不要被它的形状蛊惑了。它和 x86 的服务器外部齐全不一样。
这个是基于 Firefly Cluster Server R1 – core-3399-jd4 * 11 那款的定制款,接口会少一些。然而外部结构是完全相同的。
这个是它的反面,2 个小风扇 + 电源接口。
关上顶盖,让咱们一探其外部结构:
也就是说,其散热是:每片 CPU 上笼罩的散热片被动散热 + 整个机箱的被动风扇散热。
除了电源,就是一块主板(底板), 这个主板挺有意思的,它是由这些局部形成的:
-
11 个金手指接口,用于插入 Firefly core-3399-jd4 的外围板,一个接口插一个。也就是说总共有 11 个外围板。对应的也就有 11 台 arm 服务器,每台服务器配置前面介绍。
- 其中,1 个是 main core, 用作治理端,相似服务器的 BMC 去治理其余 10 台服务器
- 另外 10 个是 worker node. 用于理论负载运行。
- 交换机芯片,用于这 11 个外围板的外部以太网通信。
-
4 个以太网接口,其中:
- 1 个用于 main core
- 另外 3 个和底板的交换机芯片买通
具体的网络拓扑图如下,通过这幅图就能很直观的理解这台服务器的外部结构了:
服务器外围 – Firefly core-3399-jd4
这是服务器的外围:Firefly core-3399-jd4 的上手图,单手可握,还是很小的:
每片 Firefly core-3399-jd4 外围板就是一台 arm 服务器,其配置为:
- CPU: 瑞芯微 rk3399 六外围 arm64 CPU(这个芯片是 28nm 制程的,发热还不小)
- 内存:LPDDR4, 2G/4G 可选
- NPU: 选装,我购买的没有该芯片
- 存储:eMMC, 8G – 128G 可选,我的是 32G.
也就是说,这一台服务器,启动后会有:11 台 6 核,2/4G 内存,32G 存储的配置可用。
以 4G/32G 的配置为例,总共有:
- 66 核 CPU
- 44G 内存
- 352G 存储
可用。
刷机
这种服务器,原本的利用场景次要是用作:云手机矩阵。所以其默认带的是安卓零碎。
依据我的需要全副刷机为 Ubuntu 零碎。
具体刷机过程就不具体介绍了,感兴趣的能够参考这里:
子板固件降级 – 产品介绍 — Firefly Wiki (t-firefly.com)
Maincore – BMC 治理端
这个服务器的 BMC 治理端也很有意思,性能大抵为:
- 设施列表
- 设施监控仪表板
- Shell 终端窗口
- 子版固件降级
如下图:
这个界面是不是看上去有点相熟?😄😄😄
其实它这个治理端是基于:Grafana 魔改的。
- UI 界面就是:Grafana + 一些定制化的 panel
- 监控数据是基于:Prometheus + node exporter
- Shell 终端窗口是基于 adb 实现的 (📝这个服务器的 11 个外围板,除了通过以太网交换机互联;其余 10 个子版也会作为 USB 设施连贯到 maincore)
- 子版固件降级是基于瑞芯微的 Linux 刷机工具实现的
实战
这台服务器首次启动成果如下:
再被我折腾了很屡次之后,最终设施坏了 4 个😂😂😂, 只剩下 7 个可用了。
心在滴血。..💀💀💀
功率耗费
其功率稳固在 30 – 40 W(7 片,每片功率 5 W 左右), 如下图:
功率还是比拟低的。这就是 arm 芯片的劣势。
总结
基于集体的工作 / 趣味需要,我想要:
- 多台服务器
- 始终运行
- 乐音小
- 功耗低
这台看起来像服务器,但实际上是由 11 个 arm 开发板组成的矩阵满足了我的需要。
- 被我折腾坏 4 片开发板后,还有 7 片可供使用
- 能够始终运行
- 乐音还是有点大(次要是暴力风扇的起因,后续思考找个静音风扇装置)
- 功耗低
基本上满足了我的需要。后续我会先用它来搭建 HashiCorp nomad 集群。
敬请期待。
📚️参考文档
- CSR1-N10R3399 材料下载 | Firefly | 让科技更简略,让生存更智能 (t-firefly.com)
- Welcome to Cluster-Server-R1 Manual — Firefly Wiki (t-firefly.com)
- Welcome to Core-3399-JD4 Manual — Firefly Wiki (t-firefly.com)
- Core-3399-JD4 材料下载 | Firefly | 让科技更简略,让生存更智能 (t-firefly.com)
三人行, 必有我师; 常识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.