Chinaunix首页 | 论坛 | 博客
  • 博客访问: 781265
  • 博文数量: 611
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2016-11-11 09:12
  • 认证徽章:
个人简介

To be a better coder

文章分类

全部博文(611)

文章存档

2019年(166)

2018年(217)

2017年(147)

2016年(82)

分类: LINUX

2018-10-31 19:30:52

CPU得支持DPDK, 测试命令:cat  /proc/cpuinfo |grep pdpe1gb

首先需要说明的是因为OVS-DPDK使用了hugepage,所以如果VM要和OVS-DPDK进行通信的话,也就必须使用hugepage。hugepage配置基本上有两种方案,2M和1G的,下面针对两个分别说一下:

  • 1G的需要在grub中指定默认为1G的hugepage,并且不支持创建小于1G内存的VM
1. 系统设置

系统BIOS需要打开VT-d,并且通过grub配置iommu和intel_iommu参数来支持VFIO驱动,修改/boot/grub2/grub.cfg,找到引导的相应内核参数,在后面添加:
iommu=pt intel_iommu=on,例如,

linux16 /vmlinuz-3.10.0-327.36.2.el7.x86_64 root=/dev/mapper/centos_dell-root ro crashkernel=auto rd.lvm.lv=centos_dell/root rd.lvm.lv=centos_dell/swap nomodeset rhgb quiet iommu=pt intel_iommu=on


2. 设置dpdk驱动

为VFIO

[root@dpdk ~]# modprobe vfio-pci

    1

或者为uio_pci_generic

[root@dpdk ~]# modprobe uio_pci_generic

    1

3. 网卡绑定到dpdk

本例中,将物理网卡p2p2和p2p3绑定到dpdk,绑定后,使用系统命令ifconfig就看不到这两个网卡了

[root@dpdk ~]# dpdk-devbind --status

    1

这里写图片描述

[root@dpdk ~]# dpdk-devbind --bind=vfio-pci p2p2
[root@dpdk ~]# dpdk-devbind --bind=vfio-pci p2p3

    1
    2

可以看到两个物理网卡已在DPDK-compatible driver这一栏中
这里写图片描述
配置大页
1. 查看当前的hugepage

[root@dpdk ~]# grep HugePages_ /proc/meminfo

    1

2. 修改hugepage的页数为1024

临时设置大页的方法,重启失效:

[root@dpdk ~]# echo 1024 > /proc/sys/vm/nr_hugepages

    1

配置保存的设置方法,重启生效:

[root@dpdk ~]# echo 'vm.nr_hugepages=1024' > /etc/sysctl.d/hugepages.conf

    1

ps: 设置1024个hugepage,系统每个page默认占2M,所以hugepages占用2G内存
3. 挂载hugepages

[root@dpdk ~]# mount -t hugetlbfs none /dev/hugepages
---------------------

Dpdk相关port创建好以后,一个简单的方法可以判断一下Dpdk端口是否创建成功,如果成功,通过top命令可以看到/usr/local/sbin/ovs-vswitchd进程的cpu使用率会一直保持在100%。
















[root@localhost /]#
[root@localhost /]#
[root@localhost /]# ps aux | grep ovs
root      1672  0.0  0.0  43536  6256 ?        Ss   Oct22   0:26 /usr/local/sbin/ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options /config/openvswitch/conf.db --private-key=db:Open_vSwitch,SSL,private_key --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --pidfile
root     22716  0.6  0.0 4089560 9380 ?        SLsl 19:12   0:02 /usr/local/sbin/ovs-vswitchd --dpdk -c 0x2 -n 2 -- unix:/usr/local/var/run/openvswitch/db.sock --pidfile
root     28657  0.0  0.0  12368  2140 pts/7    S+   19:19   0:00 grep ovs
[root@localhost /]#


可在系统启动后使用如下命令查看:

[root@dpdk ~]# cat /proc/cmdline
---------------------

阅读(301) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册