Infrastructure as Code
用代码定义私有基础设施 !
能源
- ups 不间断电源
网络
-
modern network 现代网络概述
-
router 确保可以始终访问到你的私有网络
-
openwrt 网关
算力
存储
为什么这样设计?我的 homelab 架构权衡
-
我在大一的时候,在 vmware 上装黑苹果,种子应该就是从那时候开始的
-
专科毕业的时候,从 n5095 的 all in one 开始折腾
-
本科毕业的时候,在重庆搭建了一个 homelab,且在无人值守的情况下,稳定运行了一年。我当前的 homelab 也是在此基础上做的小幅升级
先说需求
- 有一套自己的私有基础设施,这本身就能满足自己的心理需求
具体的
-
我期望数据长久保存,可以随时访问的。存算分离真的是个好东西啊。只要数据和计算是分离的,都可以灵活地调整硬件和网络环境。后续会讲如何做数据的备份
-
我的个人网站,当然这个需求我认为 github pages 就足够了。
-
我的开发需求,我本科论文是基于 k8s 做了一些工作,毕业后的工作也和分布式相关,因此我在家里备了一套异构节点,方便开发。
我们从网络开始展开
我仅仅用到了三个设备:路由器、交换机、网关。交换机还是傻瓜交换机。
我的网络根本没有设计。光猫改桥接,路由器拨号,openwrt做旁路网关。值得一提,每个月的公网IP和上传带宽就要花费 3 位数
路由器承担了主要的网络功能,即使 openwrt 宕机时,至少网络还是可用的。虽然openwrt还是稳定的(展示连续运行370天的截图)
网关一个作用是对出口流量分流,另一个作用是做虚拟专用网络的服务端,供我在外地访问(我的主力是 wireguard,这个速度真的非常非常快,留了一个 Open 备份)。同时,路由器还有一个 L2TP 做为备份。
设备方面
我有一台32g和一台 64g 带 4070 的 x86 设备,以及一个 mac 充当 arm。众所周知,现在AI对内存的需求非常大,因此我的常驻服务和虚拟机全部驱赶到了 32g 设备上。64g 的设备用做主力开发。剩下两台设备有两个小规模的虚拟用做测试