月度归档:2023年04月

Intel N5105 四口小主机 网卡直通 2023-04-10

一、需求描述

Intel N5105 主机有四个2.5G的网口,需要把其中2个直通给VM虚机使用,如下是配置PCI网口直通的简单操作步骤。

二、物理网口直通

开启PCI直通功能,方便PVE的物理网口直通

如果是使用的GRUB引导,当前N5105,是Intel的CPU,10nm工艺,4核心4线程,2.0GHz,最大支持内存16GB@2933 MHz,

1、主板的虚拟化功能开启

"Intel Virtualization Technology"  -> enabled
"Memory Remap Feature"  -> Intel VT-d / IOMMU  
/// 看主板,有的描述不一样,如果到后面,发现不能直通,再返回检查主板BIOS里,是不是某个VT-d/IOMMU功能选项未开启

/// 我这里买的这款,主板默认是开启的,也就不需要设置了

2、如果PVE是使用的GRUB,修改配置文件 /etc/default/grub

/// If you are using GRUB
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

/// Then save the changes and update grub
update-grub

3、加载必要的模块,修改,/etc/modules

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

/// Note that in the 5.4 based kernels some of those modules are already built into the kernel directly. 5.4版本的内核,有的模块已经加载了,不过,为了保险期间,这几个可添加一下

4、重启设备

reboot

5、检查状态

dmesg | grep -e DMAR -e IOMMU

/// There should be a line that looks like "DMAR: IOMMU enabled". If there is no output, something is wrong. 如果显示 DMAR: IOMMU enabled,则表示开启成功,如果有其他提示,估计就是报错了。

参考 PVE官方指导 https://pve.proxmox.com/wiki/PCI_Passthrough

后续就可以通过添加PCI直通的方式,将网口直通给小主机内的VM,一般建议关机状态添加直通,添加完成后,可以在VM里lspci看到,也可以通过ip 命令匹配MAC地址,找到对应的直通的口是哪一个。

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

N5105,折腾笔记,2.5Gbps 局域网 2023-05-18

段落1、需求描述

基于前面讲过的N5105设备,由于它四个LAN口都是2.5Gbps的,向下可以自适应到千兆,故而,用它作为软路由,或者ALL IN ONE,可以让局域网环境成为全2.5G的高速环境

段落2、PVE场景下,2.5G实现

N5105宿主机安装Proxmox VE 7.4版本(这个是写本文的时间,最新的稳定版本了),配置它自身的网络。

主要功能就是,

1、建立一个网口汇聚,包含网口2、3、4,名为bond0,工作在负载轮循模式

2、建立一个虚机网桥vmbr0,设置一个私网的地址,桥接到bond0,网关设置为在路由虚拟机的虚拟网卡上

root@pve:/etc/network# cat interfaces
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface enp1s0 inet manual

iface enp2s0 inet manual

iface enp3s0 inet manual

iface enp4s0 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves enp2s0 enp3s0 enp4s0
        bond-miimon 100
        bond-mode balance-rr

auto vmbr0
iface vmbr0 inet static
	address 10.25.50.75/24
	gateway 10.25.50.1
	bridge-ports bond0
	bridge-stp off
	bridge-fd 0

root@pve:/etc/network# 

× 因为,我就下联一个普通的路由器,普通路由器,我暂时没有买2.5G WAN口的款式,日常bond0也就一个口Active,速率向下适配到千兆,流下贫穷的眼泪。

root@pve:/etc/network# cat  /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v5.19.17-2-pve

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

Slave Interface: enp2s0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 60:be:b4:08:fd:72
Slave queue ID: 0

Slave Interface: enp3s0
MII Status: up
Speed: 1000 Mbps  <-- 因为接的普通千兆路由器发射WIFI信号,故而这个2.5G口工作在千兆速率
Duplex: full
Link Failure Count: 1
Permanent HW addr: 60:be:b4:08:fd:73
Slave queue ID: 0

Slave Interface: enp4s0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 60:be:b4:08:fd:74
Slave queue ID: 0
root@pve:/etc/network# 

段落3、PVE场景下,添加 OpenWRT路由 VM

安装一个OpenWRT或者爱快的路由VM系统,其实非常简单,这里以OpenWRT示例,就在PVE的shell环境下,创建一个虚机(不含硬盘),通常规格来说2核心2GB内存10GB磁盘,足够OpenWRT使用,确保VMID无误,使用如下命令,进行创建磁盘的过程

参数 102,需要修改为,你自己OpenWRT的VMID

参数 /var/lib/vz/template/iso/openwrt-22.03.4-x86-generic-generic-squashfs-combined.img,是在上传img镜像到PVE时候,可以看到的上传路径

参数 local-lvm,一般就是默认的,后续VM的磁盘,可以迁移。

qm importdisk 102 /var/lib/vz/template/iso/openwrt-22.03.4-x86-generic-generic-squashfs-combined.img local-lvm

在OpenWRT虚机VM,硬件界面,选择刚刚生成的硬盘,加载,一般,我喜欢把它容量增加一点,点击该硬盘,磁盘操作,增加容量到11GB。

在OpenWRT虚机VM,选项界面,开机自启动(开启),引导顺序(选择刚刚扩容好的那个磁盘scsi0)

在OpenWRT虚机VM,硬件界面,添加网卡直通,选择添加,选择PCI设备,选中要直通的网口

完成上面的设置后,就可以开机这台OpenWRT了。

在OpenWRT虚机VM,控制台页面

修改LAN的地址段,这个有了,这个VLAN网关就有了,如有必要passwd命令,修改一下系统的密码,不使用默认密码,养成一个安全的好习惯。

/etc/config/network  -->  LAN --> option ipaddr '10.25.50.1'

这里,设置网卡时候,需要注意的是,如有eth0,eth1两个OpenWRT内部网卡名称,一个是桥接vmbr0的虚拟网卡,一个是直通网口,可以通过MAC地址区分哪个是哪个。

我下图设置的,LAN是走的桥接vmbr0的 eth0 ,上联的WAN走的直通口,工作在拨号PPPoE还是DHCP,就看你自己实际情况了。

至此,这个网络就算OK了,其他虚机,只要虚拟网卡桥接到vmbr0这个即可。

段落4、架构示意图

大致的架构拓扑示意图,可根据实际需要修改功能





附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨

N5105,ALL IN ONE 主机,折腾笔记 2023-04-05

更新记录

2023-04-10 更新,增补章节,对于N5105 开启

一、前情回顾

最近闲的慌,找点东西玩,于是有了购买这样一套ALL IN ONE主机的想法,用来跑跑PVE环境,把原来的台式机跑的替换下来,而且有尝试2.5G局域网的想法。

二、物料清单(品牌型号仅作为折腾记录,不作为Dasmz推荐款式)

2.1 倍控 G31-N5105 i226 四个2.5G网口,准系统(不含内存条,硬盘)* 1 ,全新,淘宝, 680 元

2.2 光威 8GB DDR4 2666MHz * 2,全新,京东,98 × 2 = 196 元

2.3 秋叶原 七类网线 1.5m * 2,全新,京东,14 × 2 = 28 元

2.4 科乐多 2.5G网卡 转USB 3.0 * 1,全新,淘宝,85 元

2.5 联想 1TB SATA 3.0 SSD固态硬盘 * 1,全新,京东,429 元

2.6 金士顿 NVMe M.2 500G * 1,全新,京东,249 元

>>> 680 + 196 + 28 + 85 + 429 + 249
1667
>>> 
# 总设备材料花费 1667 元, 价格根据时间(价格仅供参考,如上采购时间为2023年3月下旬)

采购时候的避坑记录

1、 没有所谓的软路由专用内存条,就是普通的DDR4笔记本电脑用的内存条,京东购买即可
2、 购买的这款,支持NVMe M.2的固态 + SATA接口,双盘,回来拆开发现,其实由于设备内部空间小,还是应该优先选择M.2。 自己购买的SSD硬盘,质量更有保证一点。
3、 被动散热还是有点力不从心,注意可选一个简单的USB风扇吹吹它的外壳
4、 实际在2.5G这个层级,质量佳的六类网线,对比7类线,暂未发现明显的速率差别。

三、Intel N5105 四2.5G网口主机 网口直通

Intel N5105 四2.5G网口主机PVE下VM卡死,故障处理记录 2023-05-04

五、N5105 四2.5G网口主机,PVE下网络配置,2.5G局域网 2023-05-18

附录1、广告一枚

# 广告
如上的All in One主机配置,搭配商宽,可以非常丝滑,比起各家云服务器,私有化的硬件和商宽网络,可以满足DIY的需求,Dasmz亲自负责这套软硬件的实施交付

独享服务器 1台 准现货,规格情况如下:

核心 英特尔十代i5-10500H
内存 8G DDR4
磁盘 256GB-NVMe SSD
位置 上海
ISP CU
类型 商宽
流量 无限制
带宽 独享 500M 上下行对等
IPv4 1个 动态 
IPv6 分发前缀/60 地址/64
交付时间 下单后两周时间内

价格 12000 元/年

可选 操作系统 Windows/CentOS/Debian/Ubuntu/OpenWRT/ProxmoxVE/EXSi 首次安装系统免费

增值 可选
带宽 1Gbps  
内存 16G
磁盘 NVMe 1TB
运维服务

价格可谈,配置规格可加,有想要的欢迎私信DM

附录2、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Donate
云乞讨