在 Centos 6 上安裝 Mellanox ConnectX-2 10gbe PCIe 卡
我剛剛在執行 CentOS 6.7 的伺服器中安裝了 Mellanox ConnectX-2 10gbe PCIe x8 卡。啟動時,dmesg 顯示
mlx4_core
驅動程序正在自動載入,但是我沒有看到與卡對應的 eth1設備。ifconfig -a
只顯示eth0,這是我的板載/主機板千兆網路介面。所以,我刪除
/etc/udev/rules.d/70-persistent-net.rules
並重新啟動。它重新創建70-persistent-net.rules
但僅使用我的板載/主機板千兆網卡,沒有 Mellanox 10gbe 卡的條目。的輸出
/etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:67:aa:bb:cc", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
好消息是,
lspci
顯示了 Mellanox 卡。的輸出lspci | grep -i ether
02:00.0 Ethernet controller: Mellanox Technologies MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) 05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
相關輸出
dmesg
:mlx4_core: Mellanox ConnectX core driver v2.2-1 (Feb, 2014) mlx4_core: Initializing 0000:02:00.0 mlx4_core 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 mlx4_core 0000:02:00.0: setting latency timer to 64 alloc irq_desc for 26 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 26 for MSI/MSI-X alloc irq_desc for 27 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 27 for MSI/MSI-X alloc irq_desc for 28 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 28 for MSI/MSI-X alloc irq_desc for 29 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 29 for MSI/MSI-X alloc irq_desc for 30 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 30 for MSI/MSI-X alloc irq_desc for 31 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 31 for MSI/MSI-X alloc irq_desc for 32 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 32 for MSI/MSI-X alloc irq_desc for 33 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 33 for MSI/MSI-X alloc irq_desc for 34 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 34 for MSI/MSI-X alloc irq_desc for 35 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 35 for MSI/MSI-X alloc irq_desc for 36 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 36 for MSI/MSI-X alloc irq_desc for 37 on node -1 alloc kstat_irqs on node -1 mlx4_core 0000:02:00.0: irq 37 for MSI/MSI-X
任何想法為什麼我的 Mellanox ConnectX-2 沒有顯示為eth1設備?
我想出了解決方案。我所要做的就是輸入兩個命令來啟動 CentOS 6 中的網卡:
sudo modprobe mlx4_core sudo modprobe mlx4_en
現在我可以配置它(IP 地址
eth1
、ifconfig -a
網路遮罩等)為了使它在重新啟動後永久存在,我添加了一個新文件
/etc/sysconfig/modules/mellanox.modules
並將其權限(chmod)設置為 755,所有者/組為 root:#!/bin/sh /sbin/modprobe mlx4_core /sbin/modprobe mlx4_en
這會在啟動時自動載入內置於 CentOS 的 Mellanox 核心模組,就在啟動 /etc/sysconfig/network-scripts 中指定的 eth0/eth1 配置之前
現在它就像任何其他網路介面一樣工作。
這張卡應該可以在沒有任何更改的情況下本機工作。只需刪除您的
70-persistent-net.rules
/reboot 和/或檢查dmesg
輸出。/etc/sysconfig/network-scripts/ifcfg-ethX 文件中的 UUID 或 MAC 可能存在問題。
如果兩者都不是,請從 Mellanox 或HP下載驅動程序。
# modinfo mlx4_en filename: /lib/modules/2.6.32-573.22.1.el6.x86_64/weak-updates/mlnx-en/drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko version: 2.3-2.0.1 (Dec 7 2014) license: Dual BSD/GPL description: Mellanox ConnectX HCA Ethernet driver author: Liran Liss, Yevgeny Petrilin srcversion: 86DD1A5FE5CF17268AFBB0D depends: mlx4_core,compat,ptp vermagic: 2.6.32-504.el6.x86_64 SMP mod_unload modversions parm: inline_thold:threshold for using inline data (uint) parm: udp_rss:Enable RSS for incoming UDP traffic (uint) parm: num_lro:Dummy module parameter to prevent loading issues (uint) parm: pfctx:Priority based Flow Control policy on TX[7:0]. Per priority bit mask (uint) parm: pfcrx:Priority based Flow Control policy on RX[7:0]. Per priority bit mask (uint)