如何获取linux网卡发送队列的当前长度
先用dev_get_by_name按名称,或dev_get_by_index按ifindex获取net_device结构,也就是“dev->tx_queue_len”中的dev。
ntel 82575/6芯片在千兆网卡里面属于功能最强大的,它支持PCIe 20 x4界面,支持MSI-X中断方式,提供了16个TX和RX队列,并能支持8个RSS队列和8个VMDq队列,前者增强了多路处理器下的网络性能、降低了CPU占用率,后者则可以大为提升在虚拟化环境下的虚拟网络效能
数据包从虚拟机到物理机过程:
半虚拟化技术使数据包跳过QEMU虚拟网卡,从虚拟机直接到虚拟化层,
虚拟网卡性能排序:
简化虚拟化环境中的交换网络,代替传统的Linux TAP设备加Bridge设备组合
MacVTap设备有3中不同的工作模式:
创建MacVTap端口过程
KVM虚拟机使用MacVTap网络
在xml文件配置如下
虚拟机开启后,宿主系统会自动创建一台MacVTap设备给虚拟机使用,这台MacVTap设备附属于母设备eth0,工作模式为Bridge
xml文件配置
1物理网卡的中断与多队列
查看网卡是否支持RSS:
ls /sys/class/net/eth0/queues/
2绑定中断
3多队列Virtio网卡
查看是否支持:
grep IFF_MULTL_QUEUE /usr/include/Linux/if_tunh
多队列Virtio网卡配置:
N 1-8最多支持8个队列,在虚拟机上执行以下命令开启多队列网卡:
ethtool -L eth0 combined M
M 1-N,M小于等于N
PCI Passthrough配置
1查看网卡设备信息:
lspci 或者 virsh nodedev-list --tree
2得到pci_0000_02_00_0的配置信息
virsh nodedev-dumpxml pci_0000_02_00_0
3编辑虚拟机xml文件,加入PCI设备信息
SR-IOV 上有两个功能类型。
SR- IOV 标准允许高效共享PCI-E 设备, 有以下优点:
2网卡S R-IO V 的配置
SR-IOV 的配置需要先配置宿主机 PF , 然后将子网卡通过网卡独占的方式供虚拟机使用。
(1) 加载SR-IOV 内核模块
通过modprobe 命令加载igb 模块。
modprobe igb
实际加载的时候,需要激活虚拟功能(VF)。
modprobe igb max_vfs=7
如果需要重新设置VF, 可以删除模块再重新加载。
modprobe -r igb
将配置永久写入配置文件。
echo "options igb max_vfs=7" >> /etc/modprobed/igbc onf
通过 lspci 命令可以看多主网卡和子网卡。
(2) 子网卡的使用
虚拟机可以通过网卡独占的方式使用子网卡。
virsh nodedev-list |grep 0b
虚拟机网卡xml 配置文件如下:
虚拟机需要安装网卡驱动才能 使用子网卡,高版本的Linux系统可以自动识别子网卡,
Windows系统只能是2008 Sevrer 以上版本,并且要安装最新的 Intel网卡驱动。
配置方法如下:1,给2台WEB服务器装置NLB,以后在其间恣意一台上来新建群集,然后将别的一台加入到这个群会集即可,并保证这2台服务器都是运用的静态IP。
2,在web-01(1921681130)上从管理工具中翻开 网络负载均衡器,右击“网络负载平衡群集”,挑选“新建群集”
3,在“新群集:衔接”窗口中将 1921681130增加为主机,点击下一步进入 “新群集:主机参数”,下一步,进入 “新群集:群集IP地址”,增加窗口中的“增加” 将1921681254 增加到窗口中然后下一步;
4,进入 “新群集:群集参数”,挑选“多播”然后下一步;进入 “新群集:端口规则”,选中悉数,然后修改;将端口范围改成 80~80,协议选 “TCP”,相关性选“无”点击断定回到主窗口,然后点击完结。
5,经过上面的过程,现已建立了一个群集,并且将web-01加入到了群会集,还需要手动将web-02也加入到群会集。在群集(1921681254)上右键点击“增加主机到群集”。衔接”窗口中的 主机中输入1921681131即可。
0条评论