原创文章,转载请注明出处
https://qiedd.com/
不讲系统安装,这种一般挺简单的,只讲pve如何配置
一、硬件及pve内部虚拟机规划
硬件
CPU 8700T es
主板 技嘉 Z270N-WIFI (itx主板,两个intel网卡,刷BIOS可上89代u)
内存 精亿 DDR4 3000 16G*2 (为什么买杂牌?因为便宜啊,285两根32G巨香)
硬盘 sm961 256G,4*3T 日立 HUS724030ALA640
感谢匿名群友的经验:PVE系统盘不能使用走sata协议的M.2固态,否则会影响接下来给FreeNAS直通SATA控制器
散热 猫头鹰 NH-L9i
电源 1U 400W
网卡 INTEL I350-T4
USB转RJ45(重要!用于配置PVE,弄完路由固件后可以拔掉)
系统
Proxmox 6.1-2
规划
1.Ikuai做为一级路由负责拨号,LEDE做二级路由负责跑各种插件
2.主板上的两个网卡直通给ikuai做wan(拉了两条宽带,电信和移动,所以需要两个wan,做流控的话建议选爱快或者ROS,但是ROS正版要钱。。)
3.I350T4直通给LEDE做lan(~这里有人可能会问为什么不给个口做pve管理网口,我试过直通三个口LEDE,一个给PVE,启动LEDE时候就无法再连接到PVE了,网上说这是因为它们四个网口用的同一个控制器,直通相当于对控制器直通。
那么又有人会问了,怎么看网卡是用的同一个控制器呢?看网卡编号,比如说我这块I350-T4,4个网口的编号分别是(如下图)enp1s0f0,enp1s0f1,enp1s0f2,enp1s0f3,只有后面的数字变了,那就是同一个控制器控制的)
4.整个SATA控制器直通给FreeNAS(只直通硬盘无法读取Smart信息)
5.SM961当系统盘(同理,SATA控制器直通给了FreeNAS后,其他虚拟机以及宿主机就无法使用板载SATA口了,除非你的主板有多个SATA控制器或者有pcie扩展卡)
6.使用SATA协议的M.2固态时,会将硬盘交给SATA控制器而不是pcie,直通SATA控制器时会造成PVE系统错误
7.USB网卡是作为PVE管理接口使用的
小白须知
小白可能不知道虚拟机之间是如何通信的
其实就是靠vmbr*这些网桥,虚拟机在添加“网络设备”时选择网桥,相当于生成了一个虚拟网卡,当网桥两端都有虚拟机时,就可以实现虚拟机之间的通信了
二、进行直通
准备工作
编辑文件 /etc/default/grub 可以用winscp进目录里改,也可以在pve->节点->shell里面用命令行改,或者ssh连上pve改
vi /etc/default/grub #找到 GRUB_CMDLINE_LINUX_DEFAULT="quiet“ #INTEL CPU用户改成 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" #AMD(Yes!)CPU用户改成 GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on" :wq保存
#执行 dmesg | grep -e DMAR -e IOMMU #若无输出,请在BIOS内开启VT-d #执行 update-grub
修改文件 /etc/modules
vi /etc/modules #在最后面加上 vfio vfio_iommu_type1 vfio_pci vfio_virqfd :wq保存
然后重启
reboot
爱快(Ikuai)/Openwrt(LEDE)进行直通网卡
创建虚拟机后,在对应的虚拟机->硬件->添加pci设备
找到对应的网卡即可
FreeNAS直通SATA控制器
#执行 dmesg|grep SATA #输出 [ 1.233142] ahci 0000:00:17.0: AHCI 0001.0301 32 slots 6 ports 6 Gbps 0x3f impl SATA mode [ 1.290937] ata1: SATA max UDMA/133 abar m2048@0xf784b000 port 0xf784b100 irq 151 [ 1.290938] ata2: SATA max UDMA/133 abar m2048@0xf784b000 port 0xf784b180 irq 151 [ 1.290939] ata3: SATA max UDMA/133 abar m2048@0xf784b000 port 0xf784b200 irq 151 [ 1.290941] ata4: SATA max UDMA/133 abar m2048@0xf784b000 port 0xf784b280 irq 151 [ 1.290942] ata5: SATA max UDMA/133 abar m2048@0xf784b000 port 0xf784b300 irq 151 [ 1.290943] ata6: SATA max UDMA/133 abar m2048@0xf784b000 port 0xf784b380 irq 151 [ 1.604359] ata1: SATA link down (SStatus 4 SControl 300) [ 1.604430] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300) [ 1.604449] ata6: SATA link down (SStatus 4 SControl 300) [ 1.604466] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300) [ 1.607730] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300) [ 1.608366] ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1.233142] ahci 0000:00:17.0: AHCI 0001.0301 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
这个与众不同的就是sata控制器了,记住设备ID(0000:00:17.0),在添加PCI设备时找到对应的硬件添加即可
三、安装的一些注意事项
1.PVE安装时我选择了usb网卡作为管理接口,这样就不会收到直通的影响了,以后出问题维护重新插回去也没问题的
2.FreeNAS创建虚拟机时,CPU请选择qemu64而不是默认的kvm64,否则会造成FreeNAS无法正常关机,会重新启动的现象,网卡选择时,我用Virtio居然获取不到ip,如果你们也获取不到web UI的IP,建议选vmxnet3
3.LEDE安装后在命令行界面默认会选择第一个网卡eth0作为lan口,如果你的lan口用的不是第一个网卡,请编辑/etc/config/network进行更改
vi /etc/config/network #修改config interface 'lan'这一栏的配置 #配置文件省略,lan和wan的网卡请勿相同,ip地址请勿和上级网关冲突 :wq保存 #执行 reboot #或者 /etc/init.d/network restart
4.LEDE多个网卡划分到lan的方法
网络-接口-lan-物理设置,把所有需要当成lan的网卡勾在一起就行了
5.爱快(ikuai)设置lan口时有个“高级选项”,点开,把需要规划为lan的网卡都打上勾就行
6 条评论
keen · 2020年6月28日 上午10:44
大佬,有联系方式来共同探讨下PVE的软路由嘛?
Lordpenguindd · 2020年6月28日 下午10:16
我懂得也不多,有什么问题的话直接留言就好了?
winstarst · 2020年10月17日 下午10:21
感谢分享,我的主板与您一样,一直在找 pve 直通的同类资料,收获满满。
关于 I350T4 不能直通多个虚拟机,我查到资料是可以分开直通的,比如 https://koolshare.cn/thread-167045-1-1.html DIY的机器装PVE 配合I350T4直通有问题,
https://post.smzdm.com/p/a5kl3qg3/?send_by=2174679022&from=other&invite_code=zdm2tenkvminv unraid如何实现多口网卡直通?我的一些折腾经验分享
只要打开 down stream 就行了,如下
quiet intel_iommu=on pcie_acs_override=downstream
不知道是否怼你有用,期待您的验证结果。
Lordpenguindd · 2020年10月18日 下午9:05
感谢分享
palytoxin · 2020年11月23日 上午12:15
如果不直通sata控制器,只直通硬盘 freenas使用有其他问题嘛?
Lordpenguindd · 2020年11月24日 上午9:14
我搜到的结论是,只直通硬盘,freenas就读不到smart信息了