PVE 5.3网卡直通 | PCI NIC Passthrough
The pic shown below is recently purchased “software router” from Taobao. This article is written to talk about PCI NIC (Ethernet) passthrough on the newly released Proxmox 5.3.
Configuration –
- Intel 3205U 2C 1.5GHz
- DDR3 4G RAM
- LENOVO MSATA 256GB SSD
最近一直心痒想玩软路由,入了一台几乎是HTPC的“诡异”配置。说是软路由,带着wifi、音频输出和HDMI,说是HTPC吧,还有四块i211千兆。
本想玩esxi,但想到那玩意儿非开源,输码激活不说;Host机上还不方便跑其他脚本和自己想玩的服务,所以还是上熟悉的Proxmox,这货抛掉虚拟机就是个minimum installed Debian,Host和Guest都可以玩的尽兴。
先上直通后的样子 –
- 黑线是#1网口,是PVE Host管理口,也是Guest机虚拟网卡桥接到外界的网口
- 灰线是#2口,是虚拟机直通后走的物理网口。
过程比较简单 –
- 首先下载PVE 5.3的ISO镜像,使用dd或者ddrescue写入U盘(Win用户可自行搜索安装工具,比如ultraiso,或者PE U盘等)
- 在软路由上安装PVE,如果不喜欢pool使用LVM thin的磁盘管理方式,可以换回qcow2方式,官方文档在此处
- 用Host机键鼠,或者ssh到Host,改两个config文件(vi使用会有问题,可以选用nano,或者apt-get install vim-nox)
- 重启,在PVE web UI操作剩下的部分
- 测试直通效果,打完收工
config文件一
打开grub配置
1 |
vim /etc/default/grub |
更改以下行
1 |
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" #启用iommu |
保存文件后,更新grub
1 |
update-grub |
config文件二
打开文件
1 |
vim /etc/modules |
写入以下几行,保存退出
1 2 3 4 |
vfio vfio_iommu_type1 vfio_pci vfio_virqfd |
如上所述,重启后网卡可以被直通进虚拟机,演示虚拟机为ubuntu 16.04 LTS
物理网卡#2被直通后,在物理机一端,和虚拟机一端看到的MAC地址是一致的,而且虚拟机也可以通过物理网卡(而非桥接)直接通网。
补一下Win10经过直通的i211网卡,MAC地址就不再详查了
Shenzhen is powerful, always beyond expectation.
强大的华强北,请允许我再提一遍。只有想不到,没有买不到。
文章的脚注信息由WordPress的wp-posturl插件自动生成