PVE使用教程

  • A+
所属分类:虚拟化
摘要

Proxmox VE(简称 PVE)是一款开源的企业级虚拟化平台,基于 Debian Linux 系统开发,整合了 **KVM 全虚拟化** 和 **LXC 容器虚拟化** 技术,提供统一的 Web 管理界面,无需复杂的命令行操作即可实现对虚拟机、容器、存储、网络的全生命周期管理。

PVE 使用教程

一、PVE简介

Proxmox VE(简称 PVE)是一款开源的企业级虚拟化平台,基于 Debian Linux 系统开发,整合了 KVM 全虚拟化LXC 容器虚拟化 技术,提供统一的 Web 管理界面,无需复杂的命令行操作即可实现对虚拟机、容器、存储、网络的全生命周期管理。

核心特点与功能

  1. 双虚拟化技术整合

    • KVM(全虚拟化) :支持 Windows、Linux 等各类操作系统,通过硬件辅助虚拟化(如 Intel VT-x/AMD-V)实现接近物理机的性能,适合对隔离性和兼容性要求高的场景(如运行传统应用、数据库等)。
    • LXC(容器虚拟化) :轻量级容器技术,共享宿主机内核,启动速度快、资源占用低,适合运行 Linux 应用(如 Web 服务、轻量工具),隔离性略低于 KVM,但效率更高。
  2. 统一 Web 管理界面
    提供直观的图形化界面,支持虚拟机 / 容器的创建、配置、迁移、快照、备份等操作,同时集成了节点管理、集群监控、日志查看等功能,降低了虚拟化管理的技术门槛。
  3. 强大的存储支持
    兼容多种存储类型,包括:

    • 本地存储:物理硬盘、LVM、ZFS 等;
    • 网络存储:NFS、SMB/CIFS、iSCSI、GlusterFS 等;
    • 分布式存储:Ceph(可直接集成,提供高可用块存储)。
  4. 高可用性(HA)与集群
    支持多节点集群部署,通过共享存储和心跳检测实现虚拟机 / 容器的自动故障转移(HA),当某个节点故障时,业务可自动迁移到健康节点,减少 downtime。
  5. 备份与恢复
    内置备份机制,支持全量 / 增量备份、定时备份,备份文件可存储在本地或远程存储(如 NFS、S3 兼容存储),并支持快速恢复或克隆。
  6. 网络灵活配置
    支持桥接、VLAN、 bonded 网卡(链路聚合)、Open vSwitch 等网络模式,可灵活划分虚拟网络,满足复杂网络拓扑需求。
  7. 开源与企业支持
    核心功能完全开源免费,企业用户可购买订阅获取官方技术支持、更新和额外工具(如 Proxmox Backup Server 集成)。

二、硬件直通

2.1 检测 IOMMU 是否开启

开启 IOMMU 后,BIOS 可以收集 IOMMU 硬件相关的信息以及它和 PCIe 设备连接关系的信息,使用如下命令检测是否开启,如果开启 IOMMU 的话可以看到一些 PCIe 硬件设备:

开启IOMMU:
PVE使用教程

未开启IOMMU
PVE使用教程

2.2 开启 IOMMU 和 SR-IOV

2.2.1 IOMMU

IOMMU(Input-Output Memory Management Unit,输入输出内存管理单元)

  • 本质:硬件级别的内存管理单元,位于 CPU 和外设(如显卡、网卡、PCIe 设备)之间。

  • 核心功能

    • 实现设备地址空间与系统内存地址空间的转换(类似 CPU 的 MMU 对内存地址的管理)。
    • 提供设备级别的内存隔离,防止不同设备 / 虚拟机之间的内存越界访问。
    • 支持将物理设备 “直通” 给虚拟机(VFIO 框架依赖 IOMMU 实现),让虚拟机直接访问物理设备,绕过宿主机内核,提升性能。

      2.2.1 SR-IOV

      SR-IOV(Single Root I/O Virtualization,单根 I/O 虚拟化)

  • 本质:PCIe 规范定义的硬件虚拟化技术,允许单个物理 PCIe 设备(如网卡、RAID 卡)虚拟出多个独立的 “虚拟功能(VF)”。

  • 核心功能

    • 物理设备(称为 “物理功能(PF)”)可创建多个轻量级的 “虚拟功能(VF)”,每个 VF 拥有独立的资源(如中断、寄存器、队列),但共享物理设备的核心硬件(如网卡的物理端口)。
    • 虚拟机可直接使用 VF,无需通过宿主机的虚拟化层(如 QEMU 模拟),实现接近物理设备的性能。
    • 高效共享物理设备资源,避免 “一个物理设备只能给一个虚拟机用” 的浪费。

2.2.3 配置IOMMU和SR-IOV

备份grub文件

修改grub 文件

Intel 平台 修改为

PVE使用教程

AMD 平台 修改为

参数说明及可选参数:

参数 说明
quiet 减少系统启动时的日志输出,仅显示关键信息,让启动过程更 "安静"(不打印大量调试信息)。
intel_iommu\=on 启用 Intel 平台的 IOMMU(输入输出内存管理单元)。IOMMU 是硬件级功能,主要用于:
- 实现设备直通(如 KVM 虚拟化中,将物理显卡 / 网卡直接分配给虚拟机);
- 提供内存地址转换和设备隔离,增强安全性。
iommu\=pt 配置 IOMMU 工作在 "直通模式"(passthrough)。该模式下 IOMMU 仅为需要直通的设备映射内存,减少不必要的地址转换开销,优化设备直通性能(常见于虚拟化场景)。
textonly 强制系统启动到纯文本模式(命令行界面),不加载图形桌面环境,适合服务器或需要避免图形界面干扰的场景。
nomodeset 禁用内核的 "模式设置"(mode setting)功能。模式设置是内核负责初始化显卡、设置分辨率的机制,禁用后:
- 显卡驱动的初始化交给用户态程序(如 Xorg);
- 常用于解决显卡驱动冲突(如安装 NVIDIA 闭源驱动前,避免开源驱动与内核模式设置冲突)。
nofb 禁用帧缓冲(framebuffer)设备。帧缓冲是内核提供的抽象显示接口,允许程序直接操作显示内存,禁用后会使用更基础的文本显示模式,可能用于解决某些显示硬件的兼容性问题。
pci\=noaer 禁用 PCIe 设备的 AER(Advanced Error Reporting,高级错误报告)功能。部分硬件的 AER 可能会产生无意义的错误日志(甚至导致系统不稳定),禁用后可避免此类问题。
pcie_acs_override\=downstream,multifunction 强制覆盖 PCIe 设备的 ACS(Access Control Services,访问控制服务)设置。ACS 用于隔离不同 PCIe 设备的内存访问,防止相互干扰,但部分硬件可能未正确实现 ACS:
- downstream:覆盖下游端口的 ACS 检查;
- multifunction:覆盖多功能设备的 ACS 检查;
常用于虚拟化场景,解决设备直通时的隔离问题(让多个 PCIe 设备能被正确分配给不同虚拟机)。

2.3 添加 VFIO 模块

2.3.1 VFIO模块

VFIO(Virtual Function I/O)是 Linux 内核中的一套设备直通框架,核心作用是将物理硬件设备(如显卡、网卡、PCIe 设备等)安全地 “剥离” 宿主机,直接分配给虚拟机(VM),让虚拟机绕过宿主机的虚拟化层(如 QEMU 模拟),直接与物理设备交互,从而获得接近原生的性能。

2.3.2 添加 VFIO模块

为了我们的显卡顺利直通,需要添加 VFIO 模块到 /etc/modules 文件中

2.3.3 添加黑名单

将常见的驱动程序加入黑名单,即让 GPU 相关设备在下次系统启动之后不使用这些驱动,把设备腾出来给 vfio 驱动用:

2.3.4 检查是否生效

然后更新内核重启机器:

重启后,检查之前配置的 VFIO 模块是否正常加载:

PVE使用教程

注意:在 Proxmox VE 8(PVE8)中,不需要手动添加 VFIO 模块,因为 PVE8 的内核(基于 Debian 12 的 Linux 内核,通常为 6.x 版本)已经默认集成了 VFIO 相关模块(如 vfio、vfio-pci、vfio_iommu_type1 等)

2.4 硬盘直通

在 Proxmox VE(PVE)中,硬盘直通指将物理硬盘(或分区)直接分配给虚拟机,让虚拟机绕过宿主机的存储虚拟化层(如 LVM、ZFS 或文件系统),直接访问物理硬盘,从而获得接近原生的性能(尤其适合需要高性能存储的场景,如数据库服务器、NAS 虚拟机等)。

2.4.1 读取硬盘信息

PVE使用教程

2.4.2 直通硬盘

直通硬盘给103虚拟机

PVE使用教程

PVE使用教程

三、 PVE集群

集群所有节点的 PVE 版本、corosync 版本需要一致,否则可能失败。

3.1 创建集群(在第一个节点上操作)

3.1.1. 登录 PVE Web 界面

访问第一个节点的管理地址(如 https://192.168.1.10:8006),登录管理员账号(root)。

3.1.2. 创建集群

点击左侧节点名称(如 pve-node1)→ 选择 “数据中心”→ 点击 “集群”→ 点击 “创建集群”。

PVE使用教程

3.1.3 记录集群信息

创建成功后,会显示集群的 Fingerprint(用于节点加入时的身份验证)和 Join Information(包含集群地址和认证信息),建议保存备用。

3.2 其他节点加入集群

以第二个节点(pve-node2)为例,加入已创建的集群:

3.2.1. 确保节点状态

加入集群的节点必须是全新的 PVE 系统(未加入任何集群,且无重要数据),否则需先重置(pvecm delnode 或重装系统)。

3.2.2. 加入集群(Web 界面方式)

登录第二个节点的 Web 界面(https://192.168.1.11:8006)。
点击 “数据中心”→“集群”→“加入集群”。
填写集群信息:

PVE使用教程

3.2.3 命令方式加入集群

在目标节点(pve-node2)执行:

3.3 验证集群状态

3.3.1 Web 界面查看

登录任意节点的 Web 界面,左侧 “数据中心” 下会显示所有集群节点(如 pve-node1pve-node2),状态为 “在线” 即表示成功。

3.3.2 命令行验证

在任意节点执行以下命令,确认集群状态:

四、pve优化脚本(pve_source)

4.1 功能介绍:

1、更换PVE软件源、Debian源、LXC CT源、Ceph源及一键换源并更新系统等。源包括中科大源、清华大学源、南京大学源、阿里云源、腾讯源、华为源等;

2、设置设备的直通直通功能、虚拟机的核显及高清音频直通功能;

3、自定义虚拟机的扩展参数配置向导;

4、群晖虚拟机虚拟 USB 引导配置向导;

5、修改 PVE 概要信息栏,增加 CPU及线程频率、CPU及核心、主板等工作状态及温度,风扇转速,NVME及机械硬盘的型号、容量、温度、通电时间、IO状态等信息显示。其中NVME支持0E故障监测。UPS 信息

6、支持安装PVE暗黑主题;

7、支持删除其他内核及头文件,也支持一键删除其他内核及头文件;

8、支持修改 CPU 工作模式;

9、支持自定义 CPU 主频限制区间或锁定主频。

4.2 使用教程

4.2.1 使用手册

4.2.2 稳定版

PVE使用教程

4.2.3 开发版

4.2.4 修改 PVE 概要信息

PVE使用教程
PVE使用教程
PVE使用教程

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
大雁

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: