Linux hvrhub 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
KVM的网络优化方案,总的来说,就是让虚拟机访问物理网卡的层数更少,直至对物理网卡的单独占领,和物理机一样的使用物理网卡,达到和物理机一样的网络性能。
VFIO的全称是Virtual Function IO,但这个名字并不能反应它的特点,以下两个假名字更能反应VFIO的特点:
前言: 随着Linux的版本升高,存储栈的复杂度也随着增加。作者在这里简单介绍目前Linux存储栈。 分析: 1,storage stack 在用户态,可以看到的磁盘主要有几种类型: a,/dev/
linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huangweiqing80/article/details/83347495
在前几期,我们发现,正如生产关系与生产力之间的相互作用那样,低效的虚拟化数据平面工作机制,会严重约束云计算生产力的发展。
在 Linux 中查找可用的网络接口 我们可以通过几种方式找到可用的网卡。在本指南中,我们将讨论列出 Linux 中网络接口卡的 10 种方法。 1. 使用 ifconfig 命令列出网络接口 使用ifconfig命令查找网络接口详细信息的最常用方法。我相信一些 Linux 用户可能仍在使用它。 $ ifconfig -a enp5s0: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 24:b6:fd:37:8b:29 txqueuelen 1000 (Eth
DPDK与SR-IOV两者目前主要用于提高IDC(数据中心)中的网络数据包的加速。但是在NFV(网络功能虚拟化)场景下DPDK与SR-IOV各自的使用场景是怎样的?以及各自的优缺点?
linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说。 查看系统信息 uname -a 显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号 cpu lscpu命令,查看的是cpu的统计信息. blue@blue-pc:~$ lscpu Architecture: i686 #cpu架构 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian #小尾序 CPU(s): 4 #总共有4核 On-line CPU(s) list: 0-3 Thread(s) per core: 1 #每个cpu核,只能支持一个线程,即不支持超线程 Core(s) per socket: 4 #每个cpu,有4个核 Socket(s): 1 #总共有1一个cpu Vendor ID: GenuineIntel #cpu产商 intel CPU family: 6 Model: 42 Stepping: 7 CPU MHz: 1600.000 BogoMIPS: 5986.12 Virtualization: VT-x #支持cpu虚拟化技术 L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 6144K 查看/proc/cpuinfo,可以知道每个cpu信息,如每个CPU的型号,主频等。 #cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz ..... 上面输出的是第一个cpu部分信息,还有3个cpu信息省略了。 内存 概要查看内存情况 free -m total used free shared buffers cached Mem: 3926 3651 274 0 12 404 -/+ buffers/cache: 3235 691 Swap: 9536 31 9505 这里的单位是MB,总共的内存是3926MB。 查看内存详细使用 # cat /proc/meminfo MemTotal: 4020868 kB MemFree: 230884 kB Buffers: 7600 kB Cached: 454772 kB SwapCached: 836 kB ..... 查看内存硬件信息 dmidecode -t memory # dmidecode 2.11 SMBIOS 2.7 present. Handle 0x0008, DMI type 16, 23 bytes Physical Memory Array Location: System Board Or Motherboard .... Maximum Capacity: 32 GB .... Handle 0x000A, DMI type 17, 34 bytes .... Memory Device Array Handle: 0x0008 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB ..... 磁盘 查看硬
MediaTek T750 是一款面向新一代5G CPE无线产品,可应用于5G固定无线接入(FWA)和移动热点(MiFi)等设备,为家庭、企业和移动用户带来高速5G连接,芯片平台采用 7nm 制程工艺,高度集成 5G NR FR1 调制解调器,4 核 Arm Cortex-A55 CPU 可提供完整的功能和配置,支持 5G NR Sub-6GHz 下双载波聚合(2CC CA)200MHz 频率,不仅拥有更大的信号覆盖范围,同时也让 5G 的下行速度大幅提升。
前言: 以作者的经验来看,虚拟化的跨度比较大,很多概念比较难以理解,本来以为“硬件行为,就是这样的”好多概念,都变成虚拟的了。 作者对kernel略懂一二,结合过往的很多经验来看,就更加难以理解了~ 所以,作者尝试着把理解的过程描述出来(尽管作者在虚拟化上面,谈不上很专业,这里还是不自量力一下了)。 分析: 硬件概念:在分析虚拟化原理之前,先来看一下“本来就应该这样”的硬件设计图。 从Intel官网(http://download.intel.com/design/chipsets/datashts/2
之前写的脚本中获取 IP 地址时,未考虑虚拟网卡的情况(docker 创建的虚拟网卡),导致脚本失败,故总结下网卡相关知识。
本文主要介绍了我在阅读《深入浅出DPDK》,《DPDK应用基础》这两本书中所划下的知识点
我们先从计算机组成原理的层面介绍DMA,再简单介绍Linux网络子系统的DMA机制是如何的实现的。
▪ 1. SRIOV介绍 ▪ 2. 环境说明 ▪ 3. 开启SRIOV ▪ 4. 生成VF ▪ 5. VF直通 ▪ 6. 开启irqbalance ▪ 7. VM迁移 ▪ 8. 带宽限速 ▪ 9. 安全 ▪ 10. 其他使用限制 ▪ 11. 性能测试 ▪ 12. windows虚拟机使用VF ▪ 13. 运维命令 ▪ 14. 宿主屏蔽VF驱动 ▪ 附. 包转发率测试方法 ▪ 附. 参考文档
本文以X710网卡设备为例,介绍网卡的scan和probe流程的;通过本篇文章的介绍可以大致了解UIO驱动、PMD驱动之间的关联关系以及如何确认网卡对应的PMD驱动的。针对probe流程处理了解的比较片面,有了解比较深的同学,希望能找您学习一下。
在《廉价的家用工作站方案:前篇》一文中,曾提到在 2021 年第三个季度开始,我又购置了一台新的设备,没错,它就是搭载着 Ryzen3 5800u 的笔记本。
前言: 简单回顾一下前文,《内存映射技术分析》描述了虚拟内存的管理、内存映射;《物理内存管理》介绍了物理内存管理。《内存回收》介绍了一下PFRA内存回收。 上述三篇,简单建立Linux的内存管理模型,下面开始分析MMIO技术。 分析: 1,MMIO MMIO,即Memory mapping I/O;在x86上,CPU如果想要和外部交互数据,一种是使用in、out类型的端口访问的指令;一种是mov类型的读写内存的指令。对于前者来讲,就是PortIO(PIO);对于后者,就是MMIO。(这里说明一下,ARM
本文全是个人感想和猜测,写一写软件人眼中的硬件,越底层越难,个人理解不一定对,请用批判的眼光看,特此声明,免得被人贻笑大方。
参考:http://loveyan.blog.51cto.com/829079/745164
作为云计算最重要的底层基础之一,KVM 虚拟化软件在现代的数据中心中应用非常广泛。基于 KVM 的 hypervisor 包括了构成宿主机的软硬件,共同为虚拟机中的应用程序提供高性能的 CPU、内存和 IO 设备等资源。在大规模部署的生产环境中,作为云服务提供商(Cloud Service Provider),如何从技术上保证软硬件的可运维性,一直是大家重点关注的问题。
igb_uio 是 dpdk 内部实现的将网卡映射到用户态的内核模块,它是 uio 模块的一个实例。
之前在《廉价的家用工作站方案:前篇》一文中,我提到过使用两台笔记本设备作为轻量的家用工作站。
以前基于DPDK做NFV,转发程序跑在虚拟机中,先把硬件网卡passthrough给虚拟机,然后在虚拟机中把网卡绑定内核模块igb_uio,问题是igb_uio的代码没有upstream,依赖于内核版本,提前编译好的内核模块换个版本就不能运行,就想着用vfio-pci,这家伙早早upsteam,一般linux发行版本内核都自带,且不省事,理想是丰满的,现实是骨感的。
[root@localhost ~]# kudzu –probe –class=network
规则1: 对于板载设备命名合并固件或 BIOS 提供的索引号,如果来自固件或 BIOS 的信息可读就命名,比如eno1,这种命名是比较常见的,否则使用规则2。
编者按:这篇文章介绍了笔者解决archlinux+kde plasma环境无法链接无线网的问题。笔者通过查阅archlinux wiki与Google定位问题,重新安装Linux无线网卡固件解决了问题。
说明: lspci 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。
查看主板的序列号: dmidecode | grep -i ’serial number’
Physical Interface(物理链路连接器)负责将双绞线网口(电口)或光模块(光口)或连接到网卡上。一个 Physical Interface 通常具有多个 Ethernet Ports。
Linux处理Packets主逻辑 系统接受数据包的过程 当网卡收到第一个包时候,通过DMA把这个包发送给接受队列(rx) 系统通过中断的方式通知新数据包的到来,同时也需要把数据包传递给内核的buffer(每个包一个buffer,sk_buff struct).一个数据包到来会触发多次的中断,内核处理完毕后,数据包再次传输到用户态空间 瓶颈分析 内核在处理很多包的时候,会消耗非常多的资源,同时也会触发很多次中断,这会严重影响系统处理数据包的性能 内核的sk_buff的设计是为了内核协议栈兼容多个协议。因此所
由于集群是生信所有分析工作的基础,我们所用的 IBM LSF 集群一共有 30 多个计算节点,其中还包括了 2 个大内存 fat 节点,log 节点挂掉后,整个生信部门几十号人的工作都没法正常进行,情况可谓是非常紧迫。负责硬件的同事在加班加点联系供应商更换主板后,终于可以把系统启动起来,但是问题也来了:
(1) 编辑/etc/sysconfig/grub文件,命令为vi /etc/sysconfig/grub,在倒数第二行quiet后加入如下代码: net.ifnames=0 biosdevname=0 [root@localhost ~]# vim /etc/sysconfig/grub
VPP的DPDK插件默认是不支持动态加载网卡的,需要在启动前在配置文件startup.conf设置网卡的PCI编号。也就是不支持网卡的热插拔动作。网卡热插拔主要解决高可靠性持续不间断运行的问题。在某些特殊的应用场合,如服务器、数据中心等,可能需要不关闭系统电源的情况下更换网卡。
PCI,Peripheral Component Interconnect,在PC中广泛使用,几乎所有的主板产品上都带有这种插槽,主要用于连接显卡、网卡、声卡等外设
KVM虚拟化部署完成了,接下来我们要做的就是创建一个KVM虚拟机,如何创建呢?本节课程主要讨论。
前言: 虚拟化场景下的网卡虚拟化,就是让虚拟机觉得自己有网卡。就有了e1000/rtl8139为代表的物理网卡软件模拟实现;为了加速Guest和Host之间的数据交换速度,就有了virtio网卡;再virtio的基础上,为了减少qemu进程和host os之间的数据拷贝,就有了vhost-net。这几种情况下,都是完全使用软件模拟的网卡,使用TAP技术,虚拟化出来net device,再把对应的net device接入到网桥上,这样在虚拟机内存就可以向外部写数据了。 还有一类就是物理网卡提供了虚拟化能力。比
正所谓人尽其才,物尽其用。今天我们来介绍一下,怎样把旧一台电脑变成企业级的路由器+影音中心+文件中心。
pcie接口是一种高速串行计算机扩展总线标准,是高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,是替代旧的PCI,PCI-X和AGP总线标准的,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。 PCIE接口的优势: 相对于传统PCI总线在单一时间周期内只能实现单向传输,PCIE的双单工连接能提供更高的传输速率和质量。PCI-E插槽是可以向下兼容的,比如PCI-E 16X插槽可以插8X、4X、1X的卡。现在的服务器一般都会提供多个8X、4X的接口,已取代以前的PCI-X接口。PCIe属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。 PCIE有多种规格,从PCIE x1到PCIE x32,目前能够满足所有的低速设备和高速设备的需求,接口是PCIe 3.0接口,其传输速率是上一代接口带宽的两倍,PCIE接口的主要优势在于其减少延迟的能力。PCIe设备和PCIe总线直接相连,使缓存和数据更接近CPU。 北京东大金智提供自主研发生产销售的飞迈瑞克(femrice)品牌光纤网卡,包含pcie万兆网卡、pcie千兆网卡、pcie 25G网卡、pcie台式机网卡、pcie电口网卡、pcie光口网卡等等。其产品均已通过FCC、CE、RoHS、REACH等国际权威认证以及国家行业认证,精益求精,始终如一地专注于网络、通讯传输领域的应用解决方案。
上一篇文章中《图解Linux网络包接收过程》,我们梳理了在Linux系统下一个数据包被接收的整个过程。Linux内核对网络包的接收过程大致可以分为接收到RingBuffer、硬中断处理、ksoftirqd软中断处理几个过程。其中在ksoftirqd软中断处理中,把数据包从RingBuffer中摘下来,送到协议栈的处理,再之后送到用户进程socket的接收队列中。
Linux内核对网络包的接收过程大致可以分为接收到RingBuffer、硬中断处理、ksoftirqd软中断处理几个过程。其中在ksoftirqd软中断处理中,把数据包从RingBuffer中摘下来,送到协议栈的处理,再之后送到用户进程socket的接收队列中。
IO虚拟化实现的方式有很多种,有软件模拟、半虚拟化、设备直接分配、单根IO虚拟化。在《说一说虚拟化绕不开的io半虚拟化》一文中介绍了io的全虚拟化和半虚拟化。下面介绍一下IO的硬件辅助虚拟化。
# uname -a # 查看内核/操作系统/CPU信息
网络适配器是计算机用来联网的一种设备,也就是网卡。一般这种设备就在主板的插槽中插着,它的工作原理就是通过网络介质来传输一些数据,并转为其他的格式,使这种格式能够被其他的设备所识别。网络适配器的技术参数有很多,例如带宽、电气接口方式等。
PMD是Poll Mode Driver的缩写,即基于用户态的轮询机制的驱动。本文将介绍PMD的基本原理。
运维工程师(Operations)是负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率提高整体的ROI的专业人员。他们的基本职责是负责服务的稳定性,确保服务可以7*24H不间断地为用户提供服务。
领取专属 10元无门槛券
手把手带您无忧上云