引言
不知道你是否曾经想过拥有一个属于自己的数据中心,让你可以随心所欲地学习、实验、甚至娱乐?
如果是的话,那么你所需要的正是—— Homelab!不要被这个词吓到,因为它是技术爱好者的游乐园。
当年我选择了计算机这个专业,很多学习内容都是在自己的笔记本上进行的。搭建各种学习环境,用于学习编程,网络,数据库等知识。
那是我的第一台笔记本,品牌是华硕(ASUS),配置 3 代 i5, 4G 内存,GT520 显卡。这个当时的主流配置,在面对 Oracle 这种体量的数据库时,显得有些捉襟见肘。VMware Workstation 开两台虚拟机,笔记本就像要爆炸一样。那个时候我就想要是有台配置非常高的电脑就好了,想干什么就能干什么。
后来工作后,第一段工作经历是做系统集成的,为客户建 设IDC。我开始接触到了企业级的虚拟化技术(ESXi,Hyper-V)。那时候特别想有台自己的服务器,部署上虚拟化,模拟很多项目的环境,去学习、测试。
随着工作经验的积累,我对软硬件都有了更多的了解,收入也有所上升。
终于,我有这个能力实现当年的愿望了。为了满足自己的好奇心和技术需求,我组建了属于自己的 Homelab。
什么是 Homelab
那么什么是 Homelab 呢?
Homelab(家庭实验室)是指个人或爱好者在自己的家中建立的小型技术实验室,通常包括计算机硬件、服务器、网络设备和其他技术工具。这些设备模拟了一个小型数据中心,目的是让个人能够学习、测试和实验各种技术,从而提高他们的技能和知识。
在一个 Homelab 中,我们可以在其中运行虚拟机、容器、网络服务、存储解决方案等,去尝试新的操作系统、学习网络配置、测试软件应用程序,甚至构建自己的网站或游戏服务器。
对于IT从业人员、开发者和技术爱好者来说 Homelab 特别有吸引力,因为它提供了一个低成本、安全的实验环境,可以在其中不断学习和改进技术技能。
我的 Homelab 配置
我的 Homelab 由两台机器组成:
一台是家用主机改造而成,自己攒的一些硬件:8 代奔腾 G5600,3.9GHz 主频,2 核 4 线程,16G 内存 ,256G 固态硬盘,8T 机械硬盘,一开始用作 NAS(黑群晖 6.2.4),现在已改为 ESXi 6.7 虚拟化系统。
另外一台是标准的退役企业级服务器,惠普的 ProLiant DL380 Gen9,配置为:两颗 Xeon E5-2680 v4,2.40GHz 主频,一共 28 核 56 线程,384G 内存,4.6T 高转速 SAS 盘,安装的 ESXi 7.0 虚拟化系统。
网络部分是华为的 AX3 路由器加上斐讯 K2P 刷的软路由(OpenWRT),均支持千兆网络。
我尝试过 Hyper-V,ESXi,PVE等各种虚拟化平台,最终因为对ESXi更熟悉,使用起来更顺手,最终选择了ESXi,它提供了强大的虚拟化功能,使我能够轻松管理多个虚拟机实例。而我服务器的硬件配置加上高性能、定制化的网络设备,足以支持多台虚拟机的顺畅运行。
我用 Homelab 做些什么?
我在 Homelab 中运行了非常多的服务,包括多个 Web 服务器、数据库服务器、K8S 集群以及整个 Homelab 的监控服务。
我的Web服务器托管了我的个人博客和网站,而数据库服务器除了用于存储数据外,还包括各种数据库的测试(Oracle RAC,SqlServer AlwaysOn,MySQL HA)。K8S 集群则支持我运行各种应用程序,从媒体服务器到开发环境。身为一名 DevOps 工程师,我有自己的一套完整的 CICD 工具链,包含 Gitlab,Jenkins,Docker hub,SonarQube 等服务。
目前我的 Homelab 里一共有 33 台虚拟机实例,借助这些虚拟机,我能在自己的环境里完成一些需求验证。比如版本升级,系统切换的模拟, 学习容器编排技术,测试自动化 pipeline 等。
为了简化管理,我编写了一些自动化脚本,包括备份任务、监控脚本以及自动升级任务。这些脚本有助于我减少手动干预,确保我的 Homelab 保持高可用性。
重要的数据除了两台机器互相同步外,我还选择同步到阿里云的 OSS,确保数据万无一失,毕竟阿里云 OSS 宣称 11 个 9 的可用性[奸笑]。
当然,我也不可能一直工作,人总是需要娱乐的。Homelab 同样能作为家庭娱乐中心,提供各种家庭娱乐服务。我还搭了一个 Minecraft 服务器,空了朋友一起玩一玩。另外容器部署的 Home Assistant 将我家里的智能设备纳管进来,实现智能家居,进行远程控制、查看家庭监控等功能。其他的如电子书,家庭相册等都是 NAS 的套件,这里就不多说了。
总之 Homelab 是一个可以发挥奇思妙想的实验室,提供了许多机会来学习、测试和实验各种技术,同时也是一个充满乐趣的娱乐场所。
它能帮助我提高技能,同时也可以充实我的数字娱乐生活。
未来计划
目前我的 Homelab 已经能满足我的需求。但是未来,我想我应该会继续扩展它,增加更多的硬件资源和服务,同时探索新技术领域。
比如我曾想过的 K8S 异地集群管理,边缘计算等。
总结
我的 Homelab 已经成为了我技术探索的天地,一个可以尽情实验和学习的地方。通过不断改进和扩展,我期待着未来的技术挑战和成就。
如有同道中人,可以在评论区留言讨论哦。