首页 > 其他分享 >安装dpvs

安装dpvs

时间:2023-09-03 17:56:44浏览次数:30  
标签:bin patch dpvs install 安装 python3 dpdk

# 安装依赖
yum install popt-devel automake gcc -y
yum install -y python3-pip
yum install numactl-devel -y
yum install openssl-devel -y

# 安装python 3.7.0和meson以及ninja
tar -xvf Python-3.7.0.tar.xz
cd Python-3.7.0
./configure --prefix=/usr/local/python3
./configure --enable-optimizations
make && make install
rm -f /usr/bin/python3
ln -s /usr/local/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
python3 -m pip install meson
python3 -m pip install ninja

# 下载dpvs和dpdk
git clone https://github.com/iqiyi/dpvs.git
cd dpvs
wget https://fast.dpdk.org/rel/dpdk-20.11.1.tar.xz
tar xf dpdk-20.11.1.tar.xz

# 打patch
cp patch/dpdk-stable-20.11.1/*.patch dpdk-stable-20.11.1/
cd dpdk-stable-20.11.1/
patch -p1 < 0001-kni-use-netlink-event-for-multicast-driver-part.patch
patch -p1 < 0002-pdump-change-dpdk-pdump-tool-for-dpvs.patch
patch -p1 < 0003-debug-enable-dpdk-eal-memory-debug.patch
patch -p1 < 0004-ixgbe_flow-patch-ixgbe-fdir-rte_flow-for-dpvs.patch
patch -p1 < 0005-bonding-allow-slaves-from-different-numa-nodes.patch
patch -p1 < 0006-bonding-fix-bonding-mode-4-problems.patch

# 安装dpdk依赖和加载kni模块
mkdir dpdklib
mkdir dpdkbuild
meson -Denable_kmods=true -Dprefix=/root/dpvs/dpdk-stable-20.11.1/dpdklib dpdkbuild
ninja -C dpdkbuild
cd dpdkbuild; ninja install
export PKG_CONFIG_PATH=$(pwd)/../dpdklib/lib64/pkgconfig/
insmod ~/dpdk-stable-20.11.1/dpdkbuild/kernel/linux/kni/rte_kni.ko carrier=on

# 配置大页
echo 2048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
mkdir /mnt/huge
mount -t hugetlbfs nodev /mnt/huge
cat /proc/meminfo | grep Huge

# 升级pkg-config
wget http://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz --no-check-certificate
tar -zxvf pkg-config-0.29.2.tar.gz
cd pkg-config-0.29.2/
./configure --with-internal-glib
make
make install

# 绑vfio
# 1 开启iommu
vim /etc/default/grub
在GRUB_CMDLINE_LINUX行添加intel_iommu=on iommu=pt后保存退出
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
# 2 加载vfio驱动
modprobe vfio-pci
/usr/bin/chmod a+x /dev/vfio
/usr/bin/chmod 0666 /dev/vfio/*
echo 1 > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode
# 3 网卡绑驱动
ifconfig ens34 down
./dpdk-devbind.py -b vfio-pci 0000:01:00.0

# 编译dpvs并运行
export LIBDPDKPC_PATH=/root/dpvs/dpdk-stable-20.11.1/dpdklib/lib64/pkgconfig/
cd ~/dpvs
make
make install
cp conf/dpvs.conf.single-nic.sample /etc/dpvs.conf
vim /etc/dpvs.conf

打开conn/redirect,关闭flow_enable

cd bin
./dpvs &

# 验证
VIP=192.168.0.100
LIP=192.168.0.222
RS=192.168.0.103
./dpip addr add ${VIP}/24 dev dpdk0
./ipvsadm -A -t ${VIP}:80 -s rr
./ipvsadm -a -t ${VIP}:80 -r ${RS}:80 -b
./ipvsadm --add-laddr -z ${LIP} -t ${VIP}:80 -F dpdk0
docker run --network host --name a1 -itd nginx:1.7.9

./dpip addr show
./ipvsadm -ln
# 清空规则
./ipvsadm -C

 

标签:bin,patch,dpvs,install,安装,python3,dpdk
From: https://www.cnblogs.com/WJQ2017/p/17675267.html

相关文章

  • img文件如何安装在虚拟机内?看这里↓↓↓
    一、安装qemu软件(qemu下载)二、确认软件是否安装成功安装qemu后,打开cmd检测是否安装成功,切换至安装目录下,输如以下命令出现如下版本信息,则表示安装成功!三、将img文件转换为vmdk开始转换img文件,首先确定img文件位置打开cmd,切换至qemu安装目录输入如下命令.\qemu-img.execonvert......
  • 在Kubernetes(K8S)上安装和部署MySQL
    摘要:本文将介绍如何在Kubernetes(K8S)上安装和部署MySQL。我们将通过以下步骤实现这一目标:准备工作、安装MySQL、配置MySQL以及在K8S上部署MySQL。通过本文,您将了解如何使用K8S来管理MySQL的容器化部署,提高应用程序的性能、可靠性和安全性。一、引言MySQL是一种流行的关系型数据库,广......
  • Jenkins安装
    持续部署持续集成持续交付总体目标1.降低风险2.减少重复过程3.任何时间、任何地点使乘客部署的软件4.增强项目的可见性5.建立团队对开发产品的信心持续集成工具1.Jenkins和Hudson在ubuntu下安装jenkinswget-q-O-https://pkg.jenkins.io/debian/jenkins-ci.org......
  • 云服务器——安装MySQL
    镜像拉取MySQL#拉取mysql镜像,默认最新版本dockerpullmysql#默认最新版本dockerpullmysql:5.7#指定5.7版本#启动mysqldockerrun--namemysql-p3306:3306-eMYSQL_ROOT_PASSWORD=root-v/root/mysql/conf.d:/etc/mysql/conf.d-v/root/mysql/data:/var/l......
  • 安装archlinux 使用sway
    https://blog.csdn.net/xinxiaoyu_/article/details/129257241参考上述成功安装archlinux制作启动盘参考我上一篇文章下载archlinuxiso放置启动盘内进入启动盘,直接选择archlinuxiso选择第一个进入命令行建议插网线操作 方便些,可以直接联网规划盘(分区)用工具fdisk进行分......
  • Linux--安装部署Docker
    Docker介绍Docker理解Docker是基于Go语言实现的开源容器项目,专业的叫法是应用容器一次封装、到处运行对应用封装、分发、部署、运行的生命周期进行管理应用组件:Web应用、数据库平台、操作系统、集群为应用的开发、运行和部署提供一站式的使用解决方案Docker优势Docker容器好比一......
  • sonarqube教程:docker-compose安装sonarqube及sonar-scanner插件的使用
    docker-compose安装sonarqubevim/etc/sysctl.conf vm.max_map_count=262144vm.max_map_count参数含义version:'3'services:postgres:image:postgres:14.5restart:alwayscontainer_name:postgresports:-5432:5432volumes:......
  • linux教程:最小化安装的centos7如何安装图形化界面
    列出的组列表yumgrouplist安装yumgroupinstall-y"GNOMEDesktop"安装完成后,修改默认启动方式为图形化界面#设置成图形模式systemctlset-defaultgraphical.target如果要换回来#设置成命令模式systemctlset-defaultmulti-user.target然后重启系统即可......
  • docker下安装clickhouse
    文章目录01前言02安装03修改配置3.1安装vim插件3.2修改用户密码04验证01前言clickhousedockerhub首页:https://hub.docker.com/r/yandex/clickhouse-server,这里描述了clickhouse在docker下的简介以及部署方式:搜索自己需要的版本:https://hub.docker.com/r/yandex/clickhou......
  • Python安装
    Python3编译安装1.安装编译相关工具yum-ygroupinstall"Developmenttools"yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-develyuminstalllibffi-devel-y2.下载安......