玩转 PI 系列-看起来像服务器的 ARM 开发板矩阵-Firefly Cluster Server

前言

基于我个人的工作内容和兴趣,想要在家里搞一套服务器集群,用于容器/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 集群。

敬请期待。

📚️参考文档

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

相关推荐
ggaofeng3 小时前
通过命令学习k8s
云原生·容器·kubernetes
qq_道可道6 小时前
K8S升级到1.24后,切换运行时导致 dind 构建镜像慢根因定位与解决
云原生·容器·kubernetes
SONGW20186 小时前
k8s拓扑域 :topologyKey
kubernetes
weixin_438197387 小时前
K8S实现反向代理,负载均衡
linux·运维·服务器·nginx·kubernetes
华为云开发者联盟13 小时前
解读Karmada多云容器编排技术,加速分布式云原生应用升级
kubernetes·集群·karmada·多云容器
严格要求自己1 天前
nacos-operator在k8s集群上部署nacos-server2.4.3版本踩坑实录
云原生·容器·kubernetes
少吃一口就会少吃一口1 天前
k8s笔记
云原生·容器·kubernetes
葡萄皮Apple1 天前
[CKS] K8S ServiceAccount Set Up
服务器·容器·kubernetes
2301_806131361 天前
Kubernetes 核心组件调度器(Scheduler)
云原生·容器·kubernetes
放手啊2 天前
sealos部署K8s,安装docker时master节点突然NotReady
docker·容器·kubernetes