1. 项目概述为什么需要区分千兆与万兆网卡在服务器运维和系统集成的日常工作中搞清楚服务器网卡的具体规格比如是千兆1 Gbps还是万兆10 Gbps绝不是一件可有可无的小事。这直接关系到网络架构的设计、业务性能的评估以及故障排查的效率。想象一下你规划了一个需要高吞吐量的数据库集群采购了万兆交换机结果上架后发现服务器网卡全是千兆的性能瓶颈瞬间就从网络转移到了服务器接口整个方案的价值大打折扣。或者在排查一个诡异的网络延迟问题时你怀疑是网卡速率不匹配导致的协商问题却连网卡的基本型号和速率都确认不了排查工作就会像无头苍蝇。这个需求在数据中心扩容、云服务器选型、老旧设备利旧以及高性能计算HPC环境搭建时尤为突出。通过几个简单的命令我们就能快速、准确地获取网卡信息避免因信息不对称导致的决策失误和资源浪费。本文将从一个老运维的角度手把手带你掌握在Linux和Windows系统下查看服务器网卡速率、型号乃至驱动状态的完整方法论并分享一些命令行之外的经验技巧和避坑指南。2. 核心思路与工具选型解析2.1 核心思路从硬件识别到速率确认查看网卡速率本质上是一个从硬件信息检索到能力确认的过程。我们的思路可以清晰地分为两步走硬件识别首先我们需要知道服务器里到底插了哪些网卡。这包括网卡的制造商如Intel、Broadcom、Mellanox、具体型号如X520、X710以及PCIe总线位置。这是最基础也是最准确的信息源。速率确认在识别出网卡型号后通过查询该型号的官方规格书我们就能明确知道其支持的最大速率。同时我们还可以通过操作系统提供的网络接口信息查看网卡当前协商的链路速率这反映了它实际的工作状态。2.2 工具选型为什么是lspci、ethtool和ip在Linux世界里我们主要依靠三个命令行工具lspci、ethtool和ip或传统的ifconfig。选择它们是基于以下考量lspci这是查看PCI/PCIe总线设备的“瑞士军刀”。网卡作为一种PCIe设备其最权威的硬件标识厂商ID、设备ID和型号描述都通过它来获取。它直接与系统硬件抽象层对话信息最原始也最可靠。用户提供的“lspci”关键词正是核心所在。ethtool这是查询和操控网络驱动及硬件设置的专用工具。对于速率它不仅能显示网卡支持的能力Supported link modes还能显示当前协商成功的速率Speed。这是判断千兆还是万兆最直接的软件命令。ip link(或ifconfig)用于管理网络接口可以快速列出所有接口名称如eth0, ens192是我们对具体网卡执行ethtool命令的前置步骤。ip命令来自iproute2套件是现代Linux发行版推荐的工具功能比ifconfig更强大。对于Windows系统我们则主要通过设备管理器和PowerShell命令来达成目标图形化与命令行相结合适应不同场景。注意有些服务器尤其是品牌服务器可能通过厂商特定的管理工具如Dell的OMSA、HP的iLO也能看到更详细的网卡信息但本文聚焦于操作系统原生、通用性最强的方法。3. Linux系统下的详细操作指南3.1 第一步使用lspci定位网卡硬件信息lspci命令是这一切的起点。直接运行lspci会列出所有PCI设备信息很多。我们需要用grep进行过滤。基础命令与解析lspci | grep -i ethernet或者更精确地过滤网络控制器lspci | grep -i network执行后你会看到类似如下的输出02:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP (rev 02) 03:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) 04:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)输出字段拆解02:00.0这是设备的PCI总线地址域:总线:设备.功能在系统内唯一标识该硬件。Ethernet controller设备类型表明这是一个以太网控制器即网卡。Intel Corporation设备制造商。Ethernet Controller X710 for 10GbE SFP/I350 Gigabit Network Connection这是网卡的具体型号描述。这里已经包含了关键信息“10GbE”明确表示万兆“Gigabit”表示千兆。获取更详细的信息使用-vverbose或-vvv更详细参数可以获取更多细节包括驱动模块、内存映射等但在单纯判断速率时基础信息通常已足够。lspci -v -s 02:00.0 # 查看指定PCI地址02:00.0的详细信息实操心得如果grep -i ethernet没有结果可以尝试grep -i net因为有些设备的描述可能是“Network controller”。输出中的型号描述是判断速率的第一手资料。像“X520”、“X710”、“Mellanox ConnectX-4”通常是万兆卡“I350”、“I210”、“BCM57xx”系列通常是千兆卡。当然最稳妥的还是结合ethtool确认。3.2 第二步使用ip link或ifconfig确定网络接口名我们知道有物理网卡但系统给它们分配了什么逻辑接口名如eth0, ens192呢这是后续使用ethtool所必需的。使用ip link命令推荐ip link show输出会列出所有网络接口包括虚拟接口。寻找state UP或state DOWN的接口其名称通常是eth0、ens192、enp3s0这种格式取决于发行版和命名规则。记下你感兴趣的物理接口名。使用传统的ifconfig命令如果已安装ifconfig -a它会显示所有接口的配置信息同样可以找到接口名。提示现代Linux系统如RHEL/CentOS 7, Ubuntu 16.04普遍使用“一致性网络设备命名”接口名可能不再是简单的eth0而是像ens192表示PCIe热插拔总线索引192这样的名字。了解这个规则有助于快速定位。3.3 第三步使用ethtool确认速率与能力这是最关键的一步。ethtool命令需要指定网络接口名。查看指定网卡的支持能力与当前状态sudo ethtool eth0 # 将eth0替换为你的实际接口名如ens192解读核心输出字段在命令输出中重点关注以下两部分Settings for eth0: Supported link modes: 1000baseT/Full 10000baseT/Full Supported pause frame use: Symmetric Supports auto-negotiation: Yes Advertised link modes: 1000baseT/Full 10000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Speed: 10000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Link detected: yesSupported link modes (支持的链路模式)这列出了该网卡硬件理论上支持的所有速率和双工模式。上面例子中同时支持1000baseT千兆和10000baseT万兆说明这是一张自适应或支持多速率的万兆网卡。Speed (速度)这是网卡当前实际协商成功的链路速率。10000Mb/s明确表示当前正以万兆速率运行。如果这里显示1000Mb/s那就是千兆。这是判断当前运行状态的最直接证据。Link detected (链路检测)yes表示网线已连接且链路层已起来。如何判断情况ASupported link modes里包含10000baseT或10000baseSR光口等万兆模式且Speed显示为10000Mb/s-这是一张正在万兆运行的网卡。情况BSupported link modes里包含万兆模式但Speed显示为1000Mb/s-这是一张万兆网卡但当前连接在千兆环境如连接到千兆交换机或对端是千兆网卡下降速运行了。需要检查网络链路。情况CSupported link modes里只有1000baseT、100baseT等模式没有万兆模式 -这极大概率是一张千兆网卡。查看驱动版本与固件信息进阶sudo ethtool -i eth0这个命令输出网卡驱动的名称、版本、固件版本等信息。在排查驱动兼容性问题时非常有用。3.4 综合案例从零判断一台陌生服务器的网卡假设你登录一台全新的CentOS 8服务器。列出网卡硬件lspci | grep -i ethernet。输出显示有一条Intel Corporation Ethernet Controller X550。找到接口名ip link show。发现一个接口叫ens3f0状态为UP。查验速率sudo ethtool ens3f0。查看输出发现Supported link modes包含10000baseT/Full且当前Speed: 10000Mb/s。结论该服务器配备的是Intel X550万兆网卡并且当前正工作于万兆全双工模式。4. Windows系统下的查看方法对于Windows服务器我们同样有图形化和命令行两种可靠方式。4.1 通过设备管理器查看图形化这是最直观的方法适合快速检查。右键点击“此电脑”或“开始菜单” - 选择“管理”。在“计算机管理”窗口中选择左侧的“设备管理器”。展开“网络适配器”分支。这里会列出所有已识别的网卡。双击你想要查看的网卡例如“Intel(R) Ethernet Server Adapter X710-DA2”。在弹出的属性窗口中切换到“高级”选项卡。在属性列表里查找诸如“速度与双工”、“Link Speed”、“Connection Type”等条目。在右侧的值中可能会直接显示“10.0 Gbps”或“1.0 Gbps”。注意这里显示的是当前连接速度或可配置的速度并非网卡硬件支持的最大速度。有时这里可能只显示“Auto Negotiation”。实操心得在设备管理器的网卡名称中通常已经包含了关键信息。例如名称中带有“10GbE”、“10 Gigabit”、“X710”、“X550”的基本就是万兆卡带有“Gigabit”、“I350”、“I210”的通常是千兆卡。这是Windows下最快速的初步判断方法。4.2 通过PowerShell命令查看命令行PowerShell提供了更强大、更脚本化的查询能力适合批量管理。使用Get-NetAdapter命令Get-NetAdapter | Where-Object {$_.Status -eq Up} | Format-List Name, InterfaceDescription, LinkSpeedName: 接口名称如Ethernet0。InterfaceDescription: 网卡描述通常包含完整型号如Intel(R) Ethernet 10G 2P X710 Adapter。这是判断千兆/万兆的关键字段。LinkSpeed: 当前链路速度例如10 Gbps。使用Get-NetAdapterHardwareInfo命令Windows Server 2012 R2及以上/Windows 10及以上这个命令能获取更底层的硬件信息。Get-NetAdapter | Get-NetAdapterHardwareInfo | Format-List Name, Bus, Device, Function, DeviceDescription通过Bus, Device, Function可以对应到PCIe位置DeviceDescription是硬件描述。如何判断在InterfaceDescription或DeviceDescription中搜索“10G”、“10 Gigabit”、“X710”、“X550”等关键词 -万兆网卡。搜索“Gigabit”、“1G”、“I350”等关键词 -千兆网卡。查看LinkSpeed属性确认当前运行速率。5. 常见问题与深度排查技巧实录在实际操作中你可能会遇到一些不那么直观的情况。下面是一些常见问题的排查思路和技巧。5.1 为什么ethtool显示支持万兆但Speed却是千兆这是最常见的问题之一原因通常出在网络链路上对端设备限制服务器连接的是千兆交换机端口或对端服务器是千兆网卡。链路协商会自动降至双方共同支持的最高速率千兆。网线或光纤模块问题电口使用Cat5e网线理论上可以跑万兆短距离但Cat6/Cat6A更可靠。劣质网线或过长距离会导致降速。光口万兆光模块SFP与千兆光模块SFP物理外观可能相似但互不兼容。误插千兆模块会导致链路降级。务必确认模块型号如10G-SR、1G-SX。交换机端口配置检查交换机端口是否被强制设置为千兆速率或者是否开启了某些QoS/限速策略。自动协商失败尝试在交换机和对端设备上强制设置端口为万兆全双工禁用自动协商但这种方法容易引发双工不匹配问题需谨慎操作并确保链路两端设置一致。排查步骤服务器端sudo ethtool eth0查看当前速率和Supported/Advertised模式。交换机端登录交换机查看对应端口的连接状态和协商速率。物理层检查并更换网线或光模块进行测试。5.2lspci能识别网卡但ip link里没有对应接口这说明系统识别了硬件但未能成功驱动它。驱动未安装这是最可能的原因。使用lspci -k查看该设备使用的内核驱动Kernel driver in use。如果显示kernel driver in use: (none)或驱动名称很奇怪就需要安装正确的驱动。lspci -v -s 02:00.0 | grep -A5 Kernel驱动加载失败检查dmesg | grep -i error或journalctl -k看是否有关于该网卡驱动的错误信息。接口被禁用有些虚拟化环境或特定配置下接口可能被管理员手动ip link set eth0 down了。用ip link show看看接口状态。解决方案根据lspci输出的厂商和型号如Intel X710去服务器厂商或芯片厂商官网下载对应的Linux驱动进行安装。5.3 如何区分主板集成网卡与独立扩展网卡在采购或规划时这一点很重要。通过lspci输出位置判断主板集成的网卡其PCI总线地址通常较早且可能与其他板载设备如USB控制器的地址连续。而通过PCIe插槽扩展的独立网卡其总线地址通常靠后如04:00.0,05:00.0。通过dmidecode命令需root这个命令可以获取详细的系统硬件信息。但更简单的方法是结合服务器型号查阅官方规格书上面会明确写明集成网卡的型号和数量。5.4 虚拟化环境如VMware ESXi, KVM下的网卡速率怎么看在虚拟化环境中虚拟机VM看到的通常是虚拟网卡vNIC其速率由虚拟化层定义可能显示为10Gbps但这不代表物理硬件的真实能力。物理网卡的速率会影响整个主机上所有虚拟机的总出口带宽。在ESXi主机Shell中使用esxcli network nic list命令可以列出物理网卡vmnicX及其驱动、链路状态和速度。在KVM宿主机上查看物理网卡的方法与普通Linux服务器无异。对于通过SR-IOV直通给虚拟机的VF虚拟功能网卡在虚拟机内部看到的可能是一个完整的物理网卡型号其速率就是该VF分配到的速率。5.5 独家避坑技巧与心得不要迷信“协商速率”ethtool显示的Speed是链路层协商速率但实际应用层的吞吐量可能受限于TCP窗口大小、CPU处理能力、磁盘IO、防火墙规则等。测试真实吞吐率请使用iperf3或speedtest-cli等工具。关注“双工”模式务必确保是Full全双工而不是Half半双工。半双工会严重降低有效带宽并增加冲突。现代以太网几乎都是全双工但配置错误可能导致问题。光口网卡的特殊性万兆光口网卡如SFP接口需要搭配对应的万兆光模块和光纤跳线OM3/OM4多模或单模。模块和网卡存在兼容性列表最好使用网卡厂商认证的模块避免不亮灯或链路不稳。bond/team聚合后的速率如果服务器配置了网卡绑定bondingethtool查看的是单个物理网卡的速率。聚合后的总带宽取决于绑定模式mode 0 round-robin为叠加mode 1 active-backup不为叠加。查看聚合接口的状态可用cat /proc/net/bonding/bond0。记录在案对于运维的服务器建议将每台服务器的网卡型号、数量、速率、接口名等信息记录到CMDB配置管理数据库或文档中。下次需要时无需登录即可查询极大提升效率。一个简单的脚本即可实现信息自动收集。
Linux与Windows服务器网卡速率查看指南:从硬件识别到链路协商
1. 项目概述为什么需要区分千兆与万兆网卡在服务器运维和系统集成的日常工作中搞清楚服务器网卡的具体规格比如是千兆1 Gbps还是万兆10 Gbps绝不是一件可有可无的小事。这直接关系到网络架构的设计、业务性能的评估以及故障排查的效率。想象一下你规划了一个需要高吞吐量的数据库集群采购了万兆交换机结果上架后发现服务器网卡全是千兆的性能瓶颈瞬间就从网络转移到了服务器接口整个方案的价值大打折扣。或者在排查一个诡异的网络延迟问题时你怀疑是网卡速率不匹配导致的协商问题却连网卡的基本型号和速率都确认不了排查工作就会像无头苍蝇。这个需求在数据中心扩容、云服务器选型、老旧设备利旧以及高性能计算HPC环境搭建时尤为突出。通过几个简单的命令我们就能快速、准确地获取网卡信息避免因信息不对称导致的决策失误和资源浪费。本文将从一个老运维的角度手把手带你掌握在Linux和Windows系统下查看服务器网卡速率、型号乃至驱动状态的完整方法论并分享一些命令行之外的经验技巧和避坑指南。2. 核心思路与工具选型解析2.1 核心思路从硬件识别到速率确认查看网卡速率本质上是一个从硬件信息检索到能力确认的过程。我们的思路可以清晰地分为两步走硬件识别首先我们需要知道服务器里到底插了哪些网卡。这包括网卡的制造商如Intel、Broadcom、Mellanox、具体型号如X520、X710以及PCIe总线位置。这是最基础也是最准确的信息源。速率确认在识别出网卡型号后通过查询该型号的官方规格书我们就能明确知道其支持的最大速率。同时我们还可以通过操作系统提供的网络接口信息查看网卡当前协商的链路速率这反映了它实际的工作状态。2.2 工具选型为什么是lspci、ethtool和ip在Linux世界里我们主要依靠三个命令行工具lspci、ethtool和ip或传统的ifconfig。选择它们是基于以下考量lspci这是查看PCI/PCIe总线设备的“瑞士军刀”。网卡作为一种PCIe设备其最权威的硬件标识厂商ID、设备ID和型号描述都通过它来获取。它直接与系统硬件抽象层对话信息最原始也最可靠。用户提供的“lspci”关键词正是核心所在。ethtool这是查询和操控网络驱动及硬件设置的专用工具。对于速率它不仅能显示网卡支持的能力Supported link modes还能显示当前协商成功的速率Speed。这是判断千兆还是万兆最直接的软件命令。ip link(或ifconfig)用于管理网络接口可以快速列出所有接口名称如eth0, ens192是我们对具体网卡执行ethtool命令的前置步骤。ip命令来自iproute2套件是现代Linux发行版推荐的工具功能比ifconfig更强大。对于Windows系统我们则主要通过设备管理器和PowerShell命令来达成目标图形化与命令行相结合适应不同场景。注意有些服务器尤其是品牌服务器可能通过厂商特定的管理工具如Dell的OMSA、HP的iLO也能看到更详细的网卡信息但本文聚焦于操作系统原生、通用性最强的方法。3. Linux系统下的详细操作指南3.1 第一步使用lspci定位网卡硬件信息lspci命令是这一切的起点。直接运行lspci会列出所有PCI设备信息很多。我们需要用grep进行过滤。基础命令与解析lspci | grep -i ethernet或者更精确地过滤网络控制器lspci | grep -i network执行后你会看到类似如下的输出02:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP (rev 02) 03:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) 04:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01)输出字段拆解02:00.0这是设备的PCI总线地址域:总线:设备.功能在系统内唯一标识该硬件。Ethernet controller设备类型表明这是一个以太网控制器即网卡。Intel Corporation设备制造商。Ethernet Controller X710 for 10GbE SFP/I350 Gigabit Network Connection这是网卡的具体型号描述。这里已经包含了关键信息“10GbE”明确表示万兆“Gigabit”表示千兆。获取更详细的信息使用-vverbose或-vvv更详细参数可以获取更多细节包括驱动模块、内存映射等但在单纯判断速率时基础信息通常已足够。lspci -v -s 02:00.0 # 查看指定PCI地址02:00.0的详细信息实操心得如果grep -i ethernet没有结果可以尝试grep -i net因为有些设备的描述可能是“Network controller”。输出中的型号描述是判断速率的第一手资料。像“X520”、“X710”、“Mellanox ConnectX-4”通常是万兆卡“I350”、“I210”、“BCM57xx”系列通常是千兆卡。当然最稳妥的还是结合ethtool确认。3.2 第二步使用ip link或ifconfig确定网络接口名我们知道有物理网卡但系统给它们分配了什么逻辑接口名如eth0, ens192呢这是后续使用ethtool所必需的。使用ip link命令推荐ip link show输出会列出所有网络接口包括虚拟接口。寻找state UP或state DOWN的接口其名称通常是eth0、ens192、enp3s0这种格式取决于发行版和命名规则。记下你感兴趣的物理接口名。使用传统的ifconfig命令如果已安装ifconfig -a它会显示所有接口的配置信息同样可以找到接口名。提示现代Linux系统如RHEL/CentOS 7, Ubuntu 16.04普遍使用“一致性网络设备命名”接口名可能不再是简单的eth0而是像ens192表示PCIe热插拔总线索引192这样的名字。了解这个规则有助于快速定位。3.3 第三步使用ethtool确认速率与能力这是最关键的一步。ethtool命令需要指定网络接口名。查看指定网卡的支持能力与当前状态sudo ethtool eth0 # 将eth0替换为你的实际接口名如ens192解读核心输出字段在命令输出中重点关注以下两部分Settings for eth0: Supported link modes: 1000baseT/Full 10000baseT/Full Supported pause frame use: Symmetric Supports auto-negotiation: Yes Advertised link modes: 1000baseT/Full 10000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Speed: 10000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Link detected: yesSupported link modes (支持的链路模式)这列出了该网卡硬件理论上支持的所有速率和双工模式。上面例子中同时支持1000baseT千兆和10000baseT万兆说明这是一张自适应或支持多速率的万兆网卡。Speed (速度)这是网卡当前实际协商成功的链路速率。10000Mb/s明确表示当前正以万兆速率运行。如果这里显示1000Mb/s那就是千兆。这是判断当前运行状态的最直接证据。Link detected (链路检测)yes表示网线已连接且链路层已起来。如何判断情况ASupported link modes里包含10000baseT或10000baseSR光口等万兆模式且Speed显示为10000Mb/s-这是一张正在万兆运行的网卡。情况BSupported link modes里包含万兆模式但Speed显示为1000Mb/s-这是一张万兆网卡但当前连接在千兆环境如连接到千兆交换机或对端是千兆网卡下降速运行了。需要检查网络链路。情况CSupported link modes里只有1000baseT、100baseT等模式没有万兆模式 -这极大概率是一张千兆网卡。查看驱动版本与固件信息进阶sudo ethtool -i eth0这个命令输出网卡驱动的名称、版本、固件版本等信息。在排查驱动兼容性问题时非常有用。3.4 综合案例从零判断一台陌生服务器的网卡假设你登录一台全新的CentOS 8服务器。列出网卡硬件lspci | grep -i ethernet。输出显示有一条Intel Corporation Ethernet Controller X550。找到接口名ip link show。发现一个接口叫ens3f0状态为UP。查验速率sudo ethtool ens3f0。查看输出发现Supported link modes包含10000baseT/Full且当前Speed: 10000Mb/s。结论该服务器配备的是Intel X550万兆网卡并且当前正工作于万兆全双工模式。4. Windows系统下的查看方法对于Windows服务器我们同样有图形化和命令行两种可靠方式。4.1 通过设备管理器查看图形化这是最直观的方法适合快速检查。右键点击“此电脑”或“开始菜单” - 选择“管理”。在“计算机管理”窗口中选择左侧的“设备管理器”。展开“网络适配器”分支。这里会列出所有已识别的网卡。双击你想要查看的网卡例如“Intel(R) Ethernet Server Adapter X710-DA2”。在弹出的属性窗口中切换到“高级”选项卡。在属性列表里查找诸如“速度与双工”、“Link Speed”、“Connection Type”等条目。在右侧的值中可能会直接显示“10.0 Gbps”或“1.0 Gbps”。注意这里显示的是当前连接速度或可配置的速度并非网卡硬件支持的最大速度。有时这里可能只显示“Auto Negotiation”。实操心得在设备管理器的网卡名称中通常已经包含了关键信息。例如名称中带有“10GbE”、“10 Gigabit”、“X710”、“X550”的基本就是万兆卡带有“Gigabit”、“I350”、“I210”的通常是千兆卡。这是Windows下最快速的初步判断方法。4.2 通过PowerShell命令查看命令行PowerShell提供了更强大、更脚本化的查询能力适合批量管理。使用Get-NetAdapter命令Get-NetAdapter | Where-Object {$_.Status -eq Up} | Format-List Name, InterfaceDescription, LinkSpeedName: 接口名称如Ethernet0。InterfaceDescription: 网卡描述通常包含完整型号如Intel(R) Ethernet 10G 2P X710 Adapter。这是判断千兆/万兆的关键字段。LinkSpeed: 当前链路速度例如10 Gbps。使用Get-NetAdapterHardwareInfo命令Windows Server 2012 R2及以上/Windows 10及以上这个命令能获取更底层的硬件信息。Get-NetAdapter | Get-NetAdapterHardwareInfo | Format-List Name, Bus, Device, Function, DeviceDescription通过Bus, Device, Function可以对应到PCIe位置DeviceDescription是硬件描述。如何判断在InterfaceDescription或DeviceDescription中搜索“10G”、“10 Gigabit”、“X710”、“X550”等关键词 -万兆网卡。搜索“Gigabit”、“1G”、“I350”等关键词 -千兆网卡。查看LinkSpeed属性确认当前运行速率。5. 常见问题与深度排查技巧实录在实际操作中你可能会遇到一些不那么直观的情况。下面是一些常见问题的排查思路和技巧。5.1 为什么ethtool显示支持万兆但Speed却是千兆这是最常见的问题之一原因通常出在网络链路上对端设备限制服务器连接的是千兆交换机端口或对端服务器是千兆网卡。链路协商会自动降至双方共同支持的最高速率千兆。网线或光纤模块问题电口使用Cat5e网线理论上可以跑万兆短距离但Cat6/Cat6A更可靠。劣质网线或过长距离会导致降速。光口万兆光模块SFP与千兆光模块SFP物理外观可能相似但互不兼容。误插千兆模块会导致链路降级。务必确认模块型号如10G-SR、1G-SX。交换机端口配置检查交换机端口是否被强制设置为千兆速率或者是否开启了某些QoS/限速策略。自动协商失败尝试在交换机和对端设备上强制设置端口为万兆全双工禁用自动协商但这种方法容易引发双工不匹配问题需谨慎操作并确保链路两端设置一致。排查步骤服务器端sudo ethtool eth0查看当前速率和Supported/Advertised模式。交换机端登录交换机查看对应端口的连接状态和协商速率。物理层检查并更换网线或光模块进行测试。5.2lspci能识别网卡但ip link里没有对应接口这说明系统识别了硬件但未能成功驱动它。驱动未安装这是最可能的原因。使用lspci -k查看该设备使用的内核驱动Kernel driver in use。如果显示kernel driver in use: (none)或驱动名称很奇怪就需要安装正确的驱动。lspci -v -s 02:00.0 | grep -A5 Kernel驱动加载失败检查dmesg | grep -i error或journalctl -k看是否有关于该网卡驱动的错误信息。接口被禁用有些虚拟化环境或特定配置下接口可能被管理员手动ip link set eth0 down了。用ip link show看看接口状态。解决方案根据lspci输出的厂商和型号如Intel X710去服务器厂商或芯片厂商官网下载对应的Linux驱动进行安装。5.3 如何区分主板集成网卡与独立扩展网卡在采购或规划时这一点很重要。通过lspci输出位置判断主板集成的网卡其PCI总线地址通常较早且可能与其他板载设备如USB控制器的地址连续。而通过PCIe插槽扩展的独立网卡其总线地址通常靠后如04:00.0,05:00.0。通过dmidecode命令需root这个命令可以获取详细的系统硬件信息。但更简单的方法是结合服务器型号查阅官方规格书上面会明确写明集成网卡的型号和数量。5.4 虚拟化环境如VMware ESXi, KVM下的网卡速率怎么看在虚拟化环境中虚拟机VM看到的通常是虚拟网卡vNIC其速率由虚拟化层定义可能显示为10Gbps但这不代表物理硬件的真实能力。物理网卡的速率会影响整个主机上所有虚拟机的总出口带宽。在ESXi主机Shell中使用esxcli network nic list命令可以列出物理网卡vmnicX及其驱动、链路状态和速度。在KVM宿主机上查看物理网卡的方法与普通Linux服务器无异。对于通过SR-IOV直通给虚拟机的VF虚拟功能网卡在虚拟机内部看到的可能是一个完整的物理网卡型号其速率就是该VF分配到的速率。5.5 独家避坑技巧与心得不要迷信“协商速率”ethtool显示的Speed是链路层协商速率但实际应用层的吞吐量可能受限于TCP窗口大小、CPU处理能力、磁盘IO、防火墙规则等。测试真实吞吐率请使用iperf3或speedtest-cli等工具。关注“双工”模式务必确保是Full全双工而不是Half半双工。半双工会严重降低有效带宽并增加冲突。现代以太网几乎都是全双工但配置错误可能导致问题。光口网卡的特殊性万兆光口网卡如SFP接口需要搭配对应的万兆光模块和光纤跳线OM3/OM4多模或单模。模块和网卡存在兼容性列表最好使用网卡厂商认证的模块避免不亮灯或链路不稳。bond/team聚合后的速率如果服务器配置了网卡绑定bondingethtool查看的是单个物理网卡的速率。聚合后的总带宽取决于绑定模式mode 0 round-robin为叠加mode 1 active-backup不为叠加。查看聚合接口的状态可用cat /proc/net/bonding/bond0。记录在案对于运维的服务器建议将每台服务器的网卡型号、数量、速率、接口名等信息记录到CMDB配置管理数据库或文档中。下次需要时无需登录即可查询极大提升效率。一个简单的脚本即可实现信息自动收集。