将当前的硬盘虚拟映射转向硬件直通,解决 qemu 虚拟直通无法实时掌握硬盘 SMART 的问题。
🔧 硬件准备与检查
首先,确认你的硬件满足以下条件:
CPU:必须支持虚拟化技术,Intel为 VT-d,AMD为 AMD-Vi。
主板:BIOS/UEFI 中必须有并开启了 VT-d 或 AMD-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 ID 和 Device 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 组,这对直通是否成功至关重要。