随机
Enter 搜索 ↑↓ 切换 Esc 清空

pve_all-in-one

命令

Proxmox VE 虚拟化平台 All-in-One 搭建教程

pve_all-in-one

Proxmox VE 虚拟化平台 All-in-One 搭建教程

补充说明

本文提供了一套完整的 Proxmox VE (PVE) 虚拟化平台搭建教程,旨在打造一个集软路由、NAS、Windows系统于一体的"All in One"家庭服务器。教程涵盖从PVE安装、核显SR-IOV虚拟化,到iKuai、iStoreOS、飞牛FNOS、黑群晖、TrueNAS、Windows 10等多个虚拟系统的部署。

参考视频地址:


📑 文章目录


✨ 方案特点与功能

本教程构建的 PVE All in One 方案具有以下亮点:


⚙️ 一、PVE 系统安装

1、下载 PVE 系统及写盘软件

2、WinPE 格式硬盘(按需要)

💡 此步骤用于清除硬盘原有数据,避免未知问题。若为新硬盘或已做好备份,可按需操作。

3、PVE 系统写盘

推荐使用 Ventoy,无需反复格式化 U 盘,只需将 ISO 文件拷贝进去即可启动。

4、BIOS 设置

开机进入 BIOS,进行以下关键设置:

5、安装 PVE 系统

  1. 从 U 盘启动,选择 "Install Proxmox VE"
  2. 关键配置项:
    • 目标硬盘:选择要被格式化的硬盘。
    • 地区与时区:选择 ChinaShanghai
    • 管理员密码:为 root 用户设置强密码。
    • 网络配置
      • 主机名:可随意设置。
      • IP 地址:强烈建议设置静态 IP(例如:10.0.0.254
      • 子网掩码:255.255.255.0
      • 网关:10.10.10.253
      • DNS:10.10.10.253
  3. 完成安装后重启,记住管理地址(如 https://10.0.0.254:8006)。

6、给 PVE 的扩容(可选项)

⚠️ 移除 local-lvm 会合并存储空间,但可能影响快照功能。如果安装盘够大(如 >128GB),可以不操作此步。

lvremove pve/data
# 输入 y 确认
lvextend -l +100%FREE -r pve/root

然后进入 PVE 网页端:数据中心 -> 存储 -> 移除 local-lvm -> 编辑 local,勾选所有内容类型。

7、去除 PVE 无有效订阅提示

根据你的 PVE 版本执行对应命令:

PVE 9.x

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.service

8、开启 PVE 直通功能

  1. 修改 GRUB 引导参数

    • Intel CPU
      sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction initcall_blacklist=sysfb_init"' /etc/default/grub
      
    • AMD CPU
      sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction initcall_blacklist=sysfb_init"' /etc/default/grub
      

      📌 参数释义

      • iommu=pt:启用 IOMMU 直通支持,提高性能(建议添加)。
      • initcall_blacklist=sysfb_init:屏蔽高版本 PVE 的核显驱动 Bug,便于直通。
      • pcie_acs_override=downstream,multifunction:强制设备独立分组,避免直通导致宿主机卡死。
      • i915.enable_gvt=1:如需开启 Intel GVT-g 虚拟 GPU(共享核显),可添加此项。与直通冲突,二选一。
  2. 添加所需内核模块

    echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | tee -a /etc/modules
    
  3. 更新配置并重启

    update-grub
    update-initramfs -u -k all
    reboot
    
  4. 验证直通是否开启

    dmesg | grep iommu
    # 应看到 "DMAR: IOMMU enabled" 或 "AMD-Vi: IOMMU enabled" 类似信息。
    lspci -D -nnk
    # 查看设备列表及分组情况。
    

🌐 二、虚拟路由安装

🚨 如果你的 PVE 主机将连接到一个独立的路由器(已有网络),可以直接跳过此步,进入 换源 步骤。

1、安装 iKuai(主路由,若需要)

  1. 下载镜像iKuai 官方下载
  2. 创建虚拟机:上传镜像,创建虚拟机。关键步骤是添加并直通多个网卡,并在系统中正确设置 WAN 口和 LAN 口。
  3. 配置路由
    • 网关设为 10.0.0.1
    • DNS 可设置为 223.5.5.5119.29.29.29
    • 默认账号/密码:admin / admin
  4. 测试网络:进入 iKuai 的 Shell 或控制台,执行 ping baidu.com 测试网络是否正常。

2、安装 iStoreOS 或 OpenWrt(旁路由,若需要)

iStoreOS 对新手更友好,这里以其为例。

  1. 下载镜像iStoreOS 官方下载
  2. 导入镜像到 PVE
    # 将 `101` 替换为你的虚拟机ID,路径替换为你的img文件实际路径
    qm importdisk 101 /var/lib/vz/template/iso/istoreos.img local
    

    如果之前没有合并 local-lvm,则命令末尾需改为 local-lvm

  3. 启动虚拟机并快速设置:在虚拟机控制台输入 quickstart,按照向导设置旁路由 IP(例如 10.0.0.2),网关指向主路由 (10.0.0.1)。
  4. 默认登录:用户名 root,密码 password
  5. 插件下载:可访问 AUK9527 的插件仓库

📦 三、给 PVE 换源(建议)

⚠️ 重要提示:目前使用 Intel DG1 等独显进行直通硬解的,不要进行换源和系统更新,否则可能导致驱动失效! 换源前请确保 PVE 可以联网 (ping baidu.com)。若不通,请检查 PVE 网络设置中的网关和 DNS。

📌 PVE 9.x 换源步骤

国内推荐使用 清华源中科大源

  1. 更换 Debian 系统源(必须):

    # 备份原文件
    cp /etc/apt/sources.list.d/debian.sources /etc/apt/sources.list.d/debian.sources.bak
    

    🔧 二选一执行(以下命令会直接覆盖源文件):

    • 清华源

      cat > /etc/apt/sources.list.d/debian.sources << 'EOF'
      Types: deb
      URIs: https://mirrors.tuna.tsinghua.edu.cn/debian/
      Suites: trixie trixie-updates trixie-backports
      Components: main contrib non-free non-free-firmware
      Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
      
      Types: deb
      URIs: https://security.debian.org/debian-security/
      Suites: trixie-security
      Components: main contrib non-free non-free-firmware
      Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
      EOF
      
    • 中科大源

      cat > /etc/apt/sources.list.d/debian.sources << 'EOF'
      Types: deb
      URIs: https://mirrors.ustc.edu.cn/debian/
      Suites: trixie trixie-updates trixie-backports
      Components: main contrib non-free non-free-firmware
      Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
      
      Types: deb
      URIs: https://security.debian.org/debian-security/
      Suites: trixie-security
      Components: main contrib non-free non-free-firmware
      Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
      EOF
      
  2. 禁用 PVE 企业源

    # 编辑企业源文件,在每一行开头添加 # 注释掉
    nano /etc/apt/sources.list.d/pve-enterprise.sources
    # 按 Ctrl+X, 输入 Y, 回车保存退出。
    
  3. 添加 PVE 免费更新源(无订阅源): 🔧 二选一执行

    • 清华源
      cat > /etc/apt/sources.list.d/pve-no-subscription.sources << 'EOF'
      Types: deb
      URIs: https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve
      Suites: trixie
      Components: pve-no-subscription
      Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
      EOF
      
    • 中科大源
      cat > /etc/apt/sources.list.d/pve-no-subscription.sources << 'EOF'
      Types: deb
      URIs: https://mirrors.ustc.edu.cn/proxmox/debian/pve
      Suites: trixie
      Components: pve-no-subscription
      Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
      EOF
      
  4. 更换 Ceph 源(如果用 Ceph 才换)

    cp /etc/apt/sources.list.d/ceph.sources /etc/apt/sources.list.d/ceph.sources.bak
    

    🔧 二选一执行

    • 清华源
      cat > /etc/apt/sources.list.d/ceph.sources << 'EOF'
      Types: deb
      URIs: https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/ceph-squid
      Suites: trixie
      Components: no-subscription
      Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
      EOF
      
    • 中科大源
      cat > /etc/apt/sources.list.d/ceph.sources << 'EOF'
      Types: deb
      URIs: https://mirrors.ustc.edu.cn/proxmox/debian/ceph-squid/
      Suites: trixie
      Components: no-subscription
      Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
      EOF
      
  5. 更换 CT(LXC容器)模板源(可选,加速模板下载):

    cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
    

    🔧 二选一执行

    • 清华源
      sed -i -e 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' \
             -e 's|https://appcenter.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' \
             /usr/share/perl5/PVE/APLInfo.pm
      
    • 中科大源
      sed -i -e 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' \
             -e 's|https://appcenter.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' \
             /usr/share/perl5/PVE/APLInfo.pm
      

🔄 让更新源生效

# 更新软件列表并升级系统
apt update && apt dist-upgrade -y
# 重启相关服务
systemctl restart pvedaemon.service
# 建议重启PVE
reboot

📝 PVE 8.x 及更早版本的换源命令有所不同,主要为sources.list文件格式和发行版代号(如bookwormbullseye)。请参考原文中折叠的代码块或根据对应版本的官方文档调整。


🎮 四、开启核显 SR-IOV(若需要)

🚨 操作前必读:请务必确认你的核显支持 SR-IOV! 支持列表摘要

  • Intel:主要支持第 12-14 代酷睿及部分新款酷睿 Ultra 处理器的核显。消费级 Arc 独显不支持
  • AMD:消费级核显/独显通常不支持。仅特定 Radeon PRO V 系列专业卡支持。
  • NVIDIA:消费级和企业级 GPU 均不支持,其虚拟化方案为需要许可的 vGPU。

项目地址strongtz/i915-sriov-dkms

  1. 安装依赖

    apt install build-essential dkms git sysfsutils -y
    apt install proxmox-headers-$(uname -r) proxmox-kernel-$(uname -r)
    
  2. 克隆代码库

    cd ~
    git clone https://github.com/strongtz/i915-sriov-dkms.git
    

    如果 GitHub 连接不畅,可尝试使用国内镜像:git clone https://gitee.com/ifwwww/i915-sriov-dkms

  3. 安装 DKMS 模块

    cd ~/i915-sriov-dkms
    dkms add .
    # 查看生成的版本号,例如 "2025.02.03"
    dkms status
    # 安装模块,将下方命令中的"版本号"替换为上一步查看到的实际版本号
    dkms install -m i915-sriov-dkms -v 版本号 --force
    
  4. 配置 GRUB 以启用 SR-IOV

    nano /etc/default/grub
    

    GRUB_CMDLINE_LINUX_DEFAULT 一行 quiet 后面添加参数:

    i915.enable_guc=3 i915.max_vfs=7
    

    max_vfs=7 表示最多创建 7 个虚拟核显(VFs),可按需减少。

  5. 更新配置并获取核显 ID

    update-grub
    update-initramfs -u
    # 查看核显设备 ID,记录下第一行开头的地址,如 `0000:00:02.0`
    lspci -D -nnk | grep VGA
    
  6. 配置并启用 VFs

    # 将下方 `0000:00:02.0` 替换为你的核显 ID,`7` 替换为你想要的 VF 数量
    echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf
    reboot
    
  7. 验证是否成功: 重启后,在 PVE Shell 中执行:

    lspci | grep VGA
    

    如果成功,你会看到 1 个物理核显(PF)和多个虚拟核显(VF),例如:

    0000:00:02.0 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
    0000:00:02.1 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c)
    ... (共8个,包括1个PF和7个VF)
    

🔧 卸载 SR-IOV 驱动:如果需要卸载,请参照原文末尾的卸载步骤。


🖥️ 五、虚拟机安装(按需选择)

1、安装飞牛 fnOS 🐂

  1. 官网下载飞牛私有云 fnOS
  2. 创建虚拟机,先不添加虚拟核显,安装好基础系统。
  3. 进入飞牛系统,在应用中心搜索并安装 i915-sriov-dkms 驱动。
  4. 如果应用中心驱动无效,可尝试通过 SSH 手动安装驱动(参考皮蛋熊大佬的教程):
    sudo -i
    wget https://blog.kkk.rs/upload/intel-i915.deb
    dpkg -i intel-i915.deb
    
  5. 关机,添加 SR-IOV 虚拟出来的核显设备(⚠️ 切勿直通第一个 00:02.0 主设备或勾选"所有功能")。
  6. 开机,测试视频转码,观察 CPU 占用是否正常。
    • 在 PVE 查看核显使用率 (Intel)intel_gpu_top -d sriov
    • 在 PVE 查看显存占用 (AMD)radeontop (需先安装 apt install radeontop)

2、安装黑群晖 🖧

  1. 使用 RR(Redpill Recovery)引导,可从其 GitHub 仓库 下载。
  2. 创建虚拟机,加载 RR 引导镜像,按照引导网页配置生成群晖引导。
  3. 安装群晖系统后,检查核显驱动:
    sudo -i
    ls /dev/dri  # 检查是否存在显卡设备节点
    lsmod | grep i915  # 检查i915驱动模块是否加载
    
  4. 如需使用核显硬解,可考虑使用集成驱动的 Docker 版 Jellyfin。

3、安装 TrueNAS 💽

  1. TrueNAS 官网 下载 SCALE 或 CORE 版本。
  2. 创建虚拟机,加载 ISO 安装。建议直通 HBA 卡或整个硬盘控制器给 TrueNAS 以获得最佳性能和管理体验。

4、安装 Windows 10 🪟

  1. 准备 Windows 10 镜像(如 LTSC 版本)和 virtIO 驱动 ISO下载地址)。
  2. 创建虚拟机,系统类型选择 Windows 10/11。在 硬件 -> CD/DVD 驱动器 中加载 virtIO 驱动 ISO。
  3. 安装系统时,需要手动加载 virtIO 驱动才能识别到虚拟硬盘和网卡。
  4. 系统安装完成后,再添加虚拟核显设备,并安装对应的 Intel/AMD 显卡驱动。
  5. ⚠️ 如果希望将核显直通给 Windows 并输出画面到显示器,需定制 VBIOS,操作较为复杂,请参考相关专题教程。
  6. 英特尔® Arc™ 和锐炬® Xe 显卡 (intel.cn)

5、安装 LXC 容器(如 Jellyfin) 🐳

从 PVE 9.1 开始,可直接从 OCI 仓库(如 Docker Hub)拉取镜像创建 LXC 容器,性能更优。

  1. 拉取 OCI 镜像:在 PVE 网页端,进入 local 存储 -> CT模板 -> 从OCI注册表拉取,输入镜像名(如 nyanmisaka/jellyfin:latest,或使用国内镜像加速地址)。
  2. 创建无特权容器:使用拉取的镜像创建 LXC 容器,务必勾选"无特权的容器"和"嵌套"。
  3. 直通核显设备:编辑容器配置,在 资源 -> 设备直通 中添加宿主机核显设备:
    /dev/dri/card0
    /dev/dri/renderD128
    
    权限设置为 0777
  4. 挂载媒体目录
    # 将PVE上已挂载的NFS/SMB路径挂载到容器内
    pct set <容器ID> -mp0 /mnt/pve/your_nfs_share,mp=/media
    
  5. 访问与配置:通过 http://<容器IP>:8096 访问 Jellyfin,在控制台的"播放"设置中,硬件加速选择:
    • IntelIntel QuickSync (QSV)
    • AMDVideo Acceleration API (VAAPI)

🔚 六、尾巴

完成所有系统安装后,别忘了进行一些收尾工作:

恭喜你!🎉 一台功能强大的 All in One 家庭服务器已经搭建完成。