Proxmox VE(PVE)开启IOMMO并开启网卡(82576)SRIOV功能【时隔半年，我回来了】
82576在KVM虚拟机下使用网卡的SRIOV功能直通进虚拟机，减少使用Proxmox VE虚拟网卡的NAT功能，提高网卡性能，降低CPU占用。哔哩哔哩链接：文字不带劲，来视频一、pve介绍简单来说：Proxmox VE是一个集成OPENVZ 支持KVM应用的环境。二、单根I/O虚拟化(SRIOV)介绍[collapse title="单根I/O虚拟化(SRIOV)介绍" status="false"]I/O虚拟化可以提高服务器性能和简化硬件要求，而且同时可以在服务器上增加I/O密集型虚拟机的最大数量。SR-IOV技术现已可以开始把具有SR-IOV功能的设备定义成为一种外围设备物理功能模块（PF）并且使之能与主机hypervisor系统直接相互交互信息。PF主要用于在服务器中告诉hypervisor系统关于物理PCI设备运行的状态是否可用。 SR-IOV在操作系统层，现在能在所有的外围物理设备PF下，创建不只一个的虚拟功能设备（VFs）。VFs能共享外围设备的物理资源（像网卡端口或网卡缓存空间）并且与SR-IOV服务器上的虚拟机系统进行关联。SR-IOV能允许一个物理PCIe设备把自身虚拟为多个虚拟PCIe设备。[/collapse]三、基础环境以及软件安装Proxmox VE 5.4CPU:E5645*2网卡：intel 825763.1 软件安装安装基本的软件root@pve:~# apt update root@pve:~# apt-get install net-tools vim ethtool -y\3.2 打开IOMMU在/etc/default/grub文件里，GRUB_CMDLINE_LINUX_DEFAULT行添加以下内容那么使用vim打开文件，添加如果你是intel CPU。GRUB_CMDLINE_LINUX_DEFAULT=" intel_iommu=on pcie_acs_override=downstream"如果你是AMD CPU，那么添加一下内容：GRUB_CMDLINE_LINUX_DEFAULT=" amd_iommu=on pcie_acs_override=downstream"更新grubroot@pve:~# update-grub在/etc/modules文件里添加如下内容：使用vim打开/etc/modules，添加一下内容： vfio vfio_iommu_type1 vfio_pci vfio_virqfd更新并重启root@pve:~# update-initramfs -u -k all root@pve:~# reboot3.3 检查IOMMO功能是否开启root@pve:~# dmesg | grep -e DMAR -e IOMMU -e AMD-Vi [ 1.140539] DMAR: Host address width 40 [ 1.140626] DMAR: DRHD base: 0x000000fbffe000 flags: 0x1 [ 1.140740] DMAR: dmar0: reg_base_addr fbffe000 ver 1:0 cap c90780106f0462 ecap f020f6 [ 1.140865] DMAR: RMRR base: 0x000000000ed000 end: 0x000000000effff [ 1.140959] DMAR: RMRR base: 0x000000bf7ed000 end: 0x000000bf7fffff [ 1.141053] DMAR: ATSR flags: 0x0 [ 1.141445] DMAR: dmar0: Using Queued invalidation [ 1.141552] DMAR: Setting RMRR: [ 1.141911] DMAR: Setting identity map for device 0000:00:1a.0 [0xbf7ed000 - 0xbf7fffff] [ 1.142336] DMAR: Setting identity map for device 0000:00:1a.7 [0xbf7ed000 - 0xbf7fffff] [ 1.142711] DMAR: Setting identity map for device 0000:00:1d.0 [0xbf7ed000 - 0xbf7fffff] [ 1.143088] DMAR: Setting identity map for device 0000:00:1d.1 [0xbf7ed000 - 0xbf7fffff] [ 1.144741] DMAR: Setting identity map for device 0000:00:1d.2 [0xbf7ed000 - 0xbf7fffff] [ 1.145156] DMAR: Setting identity map for device 0000:00:1d.7 [0xbf7ed000 - 0xbf7fffff] [ 1.145301] DMAR: Setting identity map for device 0000:00:1a.0 [0xed000 - 0xeffff] [ 1.145438] DMAR: Setting identity map for device 0000:00:1a.7 [0xed000 - 0xeffff] [ 1.145574] DMAR: Setting identity map for device 0000:00:1d.0 [0xed000 - 0xeffff] [ 1.145710] DMAR: Setting identity map for device 0000:00:1d.1 [0xed000 - 0xeffff] [ 1.145846] DMAR: Setting identity map for device 0000:00:1d.2 [0xed000 - 0xeffff] [ 1.145982] DMAR: Setting identity map for device 0000:00:1d.7 [0xed000 - 0xeffff] [ 1.146120] DMAR: Prepare 0-16MiB unity mapping for LPC [ 1.146460] DMAR: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff] [ 1.146781] DMAR: Intel(R) Virtualization Technology for Directed I/O 如果出现一下内容，就代表IOMMO功能开启成功。如果没有出现，那么在/etc/modprobe.d/的任意一个.conf下增加这些内容： options vfio_iommu_type1 allow_unsafe_interrupts=13.3 部署SRIOV首先确定你的intel网卡支持SR-IOV，如果支持，那么继续root@pve:~# echo "options igb max_vfs=6,6,6,6,6,6" > /etc/modprobe.d/igb.conf root@pve:~# depmod -a root@pve:~# update-initramfs -u root@pve:~# reboot解释一下，max_vfs=6,6,6,6,6,6：1.1 这条语句说明最大的虚拟网卡是6个，也就是虚拟6个1.2 6,6···说明我这里有6个intel 82576网卡，每个网卡虚拟出6个，总共是36个虚拟网卡3.4 检查虚拟网卡root@pve:~# dmesg | grep 82576 [ 2.527369] igbvf 0000:07:10.1: Intel(R) 82576 Virtual Function [ 2.532109] igbvf 0000:07:10.3: Intel(R) 82576 Virtual Function [ 2.535583] igbvf 0000:07:10.5: Intel(R) 82576 Virtual Function [ 2.539074] igbvf 0000:07:10.7: Intel(R) 82576 Virtual Function [ 2.542565] igbvf 0000:07:11.1: Intel(R) 82576 Virtual Function [ 2.546055] igbvf 0000:07:11.3: Intel(R) 82576 Virtual Function [ 2.768637] igbvf 0000:07:10.0: Intel(R) 82576 Virtual Function [ 2.771872] igbvf 0000:07:10.2: Intel(R) 82576 Virtual Function [ 2.775080] igbvf 0000:07:10.4: Intel(R) 82576 Virtual Function [ 2.778273] igbvf 0000:07:10.6: Intel(R) 82576 Virtual Function [ 2.781481] igbvf 0000:07:11.0: Intel(R) 82576 Virtual Function [ 2.784682] igbvf 0000:07:11.2: Intel(R) 82576 Virtual Function [ 2.920650] igbvf 0000:05:10.0: Intel(R) 82576 Virtual Function [ 3.128489] igbvf 0000:05:10.2: Intel(R) 82576 Virtual Function [ 3.412422] igbvf 0000:05:10.4: Intel(R) 82576 Virtual Function [ 3.540328] igbvf 0000:05:10.6: Intel(R) 82576 Virtual Function [ 3.580426] igbvf 0000:05:11.0: Intel(R) 82576 Virtual Function [ 3.608433] igbvf 0000:05:11.2: Intel(R) 82576 Virtual Function [ 3.940652] igbvf 0000:05:10.1: Intel(R) 82576 Virtual Function [ 3.960418] igbvf 0000:05:10.3: Intel(R) 82576 Virtual Function [ 3.976422] igbvf 0000:05:10.5: Intel(R) 82576 Virtual Function [ 3.992427] igbvf 0000:05:10.7: Intel(R) 82576 Virtual Function [ 4.008435] igbvf 0000:05:11.1: Intel(R) 82576 Virtual Function [ 4.024426] igbvf 0000:05:11.3: Intel(R) 82576 Virtual Function [ 4.359456] igbvf 0000:04:10.0: Intel(R) 82576 Virtual Function [ 4.380383] igbvf 0000:04:10.2: Intel(R) 82576 Virtual Function [ 4.400395] igbvf 0000:04:10.4: Intel(R) 82576 Virtual Function [ 4.424404] igbvf 0000:04:10.6: Intel(R) 82576 Virtual Function [ 4.440398] igbvf 0000:04:11.0: Intel(R) 82576 Virtual Function [ 4.464396] igbvf 0000:04:11.2: Intel(R) 82576 Virtual Function [ 4.795365] igbvf 0000:04:10.1: Intel(R) 82576 Virtual Function [ 4.820409] igbvf 0000:04:10.3: Intel(R) 82576 Virtual Function [ 4.836453] igbvf 0000:04:10.5: Intel(R) 82576 Virtual Function [ 4.856446] igbvf 0000:04:10.7: Intel(R) 82576 Virtual Function [ 4.872448] igbvf 0000:04:11.1: Intel(R) 82576 Virtual Function [ 4.888444] igbvf 0000:04:11.3: Intel(R) 82576 Virtual Function出现VF代表成功了，那么在你的Proxmox VE 控制面板上，网络一栏就会出现很多网卡[scode type="blue"]注意把原来网卡标记一下，否则会乱的[/scode]以下是我的网卡界面截图四、【问题1】网卡直通windows不识别怎么办windows下网卡提前必须是up状态【重点】就像这样：首先在intel官方下载intel驱动【找到自己的型号】intel网卡驱动下载传送门输入如下指令：pnputil -a PRO1000\Winx64\NDIS62\v1q62x64.inf之后进行正常安装即可参考网址:https://peterkieser.com/2014/07/22/intel-e1g42et-82576-controller-sr-iov-with-windows-2008-r2-guest/五、【问题2】解决群晖不支持驱动问题下载boot文件【支持最新的6.2.2】boot文件下载地址:链接:https://pan.baidu.com/s/1vfeznXGAwvfedskn73vL5Q 提取码:cqjt 复制这段内容后打开百度网盘手机App，操作更方便哦参考网址：https://xpenology.com
群晖不更新的时候，一直显示一个小红点，这样强迫症的很难受，因此，本文主要内容是去除群晖提示升级小红点。群晖去除升级小红点介绍[collapse title="群晖DSM介绍" status="false"]群晖科技（Synology ）创立于 2000 年，其操作系统DiskStation Manager (DSM)以简单使用，高价值，多功能，移动化而出名。[/collapse]问题[scode type="yellow"]如下图所示，由于不更新会出现小红点[/scode]这让强迫症的我很烦恼，于是，去网上找去掉小红点的方法，终于让我找到了，因此，把去除小红点的教程分享到这里，希望能对你有所帮助。桌面小红点解决方法文件定位用 WinSCP 使用 root 权限登录到群晖，找到定位到/usr/syno/synoman/synoSDSjslib/文件夹。如下图所示：sds.css修改在文件最后添加以下代码，保存。/* 去除桌面提示小红点 */ .sds-application-notify-badge-num {display:none!important;}Ctrl+F5 刷新网页，搞定。[scode type="blue"]修改请备份原文件。[/scode]注意[scode type="blue"]以上方法只可去除桌面提示小红点，如果也想去除 “控制面板”>“更新和还原” 上面的提示小红点的话，请往下看。[/scode]更新和还原小红点解决办法修改style.css文件修改另外一个文件：/usr/syno/synoman/webman/modules/AdminCenter/style.css在文件最后添加以下代码/* 去除控制面板提示小红点 */ .syno-app-admin-center-icon-image .badge {display:none!important;}保存,查看是否生效。出处本文方法出自：https://nnboli.com/859.html第二种去除小红点办法登录群晖SSH，输入以下命令# 1、处理控制面板里面系统升级的小红点 cp /usr/syno/synoman/webman/modules/AdminCenter/images/default/1x/badge_control_panel.png /usr/syno/synoman/webman/modules/AdminCenter/images/default/1x/badge_control_panel.png.bak cp /usr/syno/synoman/webman/modules/AdminCenter/images/default/2x/badge_control_panel.png /usr/syno/synoman/webman/modules/AdminCenter/images/default/2x/badge_control_panel.png.bak wget -O /usr/syno/synoman/webman/modules/AdminCenter/images/default/1x/badge_control_panel.png https://raw.githubusercontent.com/xzxiaoshan/files/master/transparent.png wget -O /usr/syno/synoman/webman/modules/AdminCenter/images/default/2x/badge_control_panel.png https://raw.githubusercontent.com/xzxiaoshan/files/master/transparent.png # 2、处理控制面板里面系统升级的小红点（侧栏提示） cp /usr/syno/synoman/synoSDSjslib/images/default/1x/dsm5_notification_num.png /usr/syno/synoman/synoSDSjslib/images/default/1x/dsm5_notification_num.png.bak cp /usr/syno/synoman/synoSDSjslib/images/default/2x/dsm5_notification_num.png /usr/syno/synoman/synoSDSjslib/images/default/2x/dsm5_notification_num.png.bak wget -O /usr/syno/synoman/synoSDSjslib/images/default/1x/dsm5_notification_num.png https://raw.githubusercontent.com/xzxiaoshan/files/master/transparent.png wget -O /usr/syno/synoman/synoSDSjslib/images/default/2x/dsm5_notification_num.png https://raw.githubusercontent.com/xzxiaoshan/files/master/transparent.png # 3、直接把桌面的小红点提示也都撸掉 cp /usr/syno/synoman/synoSDSjslib/images/default/1x/dsm5_badge_num.png /usr/syno/synoman/synoSDSjslib/images/default/1x/dsm5_badge_num.png.bak cp /usr/syno/synoman/synoSDSjslib/images/default/2x/dsm5_badge_num.png /usr/syno/synoman/synoSDSjslib/images/default/2x/dsm5_badge_num.png.bak wget -O /usr/syno/synoman/synoSDSjslib/images/default/1x/dsm5_badge_num.png https://raw.githubusercontent.com/xzxiaoshan/files/master/transparent.png wget -O /usr/syno/synoman/synoSDSjslib/images/default/2x/dsm5_badge_num.png https://raw.githubusercontent.com/xzxiaoshan/files/master/transparent.png