html

尽管现在使用了几个家庭服务器节点,但我的虚拟化之旅只是一台旧电脑和一个梦想。从技术上讲,CPU 和显卡至今仍能满足 Proxmox 的任务,但由于我的电脑只有一堆 HDD,我只能依靠机械硬盘来进行服务器实验。一旦我开始增加更多节点,我就不断地重新利用来自报废电脑的旧硬盘。

然而,我最终在 HDD 收藏上坚持得太久,直到今年早些时候我才终于换成了更快的 SSD。现在我一直在使用仅 SSD 的 Proxmox 服务器节点,我不得不承认,抛弃慢速机械硬盘是个正确的选择。

光是更快的响应时间就值得这笔投资

光是更快的响应时间就值得这笔投资

我的虚拟机在 HDD 上从来没有这么灵敏过

我的虚拟机在 HDD 上从来没有这么灵敏过

我对依赖硬盘作为服务器节点的最大不满之一就是服务器的速度极其缓慢——不仅仅是底层操作系统。由于我经常要等超过一分钟才能启动虚拟机,我的 Proxmox 虚拟机也不太灵敏。即使进行了许多性能调整,我的虚拟机(尤其是那些带有 GUI 的)使用起来也感觉相当迟缓。

因此,购买新的 SSD 是接下来的首要任务。由于 Proxmox 不会锁定启动驱动器,我不必通过购买单独的高速驱动器来为基础操作系统和虚拟客户数据而让我的钱包受损。我一迁移 PVE 实例到 SSD,一切就顺畅多了。在网页 UI 上切换不同页面不再需要我等待几秒钟才能加载,而我的 GUI 虚拟机也变得更加可用——以至于我拒绝再为我的 Windows 11 开发虚拟机、基于 Arch 的 Ollama 实例和其他要求高的虚拟客户使用硬盘。

我再也不用忍受嘈杂的服务器了

我再也不用忍受嘈杂的服务器了

我的节点的功耗也下降了不少

我的节点的功耗也下降了不少

根据你的硬件,家庭服务器可能会很吵,我这样说是因为我使用的是一台 旧 Xeon 系统。然而,摆脱 HDD 使我的服务器节点安静了很多。即使在空闲状态,我也会时不时听到微弱的嗡嗡声和点击声,而激烈的实验会导致 HDD 发出尖叫声,仿佛没有明天。在功耗方面,我从旧机器和跳蚤市场买来的 HDD 在重负载操作时会消耗大约 8-9W,而在空闲时则为 4-5W。

与此同时,SSD不仅在噪音方面超越了我的硬盘,而且它们的功耗也远低于机械硬盘。我依赖PCIe Gen 3 SSD为我的服务器节点提供支持,它们的功耗远不及我笨重的3.5英寸硬盘。除了在活动工作负载期间消耗约3W外,它们的空闲功耗则在小数范围内。而且在我的实验中,我不需要忍受硬盘的噪音。

我不得不调整一些设置以减少SSD的磨损率

我不得不调整一些设置以减少SSD的磨损率

我在独立的Proxmox节点上禁用了某些Corosync服务

我在独立的Proxmox节点上禁用了某些Corosync服务

当然,SSD远不是它们看起来的万能解决方案。NAND闪存单元的写入周期有限,过度的写入操作会导致它们出现故障,不过我对我的PVE节点做了一些调整,以延长SSD池的使用寿命。

例如, pve-ha-lrm.service 和 pve-ha-crm.service 进程往往会在Proxmox节点上执行大量写入操作。在高可用性集群中,这些进程是非常必要的,但在独立节点上禁用它们不会有其他影响,只会减少SSD的磨损。因为我有几个不打算在集群环境中使用的Proxmox节点,pve-ha-lrm.service 和 pve-ha-crm.service 是可以安全禁用的。最简单的方法是在PVE节点的Shell标签中运行以下命令:

systemctl stop pve-ha-lrm.service

systemctl disable pve-ha-lrm.service

systemctl stop pve-ha-crm.service

systemctl disable pve-ha-crm.service

设置 Log2Ram 是一个额外的预防措施

设置 Log2Ram 是一个额外的预防措施

Proxmox 也有不断生成系统日志的倾向,虽然这对 SSD 的危害没有对典型的 microSD 卡那么大,但禁用日志是一种稳妥的预防措施。然而,我不建议禁用日志,因为它们对故障排除非常重要。

而是,我设置了 Log2Ram,这是一个将大部分日志保存到内存中,并在特定时间间隔(可以自定义)将其写入 SSD 的工具。在 Proxmox 上安装它时,需要运行以下命令:

echo "deb [signed-by=/usr/share/keyrings/azlux-archive-keyring.gpg] http://packages.azlux.fr/debian/ bookworm main" | tee /etc/apt/sources.list.d/azlux.list

wget -O /usr/share/keyrings/azlux-archive-keyring.gpg https://azlux.fr/repo.gpg

apt update && apt install log2ram -y(-y 表示自动确认)

我将 Log2Ram 的配置保持在默认值,但 /etc/log2ram.conf 文件包含一些可自定义的设置。当然,持续的日志记录方式可能对高端 SSD 的影响不大,但我宁愿尽可能多地采取预防措施。

话虽如此,我绝不会在我的主要 NAS 上用 SSD 替换我的硬盘

话虽如此,我绝不会在我的主要 NAS 上用 SSD 替换我的硬盘

敏锐的读者可能注意到我在文章中没有使用“家庭实验室”这个术语。这是因为我的 NAS 是我实验室的重要组成部分,我绝不会用 SSD 替换它的 HDD。当然,我有一些全闪存的 NAS 单元,它们在小型文件共享任务中表现良好,甚至可以存储虚拟客户的数据信息。但是,考虑到它们有限的写入周期以及在长时间断电时容易丢失数据的风险,我无法想象使用 SSD 来存储备份或归档数据。

所以,我并没有摆脱所有的硬盘——只是它们仍然藏在我地下室的 NAS 里,在那里我不必听到它们在繁重的备份操作中发出的噪音。