- 积分
- 16840
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 2023-9-20 18:16:48
|
显示全部楼层
OVS-SETUP, Z- o. k& F) v; C+ X
$ m0 e( U- Y0 i U2 q8 `( j" K1、清除之前的环境' v- u! F" Y& p c+ P
killall ovsdb-server ovs-vswitchd
1 M+ `0 c- F/ Q3 A& [. [rm -f /var/run/openvswitch/vhost-user*
- s# @- ]3 E$ e! g/ m' `0 ]rm -f /etc/openvswitch/conf.db
6 F, }2 Y' } F x8 l3 s8 i3 U. {- f3 e$ ]- l8 _% V% i. b
2、启动ovsdb0 O8 ^; V( d* ^! Q: L& @: @
, C5 z* J% Y z! i* U
export DB_SOCK=/var/run/openvswitch/db.sock
* ^8 N9 ~! t3 U3 s6 k: a2 [
: |2 H' b) G/ B* V/ d) W9 t! o/ \ovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema
! T+ V. r& [3 ]* }% |3 i0 v x4 g4 Covsdb-server --remote=punix:$DB_SOCK --remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach
' N. Z' K3 t0 q0 ?9 S5 i- Covs-vsctl --no-wait init% l9 l9 E5 K+ s1 z5 `& J$ h' B
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x2 //绑定到第2个cpu核上
5 z7 p5 ?7 F3 D( r) T: {! n6 \& ^ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=40965 X& n" s3 b L3 ~8 B2 f4 r# ~+ a
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
3 f& W) r) Q3 m' v- |0 q; [启动ovs-vswitch, x4 _2 F" @ r
ovs-vswitchd unix:$DB_SOCK --pidfile --detach --log-file=/var/log/openvswitch/ovs-vswitchd.log
+ i5 h8 x" d2 l: h9 z4 o; T, |( l% k! E/ g9 ~0 @
4 v( w, |& ^! w* x# R
3、查看支持DPDK是否成功:
- @! p* b1 Q4 Y& r% {: o
/ I8 v7 z2 O8 c% f: tovs-vsctl get Open_vSwitch . dpdk_initialized
- d3 S+ n) d( R4 Ttrue
, ?4 A9 G) [' @$ O, ^
8 a) w3 i# k8 w5 v配置bridge
2 {8 J! {# ~% _4 p7 M5 m1 v1 F1 ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev
6 L; B2 X' _2 O; s; a$ `9 D, T p
2、添加vhost-user-client-0/1 端口需要指定vhost-server-path值,表示socket文件路径。 o' b; y! k4 G, g" v
ovs-vsctl add-port ovsbr0 vhost-client-0 -- set Interface vhost-client-0 type=dpdkvhostuserclient options:vhost-server-path=/usr/local/var/run/sock0
# E; V3 n: e+ C [' ~ovs-vsctl add-port ovsbr0 vhost-client-1 -- set Interface vhost-client-1 type=dpdkvhostuserclient options:vhost-server-path=/usr/local/var/run/sock1
7 J( b6 j1 o. qovs-vsctl show
( ~) b* ?2 U4 b
7 e o' n% W4 ?9 K- {8 J, N% S在网桥ovsbr0上绑定真实dpdk的物理网卡$ N1 m! {1 {# l$ F; z \
" `- @9 t' g7 m1 X1 T% d Aovs-vsctl add-port ovsbr0 dpdkport0 -- set Interface dpdkport0 type=dpdk option:dpdk-devargs=0000:02:00.0
0 Z; t* w3 T8 O$ z& s7 E7 a9 w
# a$ r9 _6 d( W$ f/ h8 C注:可以修改ovs桥中端口的mtu值方法如下:该命令设置可以在数据库持久,也可以配置物理接口+ _$ e! ~) T# y& I3 @
ovs-vsctl set interface ovsbr0 mtu_request=9000" _0 w) l/ Y+ Z7 T# S0 c
ovs-vsctl set interface dpdkport0 mtu_request=90000 [- }5 z9 @' O8 j
ovs-vsctl set interface vhost-client-1 mtu_request=9000% c/ d8 B$ r1 }; y
ovs-vsctl set interface vhost-client-0 mtu_request=9000
/ ~3 j% H& y9 r+ P9 B n8 n0 N
" s4 O' e( i! K) U该命令清除恢复到默认的MTU0 _" X _0 L; X. t0 A
( U- ^7 T; j8 `4 h9 Yovs-vsctl set interface vhost-client-0 mtu_request=[]; A0 j& _6 S y) a
4 I) R4 D f1 P: O; H' B
也可以直接使用添加端口的时候指定mtu值如下方式:8 ^5 a# s- g3 u0 |, B/ A2 V. _
9 u! R( z/ |* q: r% p( V) ?7 F \4 }8 T
ovs-vsctl add-port ovsbr0 vhost-client-0 -- set Interface vhost-client-0 type=dpdkvhostuserclient options:vhost-server-path=/usr/local/var/run/sock0 mtu_request=9000
3 I$ v' M5 g. z/ K# X& b1 Q! M, I& D: k, i. X& L
$ B, B$ j" K; s( vovs-vsctl add-port ovsbr0 vhost-client-1 -- set Interface vhost-client-1 type=dpdkvhostuserclient options:vhost-server-path=/usr/local/var/run/sock1 mtu_request=90004 ?9 |" V9 g2 w. D7 P, M# P) {/ E
ovs-vsctl add-port ovsbr0 dpdkport0 -- set Interface dpdkport0 type=dpdk option:dpdk-devargs=0000:02:00.0 mtu_request=9000
m# @. N" m7 k+ ] |
|