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. 安装过程

  1. 从 USB 启动,选择 Install Proxmox VE
  2. 选择目标磁盘(建议 ZFS mirror 如果有两块盘)
  3. 设置时区、键盘布局
  4. 设置 root 密码和邮箱
  5. 配置管理网卡和 IP 地址(如 192.168.1.100/24
  6. 等待安装完成并重启

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

存储配置

存储类型用途特点
localISO 镜像、备份、容器模板系统盘空间
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  # 节点详细状态

验证方式

  1. 浏览器访问 https://<IP>:8006 确认 Web 管理界面可用
  2. 创建一个 VM 并安装操作系统,确认网络连通
  3. 创建一个 LXC 容器,确认可以正常进入 shell
  4. 执行手动备份并恢复,确认备份有效
  5. 配置自动备份策略,确认定时任务执行

常见问题

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: 虚拟机无法访问网络?

检查:

  1. 虚拟机网卡是否绑定到 vmbr0
  2. 虚拟机内是否正确配置 IP/DHCP
  3. 防火墙规则(Datacenter → Firewall)

Q: ZFS 池磁盘告警?

使用 zpool status 检查磁盘健康状态。如果出现 DEGRADED,需要替换故障磁盘:

# 替换故障磁盘
zpool replace rpool /dev/sdX /dev/sdY

参考

创建于 2025/12/28 更新于 2026/5/27