配置环境

BIOS设置

  1. 进入BIOS。

    具体请参见《TaiShan 服务器 BIOS 参数参考(鲲鹏920处理器)》中“进入BIOS界面”的相关内容。

  2. 选择Advanced > MISC Config

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

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

  5. “SRIOV”设置为“Enable”

配置大页内存及IOMMU

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

    1
    cat /proc/meminfo |grep -i huge
    

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

  3. 在开机启动项后面添加大页内存配置和IOMMU配置。

    • openEuler 20.03:
      1. 打开文件。
        vim /etc/grub2-efi.cfg
      2. “i”进入编辑模式,在下图位置添加配置。
        default_hugepagesz=512M hugepagesz=512M hugepages=128 iommu.passthrough=1

      3. “Esc”键退出编辑模式,输入“:wq!”后按“Enter”键保存并退出文件。
    • CentOS 7.6:
      1. 打开“/boot/efi/EFI/centos/grub.cfg”文件。
        vim /boot/efi/EFI/centos/grub.cfg
      2. “i”进入编辑模式,在下图位置添加配置。
        default_hugepagesz=512M hugepagesz=512M hugepages=128

      3. “Esc”键退出编辑模式,输入“:wq!”后按“Enter”键保存并退出文件。
      4. 打开“/etc/grub2-efi.cfg”文件。
        1
        vim /etc/grub2-efi.cfg
        
      5. “i”进入编辑模式,在下图位置添加配置。
        isolcpus=0-5 iommu.passthrough=1

      6. “Esc”键退出编辑模式,输入“:wq!”后按“Enter”键保存并退出文件。

  4. 配置开机挂载大页。

    1. 编辑“/etc/fstab”文件。
      1
      vim /etc/fstab
      
    2. “i”进入编辑模式,新增以下文本。
      1
      nodev /mnt/huge hugetlbfs defaults 0 0
      

    3. “Esc”键退出编辑模式,输入“:wq!”后按“Enter”键保存并退出文件。

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

    1
    mkdir -p /mnt/huge
    

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

    1
    reboot
    

  7. 查看配置大页内存是否成功。

    cat /proc/meminfo |grep -i huge

    “HugePages_Total”和“Hugepagesize”均大于0,且“Hugepagesize”超过5GB即为配置成功。

(可选)关闭NetworkManager

本操作仅需在使用CentOS 7.6操作系统时进行。

执行以下命令,关闭NetworkManager。

1
2
systemctl stop NetworkManager
systemctl disable NetworkManager

关闭SELinux

鲲鹏BoostKit虚拟化使能套件提供的OVS网卡加速特性的运行需要创建VM虚拟机,而Linux系统默认开启的SELinux安全机制会阻止Guest虚拟机的镜像加载,导致无法正常部署虚拟化场景业务。这是Linux OS本身的行为,鲲鹏BoostKit虚拟化使能套件并不对此提供的详细解决方案。如果客户想在自己的系统中使用SELinux,则需要自行寻找解决方法。

针对此限制,我们提供了快速的禁用SELinux的方法。鲲鹏BoostKit虚拟化使能套件中,提供的SELinux配置方法仅供参考,需客户自行评估并承担相应风险。

禁用SELinux可能会导致安全问题,如果客户最终的解决方案本身就没有规划启用SELinux,建议通过端到端的整体方案来弥补SELinux关闭带来的风险,且需自行承担安全风险。如果客户有SELinux的需求,建议根据实际的SELinux问题进行细粒度的规则配置,并保证整个系统的安全。

  1. 编辑文件“/etc/selinux/config”

    1. 打开文件。
      1
      vim /etc/SELINUX/config
      
    2. “i”进入编辑模式,将“SELINUX”修改为“disabled”

    3. “Esc”键退出编辑模式,输入“:wq!”后按“Enter”键保存并退出文件。

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

    1
    reboot
    

若需临时关闭SELinux,可使用setenforce 0命令。

配置本地Yum源

  1. 配置本地Yum源。

    • openEuler 20.03:
      mkdir /mnt/repo
      mount -o loop /home/iso/openEuler-20.03-LTS-SP1-everything-aarch64-dvd.iso /mnt/repo
      cd /etc/yum.repos.d
      mkdir backup
      mv *.repo backup
    • CentOS 7.6:
      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. 打开文件。
      • openEuler 20.03:
        vim local.repo
      • CentOS 7.6:
        1
        vim /etc/yum.repo.d/local.repo
        
    2. “i”进入编辑模式,添加以下内容。
      • openEuler 20.03:
        [local]
        name=local repo
        baseurl=file:///mnt/repo
        enabled=1
        gpgcheck=0
        
        [arch_fedora_online]
        name=arch_fedora
        baseurl=https://mirrors.huaweicloud.com/fedora/development/rawhide/Everything/aarch64/os
        enabled=1
        gpgcheck=0
        priority=2
      • CentOS 7.6:
        [local]
        name=local
        baseurl=file:///mnt/repo
        enable=1
        gpgcheck=0
        gpgkey=file:///mnt/repo/RPM-GPG-KEY-CentOS-7
    3. “Esc”键退出编辑模式,输入“:wq!”后按“Enter”键保存并退出文件。

  3. 清除所有缓存。

    1
    yum clean all
    

  4. 更新Yum缓存。

    yum makecache

安装Mellanox网卡驱动

  1. 将下载好的Mellanox网卡驱动包从本地上传至服务器。
  2. 安装软件包依赖。

    • openEuler 20.03:
      1
      yum install unbound tcl gcc-gfortran fuse-libs tk createrepo kernel-devel python-devel rpm-build gcc gcc-c++ tcsh lsof pciutils-devel fuse-devel
      
    • CentOS 7.6:
      yum install unbound tcl gcc-gfortran fuse-libs tk createrepo kernel-devel python-devel redhat-rpm-config rpm-build gcc gcc-c++

  3. 解压驱动包并进入解压后的文件夹。

    • openEuler 20.03:
      tar -zxvf MLNX_OFED_LINUX-5.2-2.2.0.0-openeuler20.03-aarch64.tgz
      cd MLNX_OFED_LINUX-5.2-2.2.0.0-openeuler20.03-aarch64
    • CentOS 7.6:
      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

  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,然后再次加载驱动。

  7. 重启服务器。

    1
    reboot
    

  8. (可选)关闭1822网卡。

    若环境上有1822网卡,会因为1822网卡产生大量的软中断导致服务器性能降低,因此建议关闭1822网卡。每次重启服务器后,都需要关闭一次。

    1
    rmmod hinic