更新时间:2021-12-25 GMT+08:00
分享

配置环境

  • 本文中所有未作特别说明的操作皆需在Host1和Host2同步进行,仅需在某台服务器单独进行的操作将注明Host1和Host2进行区分。
  • 本文命令中所涉及Mellanox的PF网口名皆以enp1s0f0/1为例,VF端口皆以enp1s0f0_$为例,PCI端口号皆以0000:01:00/1.$为例,用户操作中请以实际为准进行更换。

BIOS设置

  1. 进入BIOS,选择Advanced > MISC Config

  2. “Support Smmu”设置为“Enabled”

  3. 返回上一级目录,选择PCIe Config

  4. “SRIOV”设置为“Enable”

配置内存大页

这一步和后续的开启IOMMU及CPU隔离关闭NetworkManager关闭SELinux都需要重启服务器,此步骤可以选择暂不重启,待需要重启的步骤全部执行完后再重启。

  1. 使用SSH远程登录工具,登录到服务器上,切换到root账户下。
  2. 查看是否已经配置内存大页。

    1
    cat /proc/meminfo |grep -i huge
    

    • “HugePages_Total”“Hugepagesize”均大于0,且“Hugepagesize”超过5GB,则无须再进行配置,操作结束。
    • “HugePages_Total”“Hugepagesize”至少有一个为0,则执行3

  3. 编辑“/boot/efi/EFI/centos/grub.cfg”文件,修改启动设置。

    1
    vim /boot/efi/EFI/centos/grub.cfg
    
    1. 找到开机启动项menuentry,在第100行末尾处增加大页相关选项,default_hugepagesz=512M hugepagesz=512M hugepages=128,示例如下:

    2. 保存退出。
      1
      :wq
      

  4. 配置开机挂载大页。

    1. 编辑“/etc/fstab”文件。
      1
      vim /etc/fstab
      

      新增以下文本:

      1
      nodev /mnt/huge hugetlbfs defaults 0 0
      

    2. 保存退出。
      1
      :wq
      

  5. 创建“/mnt/huge”目录。

    1
    mkdir -p /mnt/huge
    

  6. 重启服务器生效。

    1
    reboot
    

  7. 再次执行2,确认配置是否生效。

开启IOMMU及CPU隔离

  1. 编辑“/etc/grub2-efi.cfg”文件。

    1
    vim /etc/grub2-efi.cfg
    

    在开机启动项(第100行末尾处)后面添加IOMMU设置:

    isolcpus=0-5 iommu.passthrough=1

  2. 重启服务器生效配置。

    1
    reboot
    

关闭NetworkManager

执行以下命令,关闭NetworkManager。

1
2
systemctl stop NetworkManager
systemctl disable NetworkManager

关闭SELinux

  1. 关闭防火墙。

    1
    2
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    

  2. 编辑“/etc/selinux/config”文件。

    1
    vim /etc/selinux/config
    

    “SELINUX”设置为“disabled”

    临时关闭SELinux,使用命令setenforce 0

  3. 重启服务器生效配置。

    1
    reboot
    

配置本地镜像源

为匹配系统对应的kernel-devel,需配置本地镜像源。

  1. 配置本地yum源。

    1
    2
    3
    4
    5
    mkdir /mnt/repo
    mount -o loop /home/iso/CentOS-7-aarch64-Everything-1810.iso /mnt/repo
    cd /etc/yum.repos.d
    mkdir backup
    mv *.repo backup
    

  2. 编辑local.repo。

    1
    vim /etc/yum.repo.d/local.repo
    
    1. 添加以下内容:
      1
      2
      3
      4
      5
      6
      [local]
      name=local
      baseurl=file:///mnt/repo
      enable=1
      gpgcheck=0
      gpgkey=file:///mnt/repo/RPM-GPG-KEY-CentOS-7
      
    2. 保存退出。
      1
      :wq
      

  3. 清除所有缓存。

    1
    yum clean all
    

  4. 构建缓存。

    1
    yum makecache
    

安装Mellanox网卡驱动

  1. 将下载好的Mellanox网卡驱动包从本地上传至服务器。
  2. 解压驱动包并进入解压后的文件夹。

    1
    2
    tar -zxvf MLNX_OFED_LINUX-5.1-2.3.7.1-rhel7.6alternate-aarch64.tgz
    cd MLNX_OFED_LINUX-5.1-2.3.7.1-rhel7.6alternate-aarch64
    

  3. 安装依赖。

    1
    yum install unbound tcl gcc-gfortran fuse-libs tk createrepo kernel-devel python-devel redhat-rpm-config rpm-build gcc gcc-c++
    

  4. 安装驱动。

    1
    ./mlnxofedinstall --ovs-dpdk --upstream-libs --add-kernel-support
    

  5. 更新initramfs。

    1
    dracut -f
    

  6. 加载驱动。

    1
    /etc/init.d/openibd restart
    

    加载驱动如果报如下失败,可以执行rmmod hns_roce_hw_v2,然后再次加载驱动。

    若环境上有1822网卡,会因为1822网卡产生大量的软中断导致服务器性能降低,因此建议关闭1822网卡。

    执行如下命令关闭1822网卡。

    1
    rmmod hinic
    

    每次服务器重启后,都需要执行一次此操作。

分享:

    相关文档

    相关产品

close