Updated on 2024-07-24 GMT+08:00

Why Is the NIC Not Working?

Symptom

The NIC equipped on a disk-intensive ECS does not work.

Possible Causes

The NIC driver has not been correctly installed.

Solution

Disk-intensive ECSs use passthrough NICs to improve network performance. You must install the passthrough NIC driver on the ECSs or the image that is used for creating the ECSs.

If you mount the CD/DVD-ROM driver over a VPN, ensure that the VPN bandwidth is greater than 8 Mbit/s.

To install the passthrough NICE driver, do as follows:

  1. Obtain the passthrough NIC driver.

    Passthrough NIC driver versions vary depending on the OS. For details, see Table 1.

    Table 1 NIC driver versions and OSs

    NIC Driver Version

    OS

    How to Obtain

    ixgbevf 2.16.4

    CentOS 7.2 64bit

    https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/2.16.4/

    Red Hat Enterprise Linux 7.2 64bit

    ixgbevf 2.16.1

    SUSE Linux Enterprise Server 11 SP3 64bit

    SUSE Linux Enterprise Server 11 SP4 64bit

    https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/2.16.1/

  2. Log in to the ECS.

    For more details, see Login Overview (Linux).

  3. Install the passthrough NIC driver on the ECS. In this procedure, Red Hat Enterprise Linux 7.2 64bit is used as an example.

    1. Configure the passthrough NIC.
      Not all ECS OSs identify passthrough NICs using the standard NIC naming rule of ethx, where x is a number. If this is the case, you must configure the ECS so that it can identify the passthrough NIC. The procedure is as follows:
      1. Run the following command to view all NICs on the ECS and identify the passthrough NIC:

        ifconfig -a

      2. Run the following command to switch to the directory where configuration files are stored:

        cd /etc/sysconfig/network-scripts/

      3. Run the following command to create a configuration file for the passthrough NIC:

        cp ifcfg-eth0 ifcfg-NIC_name

        In the preceding command, NIC_name specifies the name of the passthrough NIC.

      4. Use the vi editor to edit this configuration file:

        vi ifcfg-NIC_name

      5. Set the DEVICE parameter in the configuration file to the name of the passthrough NIC. The following is an example configuration:
        DEVICE="NIC_name"
        BOOTPROTO="dhcp"
        ONBOOT="yes"
        STARTMODE="onboot"
      6. Run the following command to restart the network service and allow the configuration to take effect:

        service network restart

    2. Upload the obtained passthrough NIC driver to a directory on the ECS, for example, /home.
    3. Switch to user root on the ECS CLI and open the target directory.

      In this example, the passthrough NIC driver is stored in the /home directory. Run the cd /home command to switch to the target directory.

    4. Run the following command to decompress the software package.

      tar -zxvf ixgbevf-2.16.4.tar.gz

    5. Run the following command to switch to the generated src directory:

      cd ixgbevf-2.16.4/src

    6. Run the following commands to install the driver:

      make

      make install

    7. Run the following command to restart the ECS to make the drive take effect:

      reboot

    8. Switch to user root on the ECS CLI and open the src directory, for example, by running the cd /home/ixgbevf-2.16.4/src command. Then, run the following commands to check whether the driver has been installed:

      rmmod ixgbevf

      insmod ./ixgbevf.ko

      ethtool -i NIC_name

      In the preceding command, NIC_name specifies the passthrough NIC name, for example, ens5.

      • After you run the rmmod ixgbevf command, the system may display an error message. This message does not affect the installation of the passthrough NIC driver and can be ignored.
      • NIC_name specifies the passthrough NIC name, for example, ens5.
    9. Check the driver status based on the displayed information.

      In this example, the driver is installed if driver is ixgbevf and version is 2.16.4.