跳转至

Infrastructure as Code

用代码定义私有基础设施 !

能源

  • ups 不间断电源

网络

算力

  • kvm 基于 KVM 的虚拟化

  • hyper-v 基于 Hyper-V 的虚拟化

存储

  • nfs 网络文件系统

  • smb 服务器消息块协议

  • oss 对象存储服务

为什么这样设计?我的 homelab 架构权衡


  • 我在大一的时候,在 vmware 上装黑苹果,种子应该就是从那时候开始的

  • 专科毕业的时候,从 n5095 的 all in one 开始折腾

  • 本科毕业的时候,在重庆搭建了一个 homelab,且在无人值守的情况下,稳定运行了一年。我当前的 homelab 也是在此基础上做的小幅升级


先说需求

  • 有一套自己的私有基础设施,这本身就能满足自己的心理需求

具体的

  1. 我期望数据长久保存,可以随时访问的。存算分离真的是个好东西啊。只要数据和计算是分离的,都可以灵活地调整硬件和网络环境。后续会讲如何做数据的备份

  2. 我的个人网站,当然这个需求我认为 github pages 就足够了。

  3. 我的开发需求,我本科论文是基于 k8s 做了一些工作,毕业后的工作也和分布式相关,因此我在家里备了一套异构节点,方便开发。


我们从网络开始展开

我仅仅用到了三个设备:路由器、交换机、网关。交换机还是傻瓜交换机。

我的网络根本没有设计。光猫改桥接,路由器拨号,openwrt做旁路网关。值得一提,每个月的公网IP和上传带宽就要花费 3 位数

路由器承担了主要的网络功能,即使 openwrt 宕机时,至少网络还是可用的。虽然openwrt还是稳定的(展示连续运行370天的截图)

网关一个作用是对出口流量分流,另一个作用是做虚拟专用网络的服务端,供我在外地访问(我的主力是 wireguard,这个速度真的非常非常快,留了一个 Open 备份)。同时,路由器还有一个 L2TP 做为备份。


设备方面

我有一台32g和一台 64g 带 4070 的 x86 设备,以及一个 mac 充当 arm。众所周知,现在AI对内存的需求非常大,因此我的常驻服务和虚拟机全部驱赶到了 32g 设备上。64g 的设备用做主力开发。剩下两台设备有两个小规模的虚拟用做测试