如何获取linux网卡发送队列的当前长度

如何获取linux网卡发送队列的当前长度,第1张

  先用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即可。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何获取linux网卡发送队列的当前长度

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情