PVE直通网卡和硬盘

1. 说明

PVE可以在WEB界面直接直通硬盘,(不是添加EFI磁盘)添加PCI设备,选择硬盘对应的控制器,但是一般的主板在不安装额外的硬盘控制器的情况下只有一个磁盘控制器,而直接直通会造成安装PVE系统的磁盘也被一起直通,导致PVE系统无法启动。所以需要直通单块指定的硬盘。

网卡可以直接在WEB控制台直接直通,通过添加PCI设备添加即可。

2. 直通前修改系统

  1. SSH连接或Shell里面直接输入命令修改grub文件:

    1
    2
    3
    4
    5
    6
    7
    vi /etc/default/grub
    # 编辑这个文件,修改GRUB_CMDLINE_LINUX_DEFAULT="quiet"为:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

    :wq 保存后更新grub,使用命令:
    update-grub
  2. 继续编辑modules文件

    1
    2
    3
    4
    5
    6
    7
    8
    vi /etc/modules
    # 在其中添加下面的内容,如果已有相同内容不用重复添加。
    vfio
    vfio_iommu_type1
    vfio_pcioptions
    vfio_virqfd
    # :wq 保存后重启PVE
    reboot

3. 开始配置直通

  1. 查看磁盘详细列表

    1
    2
    3
    4
    5
    6
    7
    # 安装 lshw 工具
    apt-get update
    apt-get install -y lshw
    lshw -C storage -C disk
    # 此命令将列出当前所有被连接的物理磁盘信息
    # 下面命令列出所有的磁盘设备对应的磁盘ID
    ls -l /dev/disk/by-id/
  2. 磁盘ID说明

    要直通的是整个磁盘,所以要找到例如sda,sdb,adc……所对应的硬盘ID,不能使用sda1,sda2……sdb1……等,后面带有数值的分区id。

  3. 使用命令直通硬盘

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 格式
    qm set <vm_id> -–<disk_type>[n] /dev/disk/by-id/<type> -$brand-$model_$serial_number
    # 参数说明
    【vm_id】 :
    之前创建虚拟机时指定的虚拟机ID。

    【<disk_type>[n] 】:
    磁盘的总线类型及其编号,总线类型可以选择IDE、SATA、VirtIO Block和SCSI类型,编号从0开始,最大值根据总线接口类型有所不同,IDE为3,SATA为5,VirTIO Block为15,SCSI为13

    /dev/disk/by-id/<type>-$brand-$model_$serial_number】 :
    为磁盘ID的具体路径和名称。
  4. 举例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
       
    root@pve:~# ls -l /dev/disk/by-id/
    total 0
    lrwxrwxrwx 1 root root 9 Jan 17 08:52 ata-Fanxiang_S100Pro_256GB_MX_00000000000020223 -> ../../sdb
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 ata-Fanxiang_S100Pro_256GB_MX_00000000000020223-part1 -> ../../sdb1
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 ata-Fanxiang_S100Pro_256GB_MX_00000000000020223-part2 -> ../../sdb2
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 ata-Fanxiang_S100Pro_256GB_MX_00000000000020223-part3 -> ../../sdb3
    lrwxrwxrwx 1 root root 9 Jan 17 08:52 ata-WDC_WD10EZEX-08WN4A0_WD-WCC6Y4VNZJA0 -> ../../sda
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 ata-WDC_WD10EZEX-08WN4A0_WD-WCC6Y4VNZJA0-part1 -> ../../sda1
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 ata-WDC_WD10EZEX-08WN4A0_WD-WCC6Y4VNZJA0-part2 -> ../../sda2
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 ata-WDC_WD10EZEX-08WN4A0_WD-WCC6Y4VNZJA0-part5 -> ../../sda5
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 dm-name-pve-root -> ../../dm-1
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 dm-name-pve-swap -> ../../dm-0
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 dm-uuid-LVM-OcdabyFC47cuTSZMEoIWEhnO4Q20Nkcs2Z1z9gpjALc6Tg49Vn1Hc255aiYckSP5 -> ../../dm-0
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 dm-uuid-LVM-OcdabyFC47cuTSZMEoIWEhnO4Q20NkcsMHSdYsTphGWWjUZn3DfmcZvkRvbedbE3 -> ../../dm-1
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 lvm-pv-uuid-cAeRJl-Fato-fGWm-2IxV-6SZ2-cTG3-8FmYdf -> ../../sdb3
    lrwxrwxrwx 1 root root 9 Jan 17 08:52 wwn-0x5000000000000223 -> ../../sdb
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 wwn-0x5000000000000223-part1 -> ../../sdb1
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 wwn-0x5000000000000223-part2 -> ../../sdb2
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 wwn-0x5000000000000223-part3 -> ../../sdb3
    lrwxrwxrwx 1 root root 9 Jan 17 08:52 wwn-0x50014ee20e906004 -> ../../sda
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 wwn-0x50014ee20e906004-part1 -> ../../sda1
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 wwn-0x50014ee20e906004-part2 -> ../../sda2
    lrwxrwxrwx 1 root root 10 Jan 17 08:52 wwn-0x50014ee20e906004-part5 -> ../../sda5

    如果想要直通sda这块硬盘给101,应使用如下命令:
    qm set 101 --sata1 /dev/disk/by-id/ata-WDC_WD10EZEX-08WN4A0_WD-WCC6Y4VNZJA0
    再加一块sdb的话呢:
    qm set 101 --sata2 /dev/disk/by-id/ata-Fanxiang_S100Pro_256GB_MX_00000000000020223

4. 导入img磁盘或vof磁盘的命令:

  1. 使用WinSCP或其它工具上传虚拟磁盘文件到自定义的目录

  2. 使用命令转换并导入:

    1
    qm importdisk 101 /root/mydisk.img local-lvm 
  3. 说明:

    101 :要导入的目标虚拟机ID

    /root/mydisk.img : 上传的虚拟磁盘文件。

    local-lvm : 转换后存入的存储卷。根据实际情况修改。


PVE直通网卡和硬盘
http://anximin.github.io/2024/01/17/PVE_zhitong/
作者
Sylar
发布于
2024年1月17日
许可协议