🐧 PVE(Proxmox VE)安装详细教程
从零开始搭建专业级虚拟化平台 · Build Professional Virtualization Platform from Scratch
📋 目录 / Table of Contents
一、PVE 简介
1.1 什么是 PVE
Proxmox Virtual Environment(PVE) 是一款基于 Debian Linux 的开源虚拟化管理平台,集成了 KVM 虚拟机 和 LXC 容器,并提供统一的 Web 管理界面。
1.2 PVE 的核心优势
- 🆓 完全免费开源:基于 AGPL v3 协议,企业级功能免费使用
- 🖥️ 双虚拟化技术:同时支持 KVM 完整虚拟化和 LXC 轻量级容器
- 🌐 Web 管理界面:直观易用,无需记忆复杂命令
- 📦 统一管理:一个平台管理虚拟机、容器、存储、网络
- 🔄 集群支持:多节点集群,实现高可用和负载均衡
- 💾 多种存储:支持本地存储、NFS、iSCSI、Ceph、ZFS 等
- 🔁 完善备份:支持完整、增量、快照备份,可定时自动
- 🏢 企业级特性:HA、Live Migration、Firewall、ACL 权限
1.3 PVE vs 其他虚拟化方案
| 特性 | PVE | VMware ESXi | Hyper-V |
|---|---|---|---|
| 授权费用 | 完全免费 | 商业付费 | Windows 授权 |
| Web 管理 | ✅ 内置 | ✅ vCenter | ✅ 需配置 |
| 容器支持 | ✅ LXC | ❌ | ❌ |
| 集群 HA | ✅ 免费 | ✅ 付费 | ✅ 付费 |
| 学习曲线 | 中等 | 较陡 | 中等 |
1.4 适用场景
- 家庭实验室 / 软路由 + 虚拟化
- 小型企业服务器整合
- 开发测试环境
- 学习虚拟化和 Linux
- 私有云平台搭建
- 替代 VMware
二、硬件要求与准备
2.1 最低硬件要求
| 配置项 | 最低要求 | 推荐配置(家用) | 推荐配置(企业) |
|---|---|---|---|
| CPU | 支持 VT-x/AMD-V 的 64 位 | Intel i5 / AMD Ryzen 5+ | Xeon / EPYC 多核 |
| 内存 | 2 GB | 16 GB+ | 64 GB+ ECC |
| 系统盘 | 32 GB | 128 GB SSD | 256 GB NVMe SSD |
| 存储 | 本地存储 | 多盘位 + SSD 缓存 | RAID / ZFS / Ceph |
| 网卡 | 1 个千兆 | 2 个千兆(管理 + 数据) | 10G 光口 + 万兆交换机 |
💡 提示:PVE 本身占用资源很少(约 1GB 内存),剩余资源都用于虚拟机。但要确保 CPU 支持硬件虚拟化(Intel VT-x 或 AMD-V),并在 BIOS 中启用。
2.2 推荐硬件配置(家用 ALL IN ONE)
如果你打算打造一台集软路由 + 家庭服务器 + 影音库 + 实验室于一体的设备:
- CPU:Intel N100 / N305 / i5-12400 / AMD 5600G(低功耗高性能)
- 内存:16GB – 64GB DDR4/DDR5
- 主板:至少 4 个 SATA 接口 + M.2 NVMe 插槽
- 系统盘:128GB NVMe SSD(装 PVE)
- 数据盘:2-4 块 4TB+ HDD(组 RAID/ZFS)
- 网卡:至少 2 个千兆口(推荐 Intel i350/i210)
- 电源:足额 80PLUS 认证
- 机箱:MATX/ATX,多盘位
2.3 推荐品牌机型参考
| 类型 | 推荐型号 | 特点 |
|---|---|---|
| 迷你主机 | Intel NUC、零刻 SER7、铭凡 UM580 | 低功耗、静音 |
| 准系统 | 联想 M720q、戴尔 OptiPlex 3060/5060 | 性价比高、扩展性好 |
| NAS 改装 | 群晖、威联通 DIY NAS | 多盘位、低功耗 |
| 二手服务器 | 戴尔 R730、HP DL380 Gen9 | 性能强、噪音大、功耗高 |
| 自攒 | MATX 主板 + 多盘位机箱 | 灵活定制 |
2.4 检查 CPU 是否支持虚拟化
在已有的 Linux/Windows 系统中执行:
# Linux
grep -E '(vmx|svm)' /proc/cpuinfo
# 有输出(vmx = Intel, svm = AMD)表示支持
# Windows PowerShell
systeminfo | findstr "虚拟化"
三、制作启动 U 盘
3.1 下载 PVE ISO 镜像
前往 PVE 官网下载最新 ISO:
- proxmox.com/en/downloads
- 最新版本:Proxmox VE 8.x(基于 Debian 12 Bookworm)
- 国内镜像:可通过清华大学镜像站下载加速
💡 下载建议:使用 BT/种子下载通常比 HTTP 快,文件约 1.2GB。
3.2 制作 U 盘启动盘(Windows)
推荐工具:Rufus(免费、轻量)
- 下载并安装 Rufus
- 插入 U 盘(建议 8GB+)
- 打开 Rufus:
- 设备:选择你的 U 盘
- 引导类型:选择下载的 PVE ISO
- 分区类型:GPT(UEFI)或 MBR(Legacy)
- 文件系统:FAT32
- 点击「开始」→ 等待完成
3.3 制作 U 盘启动盘(macOS)
# 使用 balenaEtcher 或 dd 命令
# 查看 U 盘设备
diskutil list
# 卸载 U 盘(假设是 disk2)
diskutil unmountDisk /dev/disk2
# 写入镜像
sudo dd if=proxmox-ve_8.x.iso of=/dev/rdisk2 bs=4m status=progress
# 弹出
diskutil eject /dev/disk2
3.4 制作 U 盘启动盘(Linux)
# 查看 U 盘设备
lsblk
# 卸载 U 盘
sudo umount /dev/sdX*
# 写入镜像(假设 U 盘是 /dev/sdb)
sudo dd if=proxmox-ve_8.x.iso of=/dev/sdb bs=4M status=progress oflag=sync
# 同步并弹出
sync
sudo eject /dev/sdb
四、BIOS 设置
4.1 进入 BIOS
开机时按下对应键进入 BIOS 设置:
| 品牌 | 按键 |
|---|---|
| 华硕 ASUS | DEL / F2 |
| 技嘉 GIGABYTE | DEL / F2 |
| 微星 MSI | DEL |
| 华擎 ASRock | DEL / F2 |
| 联想 | F1 / F2 |
| 戴尔 | F2 |
| 惠普 | ESC / F10 |
4.2 必须启用的 BIOS 选项
1启用虚拟化技术:
- Intel CPU:
Intel Virtualization Technology (VT-x)→ Enabled - AMD CPU:
SVM Mode→ Enabled
2启用 VT-d / IOMMU(推荐):
- Intel:
VT-d→ Enabled - AMD:
IOMMU→ Enabled - 作用:支持 PCI 设备直通
3设置启动模式:
Boot Mode→ UEFI(推荐)或 LegacySecure Boot→ Disabled(PVE 安装需关闭)
4调整启动顺序:
- 将 U 盘设置为第一启动项
5其他推荐设置:
- 关闭
Fast Boot(快速启动) - 关闭
CSM Support(如果用纯 UEFI) - 启用
Above 4G Decoding(大内存支持)
⚠️ 注意:不同主板 BIOS 界面差异较大,找不到选项时请查阅主板说明书。
五、PVE 安装步骤
5.1 启动安装程序
- 插入制作好的 PVE 启动 U 盘
- 开机,按 F12/F8/ESC 等选择启动菜单
- 选择 U 盘启动
- 看到 PVE 安装欢迎界面,点击「Install Proxmox VE」
5.2 安装向导详解
1同意协议:点击「I agree」
2选择目标硬盘:
- 选择要安装 PVE 的硬盘(通常是 SSD)
- 高级选项:可自定义文件系统(
ext4、xfs、zfs、btrfs)
3设置地区和时区:
- Country:China
- Timezone:Asia/Shanghai
- Keyboard:U.S. English(推荐)
4设置密码和邮箱:
- Password:root 用户的密码(务必记住!)
- Email:管理员邮箱(用于接收通知)
5网络配置(重要!):
- Management Interface:选择管理网卡(通常是有线网卡)
- Hostname:
pve.yourdomain.com或自定义(如pve.local) - IP Address:
192.168.1.100/24(根据你的局域网调整) - Gateway:
192.168.1.1(你的路由器 IP) - DNS Server:
223.5.5.5或192.168.1.1
6确认安装:检查所有配置,点击「Install」
7等待安装完成:约 5-10 分钟,安装完成后会自动重启
5.3 首次启动
重启后,拔掉 U 盘,系统会进入 PVE 命令行界面:
Welcome to the Proxmox Virtual Environment. Please use your browser to
connect to the web interface at:
https://192.168.1.100:8006
Login: root
Password: ********
✅ 安装完成!记下显示的 IP 地址和端口(8006),下一步我们将通过 Web 界面管理 PVE。
六、网络配置详解
6.1 默认网络结构
PVE 安装后默认会创建一个 Linux Bridge(vmbr0),相当于一个虚拟交换机:
# 默认网络配置 /etc/network/interfaces
auto lo
iface lo inet loopback
auto eno1
iface eno1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
6.2 重要概念:Linux Bridge
vmbr0:默认的虚拟交换机,连接物理网卡和虚拟机- 虚拟机通过
vmbr0接入局域网 - 每块物理网卡可以创建一个 bridge
6.3 进阶网络拓扑
方案一:单网卡(最简单)
# 适用:家庭、小型环境
# 物理网卡 eno1 → vmbr0 → 虚拟机
auto eno1
iface eno1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
方案二:双网卡(管理 + 业务分离)
# 适用:家用 AIO(软路由 + 其他服务)
# eno1 = WAN(连接光猫/上级路由)
# eno2 = LAN(连接交换机/AP)
# vmbr0 = WAN 桥
# vmbr1 = LAN 桥
auto eno1
iface eno1 inet manual
auto eno2
iface eno2 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.2/24
gateway 192.168.1.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
auto vmbr1
iface vmbr1 inet static
address 10.0.0.1/24
bridge-ports eno2
bridge-stp off
bridge-fd 0
6.4 修改网络配置
# 编辑网络配置
nano /etc/network/interfaces
# 应用配置
ifreload -a
# 重启网络服务
systemctl restart networking
# 查看网络状态
ip addr show
brctl show
⚠️ 警告:错误的网络配置会导致失联!修改前请确保有物理访问能力(如 IPMI、显示器、键盘)或备份原配置。
七、存储配置
7.1 PVE 存储类型
| 类型 | 支持 | 特点 |
|---|---|---|
| Dir | 目录 | 挂载的目录,简单灵活 |
| LVM | 逻辑卷 | 支持快照,传统方案 |
| LVM-Thin | 精简 LVM | 支持快照和精简配置,推荐 |
| ZFS | ZFS 文件系统 | 企业级,支持快照、压缩、校验 |
| Ceph | 分布式存储 | 集群共享存储,高级 |
| NFS | 网络文件系统 | 网络共享存储 |
| iSCSI | 块级存储 | 高性能网络存储 |
7.2 ZFS 存储(强烈推荐)
ZFS 提供了企业级特性:快照、压缩、数据校验、复制等。
创建 ZFS 池
# 查看可用磁盘
lsblk
# 创建 ZFS 镜像池(RAID1,两块盘)
zpool create -f datapool mirror /dev/sdb /dev/sdc
# 创建 RAIDZ1(类似 RAID5,至少 3 块盘)
zpool create -f datapool raidz1 /dev/sdb /dev/sdc /dev/sdd
# 创建 RAIDZ2(类似 RAID6,至少 4 块盘)
zpool create -f datapool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde
# 启用压缩
zfs set compression=lz4 datapool
# 查看状态
zpool status
zfs list
7.3 NFS 存储
# 在 PVE 主机上挂载 NFS
mount -t nfs 192.168.1.200:/volume1/nfs /mnt/nfs
# 或在 Web 界面添加:
# 存储 → 添加 → NFS
# ID: nfs-storage
# Server: 192.168.1.200
# Export: /volume1/nfs
# Content: 全部勾选
八、Web 管理界面
8.1 登录 Web 界面
浏览器访问:
https://你的PVE_IP:8006
登录信息:
- 用户名:
root - 密码:安装时设置的密码
- 领域:
PAM(Linux 标准认证)
⚠️ 浏览器安全提示:自签证书会显示「您的连接不是私密连接」,点击「高级」→「继续访问」即可。
8.2 初次配置建议
1. 移除订阅弹窗(可选)
免费版每次登录都会弹「没有有效订阅」提示:
# 备份原文件
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak
# 替换字符串
sed -Ezi.bak "s/(Ext\.Msg\.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/ \1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
2. 更新软件源(国内用户)
# 备份原源
cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 使用清华源
cat > /etc/apt/sources.list << 'EOF'
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
EOF
# PVE 企业源改为免费源
sed -i 's/^/#/' /etc/apt/sources.list.d/pve-enterprise.list
echo "deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
# 更新
apt update && apt -y upgrade
3. 修改 DNS(解决官方源慢)
cat > /etc/resolv.conf << 'EOF'
nameserver 223.5.5.5
nameserver 119.29.29.29
nameserver 8.8.8.8
EOF
4. 开启 IOMMU(PCI 直通)
# Intel CPU
sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT="\(.*\)"/GRUB_CMDLINE_LINUX_DEFAULT="\1 intel_iommu=on iommu=pt"/' /etc/default/grub
# AMD CPU
# sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT="\(.*\)"/GRUB_CMDLINE_LINUX_DEFAULT="\1 amd_iommu=on iommu=pt"/' /etc/default/grub
# 更新 GRUB
update-grub
# 加载所需模块
cat >> /etc/modules << 'EOF'
vfio
vfio_iommu_type1
vfio_pci
EOF
# 重启
reboot
九、创建虚拟机
9.1 上传 ISO 镜像
首先需要将系统 ISO 上传到 PVE:
- 「节点」→「local (your-node)」→「ISO 镜像」
- 点击「上传」→ 选择 ISO 文件
- 等待上传完成
或使用命令行:
# 上传到默认位置
scp ubuntu-22.04.iso [email protected]:/var/lib/vz/template/iso/
# 或使用 wget 直接下载
cd /var/lib/vz/template/iso/
wget https://releases.ubuntu.com/22.04/ubuntu-22.04.4-live-server-amd64.iso
9.2 创建 KVM 虚拟机
点击「创建虚拟机」按钮:
1. 常规配置
- 节点:默认
- VM ID:100(自动生成)
- 名称:自定义(如 ubuntu-server)
2. 操作系统
- ISO 镜像:选择上传的 ISO
- 系统类型:Linux 5.x - 2.6 Kernel
3. 系统配置
- 机器类型:
q35(推荐)或 i440fx - BIOS:
OVMF (UEFI)(推荐)或 SeaBIOS - Qemu Agent:勾选
4. 磁盘
- 总线:
VirtIO Block或SCSI - 存储:选择存储位置
- 磁盘大小:
32GB - Cache:
Write back(性能优先)
5. CPU
- 核心数:根据物理 CPU 核心数分配(如 4 核)
- 类型:
host(性能最优)
6. 内存
- 内存:
4096MB - Ballooning:勾选(动态内存调节)
7. 网络
- 桥接:
vmbr0 - 模型:
VirtIO (paravirtualized)(性能最佳)
9.3 安装 qemu-guest-agent(强烈推荐)
在虚拟机内执行:
# Ubuntu/Debian
apt install qemu-guest-agent -y
systemctl enable qemu-guest-agent
systemctl start qemu-guest-agent
# CentOS/RHEL
yum install qemu-guest-agent -y
systemctl enable qemu-guest-agent
systemctl start qemu-guest-agent
十、创建 LXC 容器
10.1 LXC vs KVM 对比
| 特性 | LXC 容器 | KVM 虚拟机 |
|---|---|---|
| 性能 | 接近原生(共享内核) | 有少量损耗 |
| 资源占用 | 极低 | 较高 |
| 启动速度 | 秒级 | 分钟级 |
| 运行内核 | 共享宿主机 | 独立 |
| 运行系统 | 仅 Linux | 任意系统 |
10.2 创建 LXC 容器
- 点击「创建 CT」
- 配置:
- 主机名:
nginx-lxc - 模板:选择下载的模板
- 磁盘:
8GB - CPU:
2核 - 内存:
1024MB - 网络:IPv4/CIDR
192.168.1.101/24,网关192.168.1.1
- 主机名:
- 点击「完成」
10.3 LXC 容器常用操作
# 进入容器
pct enter 101
# 启动/停止/重启
pct start 101
pct stop 101
pct reboot 101
# 查看状态
pct list
pct status 101
十一、集群与高可用
11.1 创建集群
将多台 PVE 主机组成集群,统一管理:
# 在第一台主机上创建集群
pvecm create mycluster
# 查看集群状态
pvecm status
# 在其他主机加入集群
pvecm add 192.168.1.100
# 验证
pvecm nodes
11.2 实时迁移
- 右键虚拟机 → 「迁移」
- 选择目标节点
- 选择「在线迁移」
- 等待完成(业务不中断)
十二、备份策略
12.1 手动备份
虚拟机 → 备份 → 立即备份:
- 模式:
快照(推荐)或 挂起 / 停止 - 压缩:
ZSTD(推荐)或 LZO / GZIP
12.2 自动备份(计划任务)
- 「数据中心」→「备份」→「添加」
- 配置:
- 节点:选择节点
- 存储:备份存储
- 计划:每天 / 每周
- 选择模式:快照
- 保留:最近 7 份
12.3 恢复备份
「节点」→「local (your-node)」→「备份」→ 选择备份文件 → 「恢复」
十三、性能优化
13.1 CPU 性能优化
# 设置 CPU 性能模式
apt install cpufrequtils -y
echo 'GOVERNOR="performance"' > /etc/default/cpufrequtils
systemctl restart cpufrequtils
# 关闭透明大页(部分场景)
echo never > /sys/kernel/mm/transparent_hugepage/enabled
13.2 磁盘 I/O 优化
- 系统盘使用 SSD(NVMe 最佳)
- 虚拟机磁盘使用 VirtIO SCSI + IO thread
- 重要虚拟机使用 Write back 缓存
- 启用 ZFS 压缩:
zfs set compression=lz4 poolname
13.3 网络优化
# 查看网卡队列
ethtool -l eno1
# 调整 ring buffer
ethtool -G eno1 rx 4096 tx 4096
十四、常见问题
Q1:浏览器访问 Web 提示证书错误?
PVE 使用自签名证书,浏览器会拦截。点击「高级」→「继续访问」即可。
Q2:忘记 root 密码怎么办?
重启主机,在 GRUB 菜单选择「Advanced options」,编辑启动项,在 ro quiet 后添加 init=/bin/bash:
mount -o remount,rw /
passwd
reboot
Q3:虚拟机无法启动?
检查存储空间、CPU 兼容性、BIOS 虚拟化设置、ISO 文件是否损坏。
Q4:网络配置错误导致失联?
如果有 IPMI/iLO/iDRAC 等远程管理卡,可远程修复。否则需要物理显示器和键盘:
nano /etc/network/interfaces
ifreload -a
Q5:如何升级 PVE 版本?
apt update
apt -y dist-upgrade
reboot
Q6:PCI 设备直通失败?
确认 BIOS 启用 VT-d/IOMMU,确认 GRUB 启动参数有 intel_iommu=on,重启后查看设备是否在 vfio-pci 驱动下。
Q7:免费版和企业版区别?
| 功能 | 免费版 | 企业版 |
|---|---|---|
| Web 界面 | ✅ | ✅ |
| KVM 虚拟化 | ✅ | ✅ |
| LXC 容器 | ✅ | ✅ |
| 集群 | ✅ | ✅ |
| 实时迁移 | ✅ | ✅ |
| 完整 HA | ❌ | ✅ |
| 技术支持 | 社区 | 商业 |
⚠️ 免责声明:本教程仅供学习参考,生产环境部署请根据实际需求评估风险。