树莓派堆叠
机架(rack)
互联网上有销售将树莓派转换成机架方式安装的面板 Raspberry Pi 19 inch Rack mount ,但是密度不高,并且仅限于前面板,没有充分使用机架全部部署空间。(也可能是作为X86服务器补充,所以仅占用极少空间)
我的树莓派堆叠
随着树莓派社区技术不断发展,市场上逐渐出现越来越多的树莓派 堆叠
产品,方便组合成集群化运行。在淘宝上,就有很多卖家出售树莓派的组装零配件,以及配套的散热装置(散热片、风扇)。
我购买了一套堆叠配件,组装成 边缘云计算构建 集群:

使用8口千兆小交换机互联,树莓派占用6个端口,剩余的2个端口,一个用于连接 Jetson Nano (构建基于GPU的 Machine Learning ),另一个则上联其他交换机。
完全组装好可工作状态图示如下:
装配说明:
使用1个4端口输出USB电源,其中3个USB接口电源输出给3个 树莓派Raspberry Pi 4
3个 树莓派Raspberry Pi 4 外接 USB SSD 移动硬盘(替代TF卡提高存储性能),使用 树莓派环境安装Alpine Linux到USB磁盘启动
树莓派Raspberry Pi 4 的USB 2.0接口插USB线串联为 树莓派Raspberry Pi 3 提供电源(可以节约USB电源,安装更紧凑)
树莓派Raspberry Pi 3 使用64GB规格的TF卡运行( K3s - 轻量级Kubernetes 管控节点,硬件要求较低 )
树莓派Raspberry Pi 3 产生热量较少,所以散热片使用的是比较小巧的小散热片,堆叠后有较大空隙,这个空隙正好把 树莓派Raspberry Pi 4 使用的 西部数据Passport SSD移动硬盘 塞进去
不足和改进构想
之所以我采用上述 3台 树莓派Raspberry Pi 3 和 3台 树莓派Raspberry Pi 4 来组建树莓派集群,是因为历史原因,我陆续采购了不同代的多个树莓派,这些都是沉没成本。
虽然我更看好 Turing Pi 树莓派mini集群 (尚未上市),但是从计算性能来看,树莓派迟迟没有推出5代产品,所以采用之前已经购买到的 树莓派Raspberry Pi 4 来完成计算,性能上还是一样的,只是组装后集群硬件比较繁杂,不是很美观。
考虑到 Turing Pi 树莓派mini集群 有可能比较昂贵,而淘宝上现成的 树莓派Compute Model 4计算模块 配套简化底板已经具备了 m2
接口PCIe SSD支持,可以非常紧凑地实现存储集群(是的,不再需要外接USB的SSD存储),所以我考虑后续改进的方案应该是:
使用 3 个 树莓派Compute Model 4计算模块 + 简化版底板(支持m2接口PCIe存储) 堆叠
使用1个 4口千兆小交换机互联设备
使用一个微型4口USB电源
如果要进一步缩小尺寸(省略交换机),考虑采用:
2个 树莓派Compute Model 4计算模块 + 简化版底板(支持m2接口PCIe存储) 堆叠
双存储构建 Gluster 分布式存储,实现数据冗余
1个 NanoPi 提供双千兆网络,通过这两个网口连接上述2个树莓派,通过Linux内核实现switch功能
可以省却交换机
如果NanoPi的USB供电稳定,甚至可以省却USB电源,通过NanoPi实现树莓派的电力供应
如果上述方案总体成本能够低于 Turing Pi 树莓派mini集群 ,则可以尝试;如果高于或接近 Turing Pi 树莓派mini集群 ,则还是采用 Turing Pi 树莓派mini集群 实现集群
软件
树莓派硬件性能有限,为了能够充分发挥硬件性能,精简操作系统和应用软件势在必行:
操作系统采用 Alpine Linux : 轻量级最小化安装
IaaS平台采用 K3s - 轻量级Kubernetes : 适合 边缘云计算构建 的轻量级 Kubernetes