为什么你需要在 NAS 上运行 Proxmox VE?
如果你家里有一台 NAS,大概率它只发挥了 30% 的潜力。群晖、威联通的 DSM 和 DSM 固然好用,但当你想要同时运行 Docker 容器、Windows 虚拟机、软路由、媒体服务器和智能家居中枢时,单一操作系统很快就会力不从心。
Proxmox VE(简称 PVE)是一款基于 Debian 的开源虚拟化平台,它让你把一台 NAS 变成一台”万能服务器”。在 PVE 之上,你可以同时运行多个虚拟机和容器,每个系统各司其职,互不干扰。这就是所谓的 HomeLab——用消费级硬件搭建一个功能完整的小型数据中心。
本文将带你从零开始,完成 Proxmox VE 的安装、配置和常用服务部署。全程基于实际操作经验,不玩虚的。
硬件准备:什么配置够用?
最低配置(入门级)
- CPU:Intel 第 8 代及以上(支持 VT-d)或 AMD Ryzen 2000 系列及以上(支持 AMD-V)
- 内存:16GB DDR4(8GB 给 PVE 宿主 + 8GB 给虚拟机)
- 系统盘:128GB SSD(NVMe 优先)
- 存储:2TB HDD(用于数据盘)
- 网卡:千兆以太网(Intel i211/i350 芯片优先)
推荐配置(舒适级)
- CPU:Intel 第 12 代 i5 或 AMD Ryzen 5 5600G
- 内存:64GB DDR4(ECC 更佳)
- 系统盘:512GB NVMe SSD(推荐 Samsung 980 PRO 或同级)
- 存储:4TB × 2 HDD(组建 ZFS RAID 1)
- 网卡:2.5GbE 或 Intel X520 万兆网卡(二手性价比极高)
- 电源:300W 以上 80Plus 铜牌
关键注意事项
VT-d / AMD-Vi 必须开启:这是硬件直通的前提条件。在 BIOS 中找到 Intel VT-d 或 AMD IOMMU 选项并启用。如果你用的是笔记本或迷你主机,部分厂商会在 BIOS 中隐藏此选项,需要刷修改版 BIOS 才能解锁。
网卡选择:避免使用 Realtek 网卡芯片,PVE 对 Realtek 的支持不够稳定。Intel 网卡是首选,二手 Intel X520-DA2 万兆网卡仅需 50 元左右,性价比极高。
第一步:制作安装 U 盘
下载 Proxmox VE ISO
前往 Proxmox 官方下载页面,获取最新稳定版 ISO 镜像。截至 2026 年 5 月,最新版本为 Proxmox VE 8.2。
写入 U 盘
推荐使用 Rufus(Windows)或 balenaEtcher(跨平台)将 ISO 写入 U 盘。注意选择 DD 模式写入,而非默认的 ISO 模式,否则可能导致启动失败。
Rufus 设置要点:
- 镜像模式选择:DD 模式
- 分区类型:GPT
- 目标系统类型:UEFI(非 CSM)
写入完成后,U 盘即成为可启动的 PVE 安装介质。
第二步:安装 Proxmox VE
BIOS 设置
插入 U 盘,启动目标机器,进入 BIOS 进行以下设置:
- 启动模式:设置为 UEFI(禁用 CSM/Legacy)
- VT-x / SVM:启用 CPU 虚拟化
- VT-d / AMD-Vi:启用 IOMMU(硬件直通必需)
- Secure Boot:建议禁用(避免驱动签名问题)
- 启动顺序:U 盘设为第一启动项
安装过程
从 U 盘启动后,选择 Install Proxmox VE,按照向导操作:
- 协议许可:阅读并接受 AGPL 许可协议
- 目标磁盘:选择系统盘(SSD),数据盘不要在此步骤选择
- 地区设置:Time Zone 选择 Asia/Shanghai,Keyboard 选择 English (US)
- 网络配置
- Hostname:建议设置为
pve.local或homelab.local - IP 地址:设置静态 IP(如
192.168.x.x/24),避免 DHCP 导致 IP 变化 - Gateway 和 DNS:填写路由器的 IP 地址
- Hostname:建议设置为
- 管理员账户:设置 root 密码(务必使用强密码)
- 确认安装:检查所有设置,点击 Install
安装完成
安装完成后重启,拔掉 U 盘。在浏览器中访问 https://你的IP:8006,即可进入 PVE Web 管理界面。
⚠️ 重要提示:首次访问会提示证书不安全,这是正常现象。PVE 使用自签名证书,点击”高级 → 继续访问”即可。生产环境建议后续配置 Let’s Encrypt 证书。
第三步:基础配置优化
移除企业级订阅提示
免费版 PVE 每次登录都会提示”没有有效订阅”,可以通过以下命令移除:
# 编辑 PVE 管理页面 JS 文件
nano /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
# 找到以下行(约在第 550 行):
# Ext.Msg.show({
# title: gettext('No valid subscription'),
# ...
# 将 Ext.Msg.show 改为 Ext.Msg.noshow
# 或者直接执行一行命令替换:
sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i.bak "s/if (res === null || res === undefined || \!res || res\["data"]\["level"\])//g" /usr/share/perl5/PVE/API2/Subscription.pm
修改后刷新浏览器即可。
配置 No-Subscription 仓库
PVE 免费版不需要企业级订阅仓库,切换到 No-Subscription 仓库以获取免费更新:
# 移除企业仓库
rm /etc/apt/sources.list.d/pve-enterprise.list
# 添加 No-Subscription 仓库
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
# 添加 Ceph 仓库(可选,用于分布式存储)
echo "deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list
# 更新系统
apt update && apt full-upgrade -y
配置 ZFS 存储(推荐)
如果你有第二块硬盘用于数据存储,强烈建议配置 ZFS 文件系统:
# 在 PVE Web 界面中操作:
# 数据中心 → 存储 → 添加 → ZFS
# 或者命令行创建 ZFS 池:
zpool create -f -o ashift=12 tank /dev/sdb
# 然后在 PVE 界面中添加 ZFS 存储:
# 存储 → 添加 → ZFS
# ID: tank
# ZFS pool: tank
# 内容: 镜像、容器、磁盘
ZFS 的优势在于数据完整性校验、快照功能和内置压缩。对于家庭 NAS 场景,ZFS 是最优选择。
配置网络桥接
PVE 默认创建 vmbr0 网桥,但如果你的机器有多个网卡,需要手动配置:
# 编辑网络配置
nano /etc/network/interfaces
# 示例:双网卡配置
auto vmbr0
iface vmbr0 inet static
address 192.168.x.x/24
gateway 192.168.x.1
bridge-ports enp3s0
bridge-stp off
bridge-fd 0
# 第二个网卡用于虚拟机(不做路由)
auto vmbr1
iface vmbr1 inet manual
bridge-ports enp4s0
bridge-stp off
bridge-fd 0
修改后执行 systemctl restart networking 使配置生效。
第四步:创建第一个虚拟机
上传 ISO 镜像
在 PVE Web 界面中:
- 选择 local 存储 → ISO 镜像 → 上传
- 上传你需要的操作系统 ISO(如 Ubuntu Server、Windows 11、OpenWrt 等)
创建 Ubuntu Server 虚拟机(示例)
以 Ubuntu 24.04 LTS 为例:
- 创建 VM:右上角”创建 VM”
- 基本设置:
- VM ID:100(自动分配或手动指定)
- 名称:ubuntu-server
- 标签:linux-server
- 操作系统:
- ISO 镜像:选择刚上传的 Ubuntu 24.04 ISO
- 类型:Linux
- 版本:5.4 – 2.6 Kernel
- 系统:
- 图形卡:Default(或 VMware compatible)
- SCSI 控制器:VirtIO SCSI
- BIOS:SeaBIOS(或 OVMF/UEFI 用于 Windows)
- 磁盘:
- 磁盘大小:32GB(SSD 存储)
- SSD 模拟:勾选
- IO 线程:勾选(提升性能)
- CPU:
- 插槽:1
- 核心:4
- 类型:host(获得最佳性能)
- 内存:4096 MB(4GB)
- 网络:vmbr0,VirtIO(半虚拟化驱动,性能最佳)
- 确认:检查设置后点击”完成”
安装 Ubuntu
启动虚拟机,打开 Console 窗口,按照 Ubuntu 安装向导操作。建议选择”Minimal VM”安装以节省资源。
第五步:部署核心服务
1. OpenWrt 软路由(推荐)
将 PVE 作为家庭网络的核心,用 OpenWrt 虚拟机替代传统路由器:
- 配置:2 个网卡(WAN 接光猫/LAN,LAN 接交换机)
- 资源:1 核 CPU + 512MB 内存
- ISO 下载:openwrt.org 下载 x86-64 的 ext4 镜像
OpenWrt 安装到虚拟机的方法:
# 下载 OpenWrt x86-64 镜像
wget https://downloads.openwrt.org/releases/23.05.3/targets/x86/64/openwrt-23.05.3-x86-64-generic-ext4-combined.img.gz
# 解压
gunzip openwrt-23.05.3-x86-64-generic-ext4-combined.img.gz
# 导入为 PVE 磁盘
qm importdisk 101 openwrt-23.05.3-x86-64-generic-ext4-combined.img local-lvm
# 在 PVE 界面中将导入的磁盘附加到 VM 101 的 SCSI 控制器
# 设置启动顺序:SCSI 0 为第一启动项
2. TrueNAS Scale(NAS 系统)
如果你希望在 PVE 之上运行一个专业的 NAS 系统:
- 配置:4 核 CPU + 16GB 内存 + 直通 SATA 控制器
- 关键操作:需要直通 SATA 控制器或 HBA 卡给 TrueNAS VM
直通 SATA 控制器的步骤:
# 1. 启用 IOMMU
# 编辑 /etc/default/grub,在 GRUB_CMDLINE_LINUX_DEFAULT 中添加:
# intel_iommu=on iommu=pt
# 或 AMD 平台:
# amd_iommu=on iommu=pt
# 2. 更新 GRUB
update-grub
# 3. 加载 VFIO 模块
echo "vfio" >> /etc/modules
echo "vfio_iommu_type1" >> /etc/modules
echo "vfio_pci" >> /etc/modules
echo "vfio_virqfd" >> /etc/modules
# 4. 查找 SATA 控制器的 PCI 地址
lspci -nn | grep -i sata
# 输出示例:03:00.0 SATA controller [0106]: Advanced Micro Devices...
# 5. 在 PVE 界面中:虚拟机 → 硬件 → 添加 → PCI 设备
# 选择你的 SATA 控制器,勾选"所有功能"和"ROM 屏障"
3. Docker 容器服务
在 Ubuntu 虚拟机中部署 Docker,运行各种容器化服务:
# 一键安装 Docker
curl -fsSL https://get.docker.com | bash
# 安装 Docker Compose
apt install docker-compose-plugin -y
# 配置 Docker 自启动
systemctl enable docker
# 常用服务组合(docker-compose.yml 示例):
# - Home Assistant(智能家居)
# - Jellyfin(媒体服务器)
# - Nextcloud(私有云盘)
# - Nginx Proxy Manager(反向代理)
# - Portainer(Docker 管理面板)
一个典型的 docker-compose 配置:
version: '3.8'
services:
homeassistant:
container_name: home-assistant
image: ghcr.io/home-assistant/home-assistant:stable
restart: unless-stopped
network_mode: host
volumes:
- ./homeassistant:/config
- /etc/localtime:/etc/localtime:ro
jellyfin:
container_name: jellyfin
image: jellyfin/jellyfin:latest
restart: unless-stopped
ports:
- "8096:8096"
- "8920:8920"
volumes:
- ./jellyfin/config:/config
- ./jellyfin/cache:/cache
- /mnt/media:/media:ro
devices:
- /dev/dri:/dev/dri # GPU 硬件加速
nginx-proxy-manager:
container_name: npm
image: jc21/nginx-proxy-manager:latest
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "81:81"
volumes:
- ./npm/data:/data
- ./npm/letsencrypt:/etc/letsencrypt
第六步:硬件直通(PCIe Passthrough)
硬件直通是 PVE 最强大的功能之一。通过直通,虚拟机可以直接访问物理硬件,获得接近原生的性能。
直通 NVIDIA GPU(用于 AI 推理或视频转码)
# 1. 确认 GPU 在系统中
lspci | grep -i nvidia
# 2. 获取 GPU 的 PCI 地址和 Vendor ID
lspci -nn | grep -i nvidia
# 输出示例:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation...
# 3. 绑定 GPU 到 VFIO 驱动
echo "options vfio-pci ids=10de:xxxx disable_vga=1" > /etc/modprobe.d/vfio.conf
# 4. 在 PVE 界面中:虚拟机 → 硬件 → 添加 → PCI 设备
# 选择你的 NVIDIA GPU,勾选"所有功能"、"ROM 屏障"和"主 GPU"(如需要)
# 5. 在虚拟机中安装 NVIDIA 驱动
# Ubuntu 中:
apt install linux-headers-$(uname -r) build-essential
# 然后下载 NVIDIA 官方驱动.run 文件安装
直通 USB 控制器(用于 Zigbee/Z-Wave 智能家居棒)
最简单的方式是在 PVE 界面中:虚拟机 → 硬件 → 添加 → USB 设备,直接选择对应的 USB 设备即可。
第七步:备份与恢复策略
PVE 内置备份(VZDump)
PVE 自带备份工具 VZDump,支持完整虚拟机备份:
# 在 PVE 界面中配置备份:
# 数据中心 → 备份 → 添加
# 推荐配置:
# 存储:选择备份存储位置(建议外接 USB 硬盘或 NFS 共享)
# 模式:快照(Snapshot,虚拟机不中断)
# 压缩:LZO(速度快)或 ZSTD(压缩率高)
# 排除的磁盘:数据盘可以不备份(节省空间)
# 手动备份单个 VM:
vzdump 100 --mode snapshot --compress lzo
# 备份文件位置:/var/lib/vz/dump/
定时备份策略
建议配置自动备份计划:
- 关键 VM(路由器、DNS):每日备份
- 一般 VM(Web 服务器、数据库):每周备份
- 测试 VM:不备份或手动备份
异地备份
通过 NFS 或 SMB 将备份文件同步到外部存储:
# 挂载 NFS 共享作为备份存储
mkdir -p /mnt/pve/nfs-backup
mount -t nfs 192.168.x.x:/volume1/pve-backup /mnt/pve-backup
# 在 PVE 界面中添加 NFS 存储:
# 存储 → 添加 → NFS
# ID: nfs-backup
# 服务器: 192.168.x.x
# 导出路径: /volume1/pve-backup
# 内容: 备份
常见问题排查
问题 1:虚拟机无法启动,报错 “kvm permission denied”
原因:CPU 虚拟化未启用或 IOMMU 未正确配置。
解决:进入 BIOS 启用 VT-x/VT-d 或 SVM/AMD-V,确认 GRUB 中 IOMMU 参数正确。
问题 2:网络不通,虚拟机无法获取 IP
原因:网桥配置错误或防火墙规则阻止 DHCP。
解决:检查 /etc/network/interfaces 中 vmbr0 的配置,确认 bridge-ports 指向正确的物理网卡。使用 brctl show 查看网桥状态。
问题 3:ZFS 池导入失败
原因:磁盘被其他系统占用或 ZFS 版本不兼容。
解决:zpool import -f tank 强制导入。如果仍然失败,检查磁盘 SMART 状态确认硬件健康。
问题 4:硬件直通后宿主机无法使用设备
原因:设备被 VFIO 驱动独占。
解决:这是预期行为。直通后设备只能由虚拟机使用。如需宿主机也使用,考虑使用 GPU 共享方案(如 NVIDIA vGPU 或 GPU 虚拟化)。
总结:HomeLab 的最佳实践
经过几个月的实践,我总结出以下 HomeLab 最佳实践:
- 系统盘和数据盘分离:PVE 和虚拟机系统盘用 SSD,数据存储用 HDD + ZFS RAID
- 网络规划先行:规划好 VLAN 和子网,避免后期网络混乱
- 备份重于一切:再好的 RAID 也不如定期备份可靠
- 监控不可少:部署 Prometheus + Grafana 监控硬件状态和虚拟机性能
- 文档化:记录每个虚拟机的用途、配置和 IP 地址,避免”遗忘型技术债”
- 功耗控制:选择低功耗硬件,24/7 运行的电费不容忽视
- 逐步扩展:不要一开始就追求完美架构,从最小可用配置开始,逐步迭代
Proxmox VE 让一台普通的 NAS 变成了功能强大的家庭数据中心。从软路由到智能家居,从媒体服务器到开发测试环境,一切尽在掌控。开始搭建你的 HomeLab 吧,这绝对是你今年最值得投入的技术项目。
虾米生活分享

评论前必须登录!
注册