夜雨聆风学习资料网

ARTICLE · 1081894

一台旧电脑,如何变成自己的“小型云服务器”?我选择了Proxmox VE

一台旧电脑,如何变成自己的“小型云服务器”?我选择了Proxmox VE
书桌下面那台旧电脑,我犹豫过很多次要不要卖掉。
它还能开机,处理器也不算太老,只是做主力机嫌慢,放在那里又占地方。最初我想给它装个桌面版Linux,后来又觉得不够灵活;也想直接装Docker,但一旦宿主机被我折腾坏,所有服务都得跟着停。
最后我没有把它改成一台“功能很多的电脑”,而是换了一个思路:让它只负责管理资源,把真正的服务放进彼此隔离的虚拟机和容器里。
我选择了Proxmox VE,简称PVE。
这台旧电脑当然不是真正的云平台。它没有多机高可用,也没有机房级电力和网络,更没有云厂商的SLA。但在家里,它可以像一个很小的资源池:需要Linux就开一台VM,需要轻量服务就建一个LXC容器,做实验失败了就回滚,准备重装前先备份。
这才是我理解的“小型云服务器”:不是把旧电脑暴露到公网,而是让一台机器拥有清晰的计算、网络、存储和恢复边界。
一、我为什么没有直接装Windows或Docker
如果只运行一个下载工具,或者只共享一个文件夹,直接装普通操作系统最省事。PVE不是所有旧电脑的标准答案。
我选择PVE,是因为我想解决的不是“怎么跑一个应用”,而是“怎么长期管理几种不同的应用”。家庭服务、测试环境、临时开发机和Windows软件的依赖经常互相打架,把它们全部塞进一个系统,短期简单,半年后往往没人敢升级。
PVE把KVM虚拟机和LXC容器放进同一套网页管理界面。KVM适合完整运行Windows或Linux,每台VM都有独立的虚拟硬件;LXC共享宿主机内核,启动快、占用小,更适合轻量Linux服务。存储、虚拟网络、快照、备份和任务日志也都集中在一个地方。
对我来说,它最重要的价值不是“功能多”,而是把日常动作变得有边界:
  • 宿主机只做虚拟化,不直接堆应用;
  • 服务之间相互隔离,升级失败不牵连整台机器;
  • 资源可以看见,谁占了内存、磁盘和CPU一目了然;
  • 虚拟机可以备份、克隆和迁移,重做环境不必从零开始。
目前官方提供Proxmox VE 9.2安装镜像,系统底层基于Debian体系。版本会继续变化,所以安装时应该从官网下载页确认最新ISO,而不是使用来历不明的网盘镜像。
二、旧电脑能不能用,先过五道门槛
我拿到旧电脑后,第一件事不是下载ISO,而是拆开侧板、查看BIOS和硬盘健康。旧机器最容易让人误判:能点亮,不等于适合全天运行;配置看着够用,也不等于数据安全。
处理器:先确认硬件虚拟化
x86平台至少要确认处理器和主板支持Intel VT-x或AMD-V,并在BIOS/UEFI中启用。准备做显卡、网卡直通时,还要检查Intel VT-d或AMD-Vi,也就是常说的IOMMU。
老处理器核心少并不可怕,真正麻烦的是虚拟化被关闭、主板固件太旧,或者机器长期高负载后温度失控。正式安装前,我会先清灰、换掉已经硬化的硅脂,并跑一次内存和硬盘检查。
内存:决定你能同时开多少服务
官方给出的测试最低内存很低,但那只是“系统能启动”,不是“家庭服务用得舒服”。我的判断很直接:8GB可以认识PVE,但要克制;16GB更适合同时运行一两台VM和几个轻量容器;再往上则取决于你的数据库、编译、Windows和缓存需求。
如果准备使用ZFS,更不能只看“能不能装”。官方管理指南明确提醒ZFS依赖内存,并建议至少从8GB起步。旧电脑内存有限时,我宁可先用默认LVM-thin,也不为了一个听起来高级的文件系统挤压所有业务。
磁盘:旧盘可以利用,重要数据不能赌
虚拟机对随机读写很敏感,系统盘优先用SSD,体验差异比盲目加核心更明显。旧机械盘可以保存不重要的大文件或第二份副本,但要先看SMART状态。
安装PVE会使用并清空选中的磁盘。任何“里面应该没东西”的判断,都不如先拔盘核对、再做备份可靠。
网卡:有线千兆比花哨功能更重要
PVE默认通过Linux Bridge连接虚拟机,可以把它理解为宿主机里的一台虚拟交换机。旧电脑最好使用稳定的有线网卡。无线网卡在桥接、驱动和启动顺序上都更容易制造问题,我不会把它作为长期节点的主要链路。
功耗:旧电脑不是免费服务器
最后要量空闲功耗。假设机器全天空闲功耗为50W,一年就是:
0.05kW×24小时×365天=438kWh
电费、噪声和夏天的热量都是真成本。如果只是偶尔做实验,定时开关机比24小时在线更合理;如果长期空闲功耗太高,小主机反而可能更省钱。
三、安装前,我先在纸上分配资源
旧电脑最常见的失败不是装不上,而是刚装完就把全部资源分光。四核处理器分给两台VM各四核,16GB内存创建三个8GB虚拟机,界面里都能填,机器却会在负载上来时一起变慢。
我的做法是先画一张很小的资源表:
宿主机:保留必要内存和磁盘空间
VM100:Debian,运行Docker与常用服务
VM110:Windows,仅在需要时启动
CT200:轻量DNS或监控服务
备份:外接硬盘或另一台NAS
CPU可以适度超分,因为多数家庭服务不会同时满载;内存和磁盘则要保守,尤其不要让LVM-thin池被写满。薄置备看起来能创建很大的虚拟磁盘,但底层空间一旦耗尽,客体系统会收到I/O错误,严重时可能损坏文件系统。
网络也提前定下来。我会在路由器里给PVE管理地址做DHCP保留,或者直接规划静态地址,例如192.168.10.20/24。地址不应落进容易被动态分配占用的区间,主机名也尽量稳定,例如pve.home.arpa。
四、真正安装时,最重要的是别选错盘
安装流程并不复杂,谨慎比速度重要。
第一步,从Proxmox官网下载PVE ISO。写作本文时,官方下载页显示PVE 9.2-1,x86版本SHA256为:
4e88fe416df9b527624a175f24c9aa07c714d3332afb1ee3dbf3879573ef2c6c
下载完成后先核对校验值,再用Rufus、balenaEtcher等工具写入U盘。校验值不是形式主义,它至少能帮我排除下载损坏和文件拿错。
第二步,进入BIOS/UEFI,启用虚拟化,确认启动模式和磁盘。暂时不做硬件直通时,不必一上来修改大量内核参数,先把最小系统跑通。
第三步,从U盘启动安装器。这里必须再提醒一次:安装目标盘上的原有数据会被删除。 如果机器里有多块型号相近的硬盘,我会临时断开不参与安装的那几块,减少选错盘的机会。
第四步,填写地区、管理员密码、邮箱、主机名和管理网络。网关通常是家中路由器地址,DNS可以先使用路由器或可信的局域网DNS。管理地址配置错误,会出现“安装成功却打不开网页”的假故障。
完成后,在同一局域网的电脑中访问:
https://192.168.10.20:8006
初次访问可能看到浏览器证书提醒,因为节点使用的是本地证书。确认地址确实属于自己的PVE主机后再继续,不要养成对所有证书警告都直接忽略的习惯。
五、看懂三个对象,PVE就不再陌生
第一次进入网页控制台,左侧的Datacenter、节点、存储和一串VMID很容易让人眼花。实际上,单节点家庭环境先理解三个对象就够了。
第一个是Node,也就是这台物理旧电脑。CPU、内存、网卡和本地磁盘都属于它。
第二个是vmbr0。它通常连接第一块物理网卡,相当于一台软件交换机。虚拟机接入vmbr0后,会像家里另一台独立设备一样出现在局域网里。
第三个是Storage。默认安装常见的local适合放ISO、容器模板和备份文件,local-lvm通常保存VM与容器磁盘。它们名字接近,职责却不同。上传ISO时选错存储,是新手最常见的小困惑之一。
六、什么时候用VM,什么时候用LXC
我的原则不是谁性能更高,而是谁的边界更合适。
Windows、Home Assistant OS、需要独立内核的系统,或者我准备反复折腾的实验环境,我会放进KVM虚拟机。它占用资源更多,但隔离清楚,迁移和恢复也更直观。
DNS、监控、反向代理这类单一Linux服务,可以考虑非特权LXC容器。它启动快、占用小,不过因为共享宿主机内核,权限映射、设备访问和内核模块会比VM更讲究。
至于Docker,我更愿意在一台精简的Debian或Ubuntu VM里运行,而不是直接装在PVE宿主机上。这样Docker的仓库、网络规则和升级不会污染虚拟化节点;哪天容器环境被我改乱,恢复这台VM即可。
我也尽量不在PVE宿主机上运行下载器、网盘脚本、数据库或来源不明的一键安装命令。宿主机越干净,后续升级越轻松。PVE是地基,不是杂物间。
七、装好后的第一个小时,我只做五件事
第一,进入仓库和更新页面,按官方文档确认适合自己的软件源,然后完成系统更新。官方对新ISO安装也建议及时安装最新软件包,命令行方式通常是:
apt update
apt dist-upgrade
第二,上传一个Linux ISO,创建测试VM。磁盘和网卡优先使用VirtIO;客体系统支持时安装QEMU Guest Agent,关机、IP读取和状态管理会更顺畅。
第三,给VM设置自启动顺序,但不把所有服务同时设为开机启动。路由、存储、数据库和应用之间可能有依赖,错峰启动能减少旧硬盘瞬间拥堵。
第四,接入备份目标。可以是外接硬盘、另一台NAS,或者专门的Proxmox Backup Server。重点不是品牌,而是备份不能只和原数据躺在同一块物理盘上。
第五,做一次恢复测试。我会创建一台很小的测试VM,备份、删除、再恢复。只有真正恢复成功,我才把这套路径称为备份。
八、快照很方便,但它不是备份
快照适合升级前留一个短期回退点。它依赖原存储,硬盘坏了,快照通常也会一起消失。备份则应该是独立副本,最好离开原磁盘。
我的最低标准是:重要VM有定时备份;备份落到另一块物理介质;至少偶尔复制一份到另一台设备;每隔一段时间验证能否恢复。家庭环境不一定机械执行企业级流程,但“同盘备份”必须从方案里排除。
管理界面也不要直接映射到公网。端口8006一旦暴露,面对的就不只是家里的浏览器。我更倾向通过WireGuard、Tailscale或路由器提供的VPN先进入家庭网络,再访问PVE。管理员账号使用强密码,条件允许就启用双因素认证,并限制日常使用root账号。
如果要对外提供网站,只转发业务所需端口,并让业务运行在独立VM或容器中。管理平面和服务平面分开,是我给这台“小型云服务器”划出的第一道线。
九、这套方案适合谁,又不适合谁
如果你手里有一台支持虚拟化、内存尚可、空闲功耗能接受的x86旧电脑,又想练习Linux、虚拟网络、Docker、备份和家庭服务,PVE很适合。它让实验有边界,也让旧硬件重新有了明确角色。
但如果机器只有4GB内存、硬盘健康状况很差、网卡只能勉强使用无线连接,或者你的需求只是长期运行一个轻量应用,直接安装Debian可能更省心。为了“像服务器”而增加不必要的层次,反而会让维护变复杂。
我也不会把单台旧电脑包装成高可用云平台。电源坏了会全停,主板坏了要手工迁移,家庭宽带和停电都可能中断服务。PVE能整理资源,却不能消除硬件老化。
真正值得保留的,不是某个漂亮的控制台,而是这套思路:宿主机保持干净,服务彼此隔离,网络不裸奔,数据能恢复,功耗算得清。 做到这些,一台旧电脑才不是被强行续命,而是拥有了第二份工作。
如果你也有一台正在吃灰的旧电脑,不妨先查一次虚拟化支持、内存、磁盘健康和空闲功耗。四项都合格,再决定是否安装,比看完教程就直接重装更稳妥。

相关学习资料