Zenith Horizon

PVE 硬件直通卡硬盘直通飞牛虚拟机

2026/04/15
loading

将当前的硬盘虚拟映射转向硬件直通,解决 qemu 虚拟直通无法实时掌握硬盘 SMART 的问题。

🔧 硬件准备与检查

首先,确认你的硬件满足以下条件:

  • CPU:必须支持虚拟化技术,Intel为 VT-d,AMD为 AMD-Vi

  • 主板:BIOS/UEFI 中必须有并开启了 VT-dAMD-Vi 选项。

  • PCIe 插槽:确保有可用的 PCIe 插槽来安装 LSI 3008-it 直通卡。

可以通过 lscpu | grep -E "vmx|svm" 命令来确认CPU支持。

⚙️ 软件配置流程

1. 宿主机(PVE)配置

这是关键步骤,目的是让 PVE 系统放弃对直通卡的控制,并加载必要的驱动模块。

  • 配置 GRUB 引导参数:用 nano /etc/default/grub 编辑文件,在 GRUB_CMDLINE_LINUX_DEFAULT 行添加 intel_iommu=on(Intel)或 amd_iommu=on(AMD)参数。为了优化性能,建议同时添加 iommu=pt 参数。

    bash

    # Intel 示例
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on iommu=pt"
  • 加载 VFIO 内核模块:用 nano /etc/modules 命令,确保以下模块会随系统启动:

    text

    vfio
    vfio_iommu_type1
    vfio_pci
    vfio_virqfd
  • 屏蔽宿主机驱动(关键):这是为了防止PVE宿主机抢先占用直通卡。先用 lspci -v 找到你的 LSI 3008 卡的 Vendor IDDevice ID(格式如 1000:0073)。然后用 nano /etc/modprobe.d/vfio.conf 创建配置文件,填入你的设备ID:

    text

    options vfio-pci ids=你的供应商ID:你的设备ID
  • 更新配置并重启:依次运行以下命令,然后重启 PVE 主机。

    bash

    update-grub
    update-initramfs -u -k all
    reboot

2. 飞牛(fnOS)虚拟机配置

PVE 重启后,就可以将直通卡分配给飞牛虚拟机了。

  • 添加 PCI 设备:在飞牛虚拟机的“硬件”设置里,点击“添加” -> “PCI 设备”,在设备列表中找到你的 LSI 直通卡并添加。

  • (关键)预留全部内存:添加PCI设备后,必须勾选虚拟机“内存”选项中的 “预留所有客户机内存(全部锁定)”。若不勾选,启动会因内存映射问题而失败。

3. 飞牛(fnOS)系统内操作

启动虚拟机,登录飞牛系统,在“存储管理”中应该就能看到由 LSI 3008 管理的 RAID 虚拟磁盘。你可以选择挂载原有存储空间新建存储空间

⚠️ 关键注意事项

  • BBU 电池:如果你的 LSI 3008 配有电池备份单元(BBU),建议启用 Write Back 策略以获得高性能,否则性能可能极差。

  • RAID5 重建风险:用大容量现代硬盘组建 RAID5,重建时阵列卡压力极大,极易因第二块盘故障导致阵列彻底损坏。若数据重要,建议考虑 RAID6。

  • BIOS 设置:某些主板可能需要关闭“Above 4G Decoding”或“Resizable BAR”功能才能让直通正常工作,如遇问题可尝试关闭这些选项。

  • 备份数据:在改动任何硬件和软件配置前,务必先对你的重要数据进行完整备份

  • 检查 IOMMU 分组:若遇到问题,用 find /sys/kernel/iommu_groups/ -type l 命令检查设备是否在独立的 IOMMU 组,这对直通是否成功至关重要。

Author: Max

Permalink: /archives/lsi3008

Published: 2026-04-15 15:48:44

Updated: 2026-04-15 15:42:52

License: 本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

CATALOG