PVE
PVE 的安装、配置和日常运维
#type / howto
#status / evergreen
#tech / ops
#tech / infra
[!info] related notes
PVE - Proxmox Virtual Environment
目标
安装和配置 Proxmox VE 虚拟化平台,实现:
- 虚拟机(KVM)和容器(LXC)的统一管理
- 存储池和网络的合理配置
- 自动备份与恢复
- 高效的日常运维
前置条件
- 支持 VT-x/VT-d(Intel)或 AMD-V/IOMMU(AMD)的 CPU
- 内存 >= 8GB(建议 16GB+)
- 至少两块磁盘(系统盘 + 数据盘,建议 SSD + HDD 组合)
- 一个空闲的 USB 闪存盘或独立硬盘用于安装系统
安装步骤
1. 制作安装介质
从 Proxmox 官网 下载 ISO 镜像,使用 Rufus / balenaEtcher 写入 USB。
2. BIOS 设置
- 启用 VT-x / VT-d(Intel)或 AMD-V / IOMMU(AMD)
- 设置启动顺序为 USB 优先
- 关闭 Secure Boot(PVE 默认不支持)
3. 安装过程
- 从 USB 启动,选择 Install Proxmox VE
- 选择目标磁盘(建议 ZFS mirror 如果有两块盘)
- 设置时区、键盘布局
- 设置 root 密码和邮箱
- 配置管理网卡和 IP 地址(如
192.168.1.100/24) - 等待安装完成并重启
4. 初始配置
# 移除企业源(无订阅会报错)
sed -i 's/^deb/# deb/' /etc/apt/sources.list.d/pve-enterprise.list
# 添加非订阅源
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
# 更新系统
apt update && apt full-upgrade -y
网络配置
网桥模式(推荐)
默认创建 vmbr0 网桥,虚拟机共享主机物理网卡:
# /etc/network/interfaces
auto lo
iface lo inet loopback
auto enp3s0
iface enp3s0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
bridge-ports enp3s0
bridge-stp off
bridge-fd 0
VLAN 隔离(进阶)
# 创建 VLAN 子接口
auto vmbr0.100
iface vmbr0.100 inet static
address 10.0.100.1/24
创建虚拟机/容器
创建虚拟机(KVM)
# 命令行创建
qm create 100 \
--name "ubuntu-server" \
--memory 4096 \
--cores 4 \
--net0 virtio,bridge=vmbr0 \
--scsihw virtio-scsi-pci \
--scsi0 local-lvm:32 \
--ide2 local:iso/ubuntu-22.04.iso,media=cdrom \
--boot order=scsi0;ide2
# 启动
qm start 100
Web 界面操作:Datacenter → Node → Create VM
创建容器(LXC)
# 下载模板
pveam update
pveam download local debian-12-standard_12.0-1_amd64.tar.zst
# 创建容器
pct create 200 local:vztmpl/debian-12-standard_12.0-1_amd64.tar.zst \
--hostname "my-container" \
--memory 1024 \
--swap 512 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp
# 启动
pct start 200
存储配置
| 存储类型 | 用途 | 特点 |
|---|---|---|
| local | ISO 镜像、备份、容器模板 | 系统盘空间 |
| local-lvm | 虚拟机磁盘 | LVM thin provisioning |
| ZFS | 高可靠存储 | 支持快照、校验、RAID |
| NFS/CIFS | 网络存储 | 共享存储、迁移用 |
添加 NFS 存储
Datacenter → Storage → Add → NFS:
- Server:
192.168.1.200 - Export:
/volume1/pve - Content: Disk Image, Container, Backup, ISO Image
备份策略
自动备份
Datacenter → Backup → Add:
- Storage: 选择备份存储
- Schedule: 每天凌晨 2:00
- Selection Mode: All(或手动选择)
- Compression: ZSTD(推荐)
- Mode: Snapshot(不中断运行)
手动备份
# 备份虚拟机
vzdump 100 --storage local --compress zstd --mode snapshot
# 恢复虚拟机
qmrestore /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst 100
备份验证
定期检查备份文件完整性,建议每月执行一次恢复测试。
常用命令
# 虚拟机管理
qm list # 列出所有 VM
qm start <vmid> # 启动
qm stop <vmid> # 停止
qm shutdown <vmid> # 优雅关机
qm reboot <vmid> # 重启
qm destroy <vmid> # 删除
# 容器管理
pct list # 列出所有容器
pct start <ctid> # 启动
pct stop <ctid> # 停止
pct enter <ctid> # 进入容器 shell
# 存储管理
pvesm status # 存储状态
pvesm list <storage> # 列出存储内容
# 集群管理(多节点)
pvecm status # 集群状态
pvecm nodes # 节点列表
# 系统信息
pveversion # PVE 版本
pvesh get /nodes/$(hostname)/status # 节点详细状态
验证方式
- 浏览器访问
https://<IP>:8006确认 Web 管理界面可用 - 创建一个 VM 并安装操作系统,确认网络连通
- 创建一个 LXC 容器,确认可以正常进入 shell
- 执行手动备份并恢复,确认备份有效
- 配置自动备份策略,确认定时任务执行
常见问题
Q: 登录提示 “no valid subscription”?
这是正常的提示,非订阅用户可以正常使用。通过修改源配置消除更新报错即可。
Q: 网页上传 ISO 镜像失败?
PVE 网页上传有大小限制。直接将 ISO 文件上传到 /var/lib/vz/template/iso 目录:
# SCP 上传
scp ubuntu-22.04.iso root@<pve-ip>:/var/lib/vz/template/iso/
# 或 wget 下载
wget -P /var/lib/vz/template/iso/ https://releases.ubuntu.com/22.04/ubuntu-22.04-live-server-amd64.iso
Q: 虚拟机无法访问网络?
检查:
- 虚拟机网卡是否绑定到
vmbr0 - 虚拟机内是否正确配置 IP/DHCP
- 防火墙规则(Datacenter → Firewall)
Q: ZFS 池磁盘告警?
使用 zpool status 检查磁盘健康状态。如果出现 DEGRADED,需要替换故障磁盘:
# 替换故障磁盘
zpool replace rpool /dev/sdX /dev/sdY