欢迎光临
我们一直在努力

信创服务器总死机原因及解决办法

哈喽,你好啊,我是雷工!

最近有个项目使用信创的服务器,总是出现死机的情况,

联系厂家检查了一下,说是沐创网卡固件较低造成的,

让移除网卡或升级固件尝试一下。

记得5月份按厂家的说法处理过一台,

处理完观察没有出现死机的情况。

现在其余3台也要使用,但距离上次处理过去3个多月了,都忘记上次咋搞的了。

看来还是有做笔记的必要,于是这次记录一下解决过程。

便于以后类似问题的快速处理。

01 服务器系统

服务器信息

02 操作步骤

要先更新驱动rnp-1.0.102.tar,再更新固件。

2.1、下载驱动固件

首先通过厂家提供的连接下载沐创网卡驱动和固件;

2.2、指定目录

将驱动压缩包解压缩,然后进入解压缩文件中的指定目录src文件夹中,

由于部分操作需要root权限,先切换到root用户;

[admin@localhost src]$ su root

密码:

[root@localhost src]#

2.3、编译驱动

在src文件夹中点击右键-点击【在终端中打开】,打开一个终端,

输入:sudo make 编译驱动

编译驱动显示完整内容如下:

[root@localhost src]# sudo make

Makefile:44: *** compile without define.mk.

filtering include/linux/dev_printk.h out

filtering include/net/flow_keys.h out

filtering include/linux/device/class.h out

all files (for given query) filtered out

filtering include/linux/device/class.h out

filtering include/linux/device/class.h out

     1 /* Autogenerated for KSRC=/lib/modules/4.19.90-89.11.v2401.ky10.aarch64/source via kcompat-generator.sh */

     2 #define HAVE_DEVLINK_FLASH_UPDATE_BEGIN_END_NOTIFY

     3 #define HAVE_DEVLINK_FLASH_UPDATE_PARAMS

     4 #define HAVE_DEVLINK_HEALTH

     5 #define HAVE_DEVLINK_INFO_DRIVER_NAME_PUT

     6 #define HAVE_DEVLINK_PARAMS

     7 #define HAVE_DEVLINK_PARAMS_PUBLISH

     8 #define HAVE_DEVLINK_PORT_SPLIT

     9 #define HAVE_DEVLINK_PORT_SPLIT_EXTACK

    10 #define HAVE_DEVLINK_PORT_TYPE_ETH_HAS_NETDEV

    11 #define HAVE_DEVLINK_REGIONS

    12 #define HAVE_DEVLINK_REGION_OPS_SNAPSHOT

    13 #define HAVE_DEVLINK_REGISTER_SETS_DEV

    14 #define NEED_DEVLINK_RESOURCES_UNREGISTER_NO_RESOURCE

    15 #define NEED_DEVLINK_TO_DEV

    16 #define NEED_DEVLINK_UNLOCKED_RESOURCE

    17 #define HAVE_NDO_FDB_ADD_VID

    18 #define HAVE_NDO_GET_DEVLINK_PORT

    19 #define HAVE_NDO_UDP_TUNNEL_CALLBACK

    20 #define NEED_NETIF_NAPI_ADD_NO_WEIGHT

    21 #define NEED_NET_PREFETCH

    22 #define NEED_BUS_FIND_DEVICE_CONST_DATA

    23 #define NEED_ETHTOOL_SPRINTF

    24 #define HAVE_ETHTOOL_FLOW_RSS

    25 #define HAVE_XDP_DO_FLUSH

    26 #define NEED_NO_NETDEV_PROG_XDP_WARN_ACTION

    27 #define HAVE_FLOW_DISSECTOR_KEY_CVLAN

    28 #define HAVE_CDEV_DEVICE

    29 #define HAVE_POLL_T

    30 #define HAVE_STREAM_OPEN

    31 #define NEED_CLASS_CREATE_WITH_MODULE_PARAM

    32 #define NEED_CLASS_CREATE_WITH_MODULE_PARAM

    33 #define HAVE_GNSS_MODULE

    34 #define HAVE_STRUCT_PCI_DEV_PTM_ENABLED

    35 #define NEED_PCIE_PTM_ENABLED

    36 #define NEED_MUL_U64_U64_DIV_U64

    37 #define HAVE_PTP_CLOCK_INFO_ADJFINE

    38 #define NEED_DIFF_BY_SCALED_PPM

*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but

*** the signing key cannot be found. Module signing has been

*** disabled for this build.

make[1]: 进入目录“/usr/src/kernels/4.19.90-89.11.v2401.ky10.aarch64”

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_main.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_common.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_debugfs.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_ethtool.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_lib.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_mbx.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_pcs.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_n10.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_phy.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_mbx_fw.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_sriov.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_param.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_compat.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_sysfs.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_dcb.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_ptp.o

  CC [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp_mpe.o

  LD [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp.o

  Building modules, stage 2.

  MODPOST 1 modules

  CC      /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp.mod.o

  LD [M]  /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp.ko

make[1]: 离开目录“/usr/src/kernels/4.19.90-89.11.v2401.ky10.aarch64”

[root@localhost src]#

2.4、安装驱动

通过输入:

sudo make install

开始安装驱动;

安装过程大概需要10分钟左右时间;

安装过程显示所有内容如下:

[root@localhost src]# sudo make install

Makefile:44: *** compile without define.mk.

filtering include/linux/dev_printk.h out

filtering include/net/flow_keys.h out

filtering include/linux/device/class.h out

all files (for given query) filtered out

filtering include/linux/device/class.h out

filtering include/linux/device/class.h out

*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but

*** the signing key cannot be found. Module signing has been

*** disabled for this build.

make[1]: 进入目录“/usr/src/kernels/4.19.90-89.11.v2401.ky10.aarch64”

  Building modules, stage 2.

  MODPOST 1 modules

make[1]: 离开目录“/usr/src/kernels/4.19.90-89.11.v2401.ky10.aarch64”

Installing modules…

*** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but

*** the signing key cannot be found. Module signing has been

*** disabled for this build.

make[1]: 进入目录“/usr/src/kernels/4.19.90-89.11.v2401.ky10.aarch64”

  INSTALL /home/admin/SCADA/001-ruanjian/服务器死机问题/沐创/rnp-1.0.102/src/rnp.ko

  DEPMOD  4.19.90-89.11.v2401.ky10.aarch64

make[1]: 离开目录“/usr/src/kernels/4.19.90-89.11.v2401.ky10.aarch64”

Copying manpages…

Running depmod…

/sbin/depmod -e -F /lib/modules/4.19.90-89.11.v2401.ky10.aarch64/source/System.map  -a 4.19.90-89.11.v2401.ky10.aarch64

Updating initramfs…

[root@localhost src]#

2.5、挂载驱动

挂载驱动指令如下:

sudo modprobe rnp

2.6、查看驱动

输入如下指令查看驱动是否安装成功:

lsmod | grep rnp

返回全部内容如下:

[root@localhost src]# sudo modprobe rnp

[root@localhost src]# lsmod | grep rnp

rnp                   393216  0

[root@localhost src]# modinfo rnp

filename:       /lib/modules/4.19.90-89.11.v2401.ky10.aarch64/updates/drivers/net/ethernet/mucse/rnp/rnp.ko

version:        1.0.102

license:        GPL

description:    Mucse(R) 1/10/25/40 Gigabit PCI Express Network Driver

author:         Mucse Corporation, mucse@mucse.com

srcversion:     646B68D921E239654730F07

alias:          pci:v00008848d00001C00svsdbcsci*

alias:          pci:v00008848d00001C03svsdbcsci*

alias:          pci:v00008848d00001003svsdbcsci*

alias:          pci:v00008848d00001C01svsdbcsci*

alias:          pci:v00008848d00001001svsdbcsci*

alias:          pci:v00008848d00001004svsdbcsci*

alias:          pci:v00008848d00001002svsdbcsci*

alias:          pci:v00008848d00001000svsdbcsci*

depends:       

name:           rnp

vermagic:       4.19.90-89.11.v2401.ky10.aarch64 SMP mod_unload modversions aarch64

parm:           IntMode:Change Interrupt Mode (0=Legacy, 1=MSI, 2=MSI-X), default 2 (array of int)

parm:           max_vfs:Number of Virtual Functions: 0 = disable (default), 1-MAX_SRIOV_VFS = enable this many VFs (array of int)

parm:           SRIOV_Mode:Change SRIOV Mode (0=MAC_MODE, 1=VLAN_MODE), default 0 (array of int)

parm:           pf_msix_counts_set:Number of Max MSIX Count: (default un-limit) (array of int)

parm:           rnp_loglevel:uint

parm:           debug:Debug level (0=none,…,16=all) (int)

parm:           fix_eth_name:set eth adapter name to rnpXX (uint)

parm:           module_enable_ptp:enable ptp feature, disabled default (uint)

parm:           mpe_src_port:mpe src port (uint)

parm:           min_rx_pkt_len:Minumum RX packet length (uint)

parm:           mpe_pkt_version:ipv4 or ipv6 src port (uint)

[root@localhost src]#

驱动安装完毕后关闭此终端即可。

2.7、配置编译环境

更新驱动如果不成功,可以配置下编译环境:

yum install -y kernel-devel

yum install -y gcc

yum install -y make

03 更新固件

安装完网卡驱动以后还需要更新一下固件,

这里使用ethtool命令更新固件,更新固件后需要重启服务器才能生效。

3.1、拷贝

首先将解压后的固件拷贝到Linux系统的/lib/firmware路径下

这里我直接复制粘贴时粘贴选项为灰色,直接拖到该路径下时提示:权限不够

3.2、修改权限

通过如下命令将该路径赋予一下权限:

sudo chmod -R 777 /usr/local/lib

复制完权限再执行复制粘贴,或拖动到指定路径下;

或者也可以通过命令复制到指定路径下。

3.3、烧录命令

执行烧录命令:

ethtool -f  <ethX> xxx.img.bin 0

命令中<ethx>需要修改为实际网口名。

更新固件,用时1分钟左右;

3.4、查看版本

烧录完成后通过以下命令查看当前版本:

ethtool -i ens3f0

其中ens3f0为本服务器的实际网口名

通过上面截图可以看到当前截图还是:0.3.0-rc9

于是重启服务器。

再次查看,此时版本号为新安装的1.0.102

至此,网卡驱动和固件更新完成。

赞(0)
未经允许不得转载:171主机测评 » 信创服务器总死机原因及解决办法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址