2026 Proxmox VE 虚拟化入门:一台物理机跑满全家桶
你有一台高性能的 NUC 或者旧电脑,想在上面跑 Immich、Jellyfin、青龙面板、Ollama、AdGuard Home……全部塞进同一个系统里直接装 Docker 当然也能用。但这里有一个很实际的问题:所有服务共享一个操作系统环境。Docker 出了个 Bug 导致所有容器挂掉?不小心手抖执行了危险命令?硬盘写入满了导致系统崩溃?不管哪种情况,所有服务同时停摆。
你可能想说”我小心一点不就完了”,但长期维护过家庭服务器的人都知道——总有你没想到的意外。系统和 Docker 定期的内核更新、存储空间的增长、某个容器的日志把磁盘塞满——这些问题总会在你出差或者睡觉的时候发生。
Proxmox VE(简称 PVE)就是用来解决这个问题的。它是一个基于 Debian 和 KVM 的裸金属虚拟化平台,让你在一台物理机上运行多个完全隔离的虚拟机。每个虚拟机拥有自己独立的操作系统、独立的资源分配和独立的文件系统——一个虚拟机因为各种原因崩了,完全不影响其他虚拟机继续运行。而且它完全免费开源,社区活跃度在家庭实验室领域排第一。
部署好之后的一个常见架构是跑三个虚拟机:一号虚拟机跑日常 Docker 服务(Immich 存照片、Jellyfin 看影视、青龙做签到),二号虚拟机做开发测试环境随便折腾,三号虚拟机装 Windows 应急使用。各自独立互不干扰,一台物理机跑满全家桶。
一、前置条件
- 一台 x86 物理机。Intel 或 AMD 都行,建议至少 16GB 内存、256GB 硬盘。8GB 内存也能跑但很紧张,建议不要同时开太多虚拟机。
- 一个 U 盘(8GB 以上),用来制作 PVE 安装盘。
- BIOS 里开启虚拟化。Intel 的 CPU 需要开启 VT-x 和 VT-d,AMD 的 CPU 需要开启 SVM 和 AMD-Vi。这个是虚拟机硬件直通的基础,大部分新机器默认是开启的。不确定的话,开机按 F2 或 Del 进 BIOS 设置界面,在 CPU 配置或高级菜单里找一下。
如果你手头没有额外电脑:PVE 的 Web 管理界面需要在另一台设备的浏览器上访问。手机浏览器也能操作应急,但建议用电脑或平板,操作起来方便得多。
二、安装 PVE
第一步,去官网 proxmox.com 下载 PVE 8.x 的 ISO 镜像。目前最新稳定版是 PVE 8.2,基于 Debian 12。建议下载这个版本。
第二步,用 Rufus(Windows 用户)或者 Ventoy(跨平台工具)把 ISO 写入 U 盘。Ventoy 的好处是不用反复格式化,把 ISO 文件直接拖进 U 盘就能启动。
第三步,插上 U 盘重启电脑,从 U 盘启动。引导菜单出现后选第一项开始安装。安装过程基本跟着向导走就行,有几个关键选择需要留意:
选择目标硬盘这一步要小心——安装过程会格式化整块硬盘,只保留 PVE 系统。如果你的旧电脑上还有重要数据,先备份到其他地方再动手。
设置 root 密码——这个密码是 PVE 系统管理员的最高权限凭证。建议用密码管理器生成一个复杂密码,抄下来贴到机器机箱上。忘了的话只能重装系统。
配置网络时填对信息——PVE 需要一个固定的局域网 IP。手动填写你局域网内的一个空闲地址,比如大多数家用路由器都在 192.168.1.x 网段,你可以给 PVE 分配 192.168.1.100。子网掩码通常填 255.255.255.0,网关填你路由器的地址(一般是 192.168.1.1)。DNS 推荐填 223.5.5.5(阿里 DNS)或者 114.114.114.114。
等进度条走完,系统提示重启时拔掉 U 盘,重启。
三、登录管理界面
安装完成后,用另一台电脑打开浏览器,访问 https://你的PVE的IP地址:8006。注意是 HTTPS 协议,默认用的是 8006 端口,不是常见的 443 或 80。
因为 PVE 使用的是自签名证书,浏览器会提示”连接不安全”或者”您的连接不是私密连接”。这是正常的——每个 PVE 安装都会自己生成一个证书,不是来自受信任的证书颁发机构。点”高级”→“继续前往”就可以进去了。
登录页面用 root 账号和你设置的密码登录。你会看到 PVE 的管理界面——左边是服务器列表和存储节点,中间是当前选中的资源和操作面板,右边是日志和控制台。
如果想在外面远程管理 PVE,建议配合 Tailscale 组网使用——PVE 的管理端口 8006 不暴露到公网,通过 Tailscale 的虚拟 IP 访问更安全。具体配置看Tailscale 组网教程。
四、创建第一台虚拟机
登录后第一步:上传你需要的操作系统 ISO 文件。
左上角点击 local (pve) → 展开后点”ISO 镜像”→ 上传。推荐下载 Debian 12 或者 Ubuntu Server 24.04 LTS 的 ISO——这两个系统在 PVE 上跑 Docker 是最成熟的选择,文档和社区支持都很完善。
上传完成后开始创建虚拟机——点击右上角的蓝色「创建虚拟机」按钮:
| 配置项 | 推荐值 | 为什么这么设 |
|---|---|---|
| 名称 | 比如 docker-host | 取个好认的名字,虚拟机多了你就知道这有多重要 |
| ISO 镜像 | 选择刚上传的 | 确保选对了镜像文件 |
| 系统 | 默认设置 | 大部分场景不需要改 |
| 磁盘 | 至少 32GB,推荐 64GB | 系统用 20GB,Docker 镜像和容器数据留 10GB 以上 |
| CPU | 至少 2 核,类型选 host | ”host” 模式让虚拟机直接使用物理机 CPU 的全部指令集 |
| 内存 | 至少 4GB,推荐 8GB | 跑 Docker 服务,4GB 有点紧但够用 |
| 网络 | 桥接模式 vmbr0 | 虚拟机直接从路由器获取 IP,和局域网其他设备平级 |
创建完成后,选中虚拟机,点绿色的「启动」按钮。
五、在虚拟机里装系统和 Docker
虚拟机启动后,在控制台窗口里你会看到操作系统安装画面。按照正常的步骤安装系统,设置好用户名和密码。
系统装好后登录进去,更新软件源然后安装 Docker:
sudo apt update && sudo apt upgrade -ysudo apt install docker.io docker-compose-plugin -y验证 Docker 是否正常工作和当前版本:
sudo docker info | grep "Server Version"# 正常输出类似 Server Version: 26.x.x然后你就可以像在自己电脑上一样用 Docker Compose 部署各种服务了。你把所有容器的 docker-compose.yml 和挂载目录放在虚拟机里,独立的文件系统让操作起来很安心——即使在虚拟机里搞坏了什么,物理机和其他虚拟机也不受影响。
六、备份与恢复
PVE 最实用的功能是一键备份整个虚拟机。选中某个虚拟机 → 点「备份」→ 选存储位置 → 点「立即备份」。一个完整的系统镜像就保存好了。
但手动备份总是会忘。建议设置定时自动备份:
- 点击左侧树形结构顶部的「数据中心」
- 切换到「备份」选项卡 → 点「添加」
- 节点选你的 PVE 主机
- 存储选
local或者你挂载的外部存储 - 计划填
0 3 * * *——这是 cron 表达式,代表每天凌晨 3 点执行 - 保留填
7——只保留最近 7 份备份,多余的自动清理 - 压缩选 ZSTD——压缩率高而且解压速度快
- 选上你要备份的虚拟机
设置好之后就不用手动备份了。服务器跑了一年,某天硬盘故障了——买块新硬盘重装 PVE,从备份文件恢复虚拟机,几分钟后所有服务全部回到故障前的状态。对比一下”Docker 容器全挂一个个重建”的场景,时间差几十倍。
七、LXC 容器 vs 虚拟机
PVE 除了虚拟机还支持 LXC 容器。两者的区别在于:
| 对比维度 | 虚拟机 (VM) | LXC 容器 (CT) |
|---|---|---|
| 隔离程度 | 完全隔离,各自有独立内核 | 共享宿主机内核 |
| 性能损耗 | 较小,KVM 接近原生 | 极小,几乎无性能损失 |
| 灵活性 | 可以装 Windows、Linux 等任何系统 | 只能运行 Linux |
| 备份恢复 | 支持完整快照 | 支持快照且体积更小 |
| 适用场景 | 跑 Docker 全家桶 | 跑单一 Linux 服务 |
对新手来说怎么选? 日常跑 Docker 服务用虚拟机最省心,独立操作系统让你想重置就重置。LXC 适合跑 AdGuard Home、Pi-hole 这类单一服务的场景,占用资源极少。建议先只玩虚拟机,熟悉了再研究 LXC。
八、GPU 直通(选读)
如果你要在虚拟机上跑 Jellyfin 做硬件转码,默认情况下虚拟机不能直接使用物理机的显卡或集成显卡。需要通过 GPU 直通把显卡分配给指定虚拟机独占使用。
操作分几步走:
首先,确认 BIOS 里 VT-d(Intel)或 AMD-Vi(AMD)已经开启。这一步之前说过了,但确实很重要——不开启的话后面所有操作都无效。
然后,编辑 PVE 的启动参数文件:
sudo nano /etc/default/grub# 找到这行:# GRUB_CMDLINE_LINUX_DEFAULT="quiet"# Intel CPU 改成:GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"# AMD CPU 改成:GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"保存后更新引导配置并重启:
sudo update-grubsudo reboot重启后登录 PVE,检查 IOMMU 是否成功启用:
dmesg | grep -i iommu# 有正常输出说明成功了最后在 PVE 界面上,选中目标虚拟机 → 硬件 → 添加 → PCI 设备 → 从列表中选择你的 GPU → 勾选”所有功能”(All Functions)和 “ROM-Bar”。
GPU 直通成功后在虚拟机的 Jellyfin 里启用硬件加速,选择对应的视频编码器即可。
但说实话: 新手建议先用 CPU 软解跑着。很多家用场景(同一时间一两个人看片)CPU 软解完全够用,先别碰 GPU 直通这个相对复杂的配置。等你对 PVE 操作熟练了再回来优化也不迟。
九、常见问题
Q:登录管理页面提示连接不安全怎么办? 不是安全问题,是自签名证书导致的浏览器提示。点”高级”→“继续前往”就能正常登录。如果想彻底消除这个提示,可以在 PVE 的数据中心 → ACME 里配置 Let’s Encrypt 申请正式证书,但不是必须的步骤。
Q:虚拟机控制台一直黑屏? 虚拟机启动需要几秒到几十秒,等一会看看。如果长时间没反应,检查虚拟机的显卡类型——选 SPICE 或者 VGA 兼容性最好,不要选 VMware 兼容。
Q:备份文件太大怎么办? 备份时在选项里开启压缩,选 ZSTD 或 Gzip 都能明显缩小备份体积。另外保留份数设成 3-5 份就够用,不需要保留一个月的历史备份。
Q:物理机只有一个硬盘需要做 RAID 吗? 个人使用不用强行上 RAID。重要的是做好备份——把 PVE 的备份文件定期拷贝到另一台设备(NAS、另一台电脑的共享文件夹、云存储都可以)。单盘坏了好歹有备份恢复。
延伸阅读
- Docker 换源避坑指南 — 部署前的必备准备
- Nginx Proxy Manager 反代面板 — 统一管理所有服务的访问入口
- Vaultwarden 自建密码管理器 — 替代 Bitwarden
部署完 PVE,三四台虚拟机各司其职:一台跑 Docker 做主力服务器、一台做开发测试随便折腾、一台装 Windows 应急用。如果需要把虚拟机里的服务暴露到公网,用 Nginx Proxy Manager 统一管理域名和 HTTPS 证书,参考NPM 部署教程。一台物理机,三四个独立系统,互不干扰,备份一键恢复。这可能是家庭服务器最稳定的架构了。
推荐指数:⭐⭐⭐⭐⭐
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!