返回

文章详情

从 Proxmox 迁移到 NixOS 和 Incus

Hacker News2026年6月25日 21:22

我已经完全转向 Nix:从 Proxmox 到 NixOS + Incus 我正式退役了我的 Proxmox 集群。在 Proxmox 上运行我的家庭实验室多年,最初从一个 NUC 开始,扩展到一个多节点集群,我已将一切迁移到运行 Incus 的 NixOS。 从怀疑者到信徒 # 我并不总是 Nix 的传播者。事实上,我最初非常厌恶这种语言及其语法。我无法弄清楚它是如何工作的,而且我已经有了自己特定的设置 dotfiles 的方式。我使用 Dotbot 进行符号链接,并使用我写的一个名为 dotbins 的工具来管理二进制文件。我觉得我大多数工具不需要 Nix。我很长一段时间在我的 Mac 上使用 nix-darwin,但只是为了指定 Homebrew 包和应用设置。我的真正转变发生在我购买我的游戏 PC 时,正如我在本地 LLM 帖子中所描述的。我最初安装了 Pop!_OS,因为我想玩游戏,并绝对希望避免使用 Windows。我得到了几个游戏的正常运行,但我不断遇到需要运行随机的、命令式的命令来修复的 NVIDIA 驱动问题。我觉得这不是一个好的解决方案,因为我无法在后来重现那些调试步骤。然后我做了一个愚蠢的事情,更新了我的 NVIDIA 驱动,而没有意识到命令式管理驱动版本和仓库是灾难的基础,结果陷入了 GRUB 启动循环。感到沮丧的我安装了 NixOS,希望其原子更新的承诺能解决这个问题。结果是辉煌的。直到我将那个系统迁移到新硬盘时,我才真正相信一切都是字节对字节的等效。我没有克隆驱动器;我只是将我的 Nix 配置应用于全新安装。它启动了,我复制了我的数据,一切都是完全相同的。那一刻我意识到了一些事情。命令式系统的摩擦 # Proxmox 是出色的软件。它降低了我的入门门槛,并教会了我几乎所有关于虚拟化、LXC 容器和 ZFS 的知识。但从根本上讲,Proxmox 是围绕点击按钮构建的。它是一种以 GUI 为先的范式。虽然你可以用 Terraform 或 Ansible 来自动化它,但经常感觉像是在与工具作斗争。状态漂移是真实存在的。你在 UI 中更改设置以调试某些问题,忘记它,六个月后你的“基础设施即代码”与现实脱节。对于手动维护系统的人来说,这很烦人。但是当你引入 AI 代理时,这对操作员来说就成了一场灾难。以“YOLO 模式”运行的代理可能会执行数百个命令式的命令来解决问题。它可能成功,但会将你的系统留在一个未定义、不可重现的状态,没有人——甚至代理——能够完全理解或在之后复现。这种摩擦在硬件管理中也表现得很明显。在我的 HP EliteDesk 上,Intel I219-LM 网卡有一个已知的 bug,当启用硬件卸载时会挂起。我模糊地记得几年前在 Proxmox 上修复过这个问题,但我已经忘记了细节。当我设置 NixOS 时,遇到了同样的问题:网络会随机掉线。然而这一次,修复不是在 root shell 历史中运行的忘记命令。它是我配置中的一个记录系统的服务。我添加了一个注释,准确地解释了为什么需要 tso off gso off,并引用了论坛中的讨论。如果我再次安装这台机器,修复会自动应用。在 Proxmox 上,我不得不再次重新发现这种痛苦。另一个例子是我的 Intel NUC。由于我的家庭实验室在我的电视后面,我想知道我是否也可以将其用作家庭影院 PC(HTPC)。在 Proxmox 上,这需要将 GPU 传递给一个虚拟机以获得视频输出。但这样做意味着 Proxmox 主机将完全失去访问 GPU 的能力,如果出现问题将无法获得本地控制台。这是一个严格的权衡:成为一个媒体播放器,还是一个可调试的虚拟机监控程序。我试过,但麻烦得多,我很快就恢复了。使用 NixOS,我不必选择。主机操作系统直接运行 Kodi,为我提供本机硬件加速和视频输出。同时,incus 在后台运行,托管我的容器。我在同一硬件上获得了 HTPC 和服务器,没有虚拟化的附加成本或 “无头主机” 的限制。还有更深层次的哲学区别。像 Proxmox 或 TrueNAS 这样的系统被设计为设备。你不应该在主机上运行任意命令;安装包或调整配置文件是不被鼓励的,因为你可能会破坏中间件或在升级时丢失更改。换句话说,你实际上是被锁定在自己硬件的全部潜力之外。随着NixOS,主机完全属于我。我可以随意折腾——安装 Kodi、调整网络驱动程序、运行本地 LLM——而不需要担心。因为状态是声明式的,非常明确且可重现。我可以打破主机配置,并在几秒钟内恢复到工作状态,即使机器正在运行重要的服务。代理乘数 # 我之前写过关于我向代理编码转变的话题。在一个 AI 代理执行任务的世界中,CLI-

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡