查看设备网卡状态

运维过程中,经常会出现需要确认网卡连接状态的情况,除了可以去现场摸线排查,还可以通过网络设备和服务器的ARP对应关系确认,当然也可以仅从服务器端进行确认,以下就简单介绍从服务器端确认网卡物理链路连接状态的几种方法

1.通过带外确认网卡状态

登陆ILO或者IDRAC之类页面,通过查看网卡状态可以确认

HPE相关设备登陆ILO

 DELL相关设备登陆IDRAC

 2.通过操作系统确认网卡状态

2.1Windows Server

直接查看网卡状态

 也可以通过服务器管理,确认绑定对应关系

 

2.2RHEL 7

可以通过以下命令确认网卡当前状态(链路状态正常的端口会有数据包经过,关注bytes和packets)

$ cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
  eno1: 591923457589 3738583108    0    0    0     0          0  11448856 1679661440973 3527025712    0    0    0     0       0          0
  eno2: 1566607787 16157364    0    0    0     0          0  11464336 1922230323 4093529    0    0    0     0       0          0
  eno3:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eno4:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
 bond0: 593490065376 3754740472    0  500    0     0          0  22913192 1681583671296 3531119241    0    0    0     0       0          0
    lo: 2542909329956 2849939732    0    0    0     0          0         0 2542909329956 2849939732    0    0    0     0       0          0
virbr0-nic:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
virbr0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

通过ethtool再次确认网卡连接状态(关注最后Link detected状态为yes)

 ethtool eno1
Settings for eno1:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: on
Cannot get wake-on-lan settings: Operation not permitted
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes

做过绑定的可以通过以下命令确认网卡绑定关系(主要关注MII Status为UP)

$ cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eno1 (primary_reselect always)
Currently Active Slave: eno1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eno1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: 20:xx:xx:xx:xx:2c
Slave queue ID: 0

Slave Interface: eno2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: 20:xx:xx:xx:xx:2d
Slave queue ID: 0

2.3 虚拟化宿主机

登陆VC,选择对应宿主机,点击配置→查看物理适配器→右侧实际速率可以体现链路连接状态,另外右侧可以查看到端口和虚拟交换机对应关系

 

### PHY 寄存器配置 在网络接口中,PHY(物理层)设备通过特定寄存器来控制和监控其状态。这些寄存器通常遵循IEEE标准802.3定义的管理数据输入/输出(MDIO)协议[^1]。 对于MII及其变体RMII、GMII、RGMII等接口而言,PHY寄存器用于设置工作模式、链路状态检测等功能。例如,在ZynqMP ZCU102开发板上,网络接口采用的是RGMII-ID模式,这意味着PHY寄存器需要被适当初始化以支持这种类型的连接[^2]。 ```c // 设置PHY寄存器的例子 void configure_phy_registers(int phy_addr) { // 假设函数mdio_write负责写入PHY寄存器 mdio_write(phy_addr, REG_BMCR, BMCR_RESET); // 复位PHY while (read_status_bit() != READY) {} // 等待复位完成 mdio_write(phy_addr, REG_ADVERTISE, ADVERTISE_ALL);// 广告所有能力 mdio_write(phy_addr, REG_BMCR, BMCR_ANENABLE | BMCR_FULLDPLX | BMCR_SPEED100); } ``` ### SDS 配置 SDS指的是同步动态随机存储器(Synchronous Dynamic Random Access Memory),但在上下文中更可能是指与软件定义无线电(Software Defined Radio)有关的内容或者可能是某种特定于应用的数据结构。然而,在提到的具体硬件平台如ZCU111 RFSoC开发板里并没有直接提及SDS这一术语[^3]。因此关于SDS的确切含义以及如何在上述环境中配置它并不清晰,除非有更多背景信息提供给定场景下的具体解释。 ### MII 接口使用 MII(Media Independent Interface)是一种通用接口,允许MAC子层与不同种类的物理介质之间通信。该接口提供了多个信号线来进行双向数据传输以及其他必要的握手信号。为了实现10/100 Mbps速率的操作,可以通过减少某些未使用的引脚数量简化传统MII成为精简版RMII(Reduced MII)。 #### 相关代码片段展示如何读取或修改PHY寄存器: ```c uint16_t read_phy_register(uint8_t reg){ uint16_t value; // 调用底层API执行实际读操作 mdio_read(reg,&value); return value; } void write_phy_register(uint8_t reg,uint16_t data){ // 向指定地址写入新值 mdio_write(reg,data); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qwier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值