.. _openwrt_hardware: =================== OpenWrt硬件选型 =================== 选型思路 ========= - 倾向于采用ARM架构: 节能无需风扇,适合安静的室内环境 - 至少配置4G内存,8G或者更高则更佳: 虽然构建交换网络和路由以及基础服务只需要很少的内存,但是我希望设备能够运行 :ref:`kubernetes` 集群以及 :ref:`ceph` ,实现一个 :ref:`edge_cloud` - 支持 :ref:`nvme` 存储,如果不行则至少支持 SATA SSD存储: 需要构建稳定的分布式存储 :ref:`ceph` 或者 :ref:`gluster` - 具备多网口(交换网络必须): 设备构建软交换,提供网络QoS管控以及细粒度的网络监控 - 支持尽可能多的硬件虚拟化: 我需要运行 :ref:`kvm` 来构建一些复杂场景模拟 可选设备 ========== 某个型号的路由器 ------------------ 现在最新型的路由器可能硬件已经非常强(但价格也很贵),也许能够满足我运行虚拟化的要求: - 优点: - 路由器默认具备了多网口交换网络以及无线功能,可以省却购买扩展卡 - 销量大有可能找到较为经济的型号 - 缺点: - 处理器和内存可能不足且不可扩展 - 估计很难找到支持内置存储的设备(NVMe和SATA SSD) .. note:: 如果有性价比比较高的二手路由器,或许可以采用这个方案(内存能够达到4G较好) `软硬件杂谈 篇九十八:要玩硬路由OpenWRT?我的踩坑手册,你的入门指南! `_ 提到的 GL.inet 支持OpenWRT的小路由:MT1300和SFT1200 采用了 512MB DDR3内存 / 128MB DDR3内存,估计作为小型应用web以及下载工具或许比较适合。但是难以组合成适合运行 :ref:`kubernetes` 集群以及 :ref:`ceph` 的硬件平台 符合高内存以及NVMe存储扩展的路由器估计需要花费大量时间对比筛选,并且这个市场非常狭窄,性价比可能不高。 树莓派 ------- 树莓派已经在 :ref:`raspberry_pi` 中做了很多实践,优缺点都非常明显: - 优点: - 社区支持广泛,有太多的开源项目可以提供借鉴学习 - 兼容性好,得到众多Linux发行版支持,甚至可以运行 :ref:`android` - 缺点: - 硬件性能有限,特别是内存最高8G,对于大型程序运行有很多限制 - 缺乏NVMe和SATA控制芯片,虽然可以通过扩展卡得到NVMe和SATA支持,但是由于扩展卡市场小导致售价较高,累积起来的整体费用甚至超过了Intel的NUC - 网络接口只有1个,虽然第三方扩展主板可以实现多网口,但是一方面太小众售价高,另一方面由于树莓派共享网络和存储总线导致性能限制 树莓派原本作为低成本ARM架构的通用SBC是非常有性价比的,然而最近几年芯片荒、中美贸易战、反全球化导致半导体市场出现了诡异的价格疯涨。我吃惊地看到,原本我购买的 :ref:`pi_4` 价格翻倍: - 2020年9月购买2G规格树莓派4B是255元,两年后2022年10月售价是708元 - 2020年9月购买8G规格树莓派4B是565元,两年后2022年10月售价是1088元 这是多么疯狂的扭曲,使得目前树莓派完全没有性价比可言:树莓派虽然好玩,但是同样的售价购买Intel多网口工控机可以体验更为强大的性能以及扩展性(Intel的服务器技术也可模拟) NanoPi R4S/R5S ----------------- :ref:`nanopi` 应该是借鉴了 :ref:`raspberry_pi` 思路进一步改进而来,由于近几年芯片集成度和 :ref:`nvme` 技术迭代,NanoPi可以说基本补齐了树莓派的短板,性价比更高的一款产品: - 优点: - R4S集成2个千兆网口; R5S集成2个2.5G网口和1个千兆网口: 这使得NanoPi非常适合堆叠成 :ref:`pi_cluster` ,完美实现 :ref:`kubernetes` 和 :ref:`ceph` 集群基本硬件 - 内存达到4GB,也就是刚好满足构建集群运行较为大型的软件(虽然可能只能演示) - **集成了NVMe存储接口** 可以直接安装扩展存储,这使得该设备性价比得到极大提升,可以作为存储服务器 - 主芯片就是用于手机的MTK芯片,可以直接安装运行Android - 缺点: - 社区支持还达不到树莓派层次,使用不够广泛,所以可能很多问题需要自己摸索 .. note:: 不管怎样,NanoPi的均衡硬件配置以及低廉的售价(含官方CNC金属外壳)售价还不到树莓派2G规格单主板的售价,性价比非常突出。并且也比较契合我选在运行OpenWrt的硬件构想,特别是能够3个堆叠组件集群,可以说可玩性超群。我单独再规划一个 :ref:`nanopi` 硬件构想... Intel架构多网口工控机 ---------------------- 在淘宝上能够找到Intel赛扬N5105多网口工控机,可能是最经济的高性能硬件: - 优点: - 标准X86架构(就是有点乏味)能得到最兼容的软硬件支持 - 可更换扩展笔记本内存,最高达到 64G (这点是低端ARM设备无法企及的),可以满足运行大型程序(注意,需要对Intel处理器规格进行详细对比,以选择最佳虚拟化支持型号) - 4口 ``2.5Gb`` 高速网络(虽然连接树莓派等设备只能用到千兆性能,但是如果多设备堆叠可以获得更大带宽,我甚至想采用2个网口binding方式来获得更好带宽) - Intel网卡可以实现 :ref:`sr-iov` 我的选择(思路) =============== 我对比了不同硬件的组合,我觉得: - 最好的设备是 ``Intel赛扬N5105多网口工控机`` ,性能太强(同价位下),可扩展性远超过ARM设备( :ref:`raspberry_pi` 和 :ref:`nanopi` ): 最高可以达到64GB内存,4端口 ``2.5Gb`` 高速网络(可支持虚拟化) - 但是这样强大的设备(我甚至觉得可以扩展PCIe显卡)运行 OpenWrt 实在有些 "超纲" 了: OpenWrt采用了类似 :ref:`alpine_linux` 的特殊库,可以适应低配置硬件,但是兼容性较弱; 所以达到这个级别硬件,不如直接安装标准版本的 :ref:`arch_linux` 来构建标准服务器 - 不考虑社区支持广泛性,从硬件性价比来说,可以选择 :ref:`nanopi` R5S : 可以获得NVMe存储以及多网卡互联,可以构建一个模拟集群(仅演示) - 要集中精力学习,则选择 :ref:`raspberry_pi` 虽然硬件价格太贵,但是广泛的社区支持可以解决大多数问题,方便实现不同的部署方案 考虑到我已经在 :ref:`hpe_dl360_gen9` 和 :ref:`raspberry_pi` 投入大量的成本(钱和精力),所以我决定不再新购买设备,而采用现有设备来实践: - :ref:`goflex_home` 运行OpenWrt来实现 :ref:`gluster` ,实现数据存储 - 再次用 :ref:`pi_1` 来安装OpenWrt,学习和实践OpenWrt的部署,以及参考 `OpenWrt-DIY `_ 和 `OpenWrt与嵌入式Linux `_ 等文章如何构建OpenWrt,这是我想学习的技术 - 使用 :ref:`hpe_dl360_gen9` 的 :ref:`priv_cloud_infra` 运行X86虚拟机来构建OpenWrt,实现编译和安装运行 总之,虽然我花费了不少时间查询资料和想象硬件对比,但是我目前需要节约花费,用最小的成本来学习技术。 参考 ======== - `哪些路由器对OpenWrt支持较好? `_ - `软硬件杂谈 篇九十八:要玩硬路由OpenWRT?我的踩坑手册,你的入门指南! `_