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

楼主 |
发表于 2023-9-20 18:16:48
|
显示全部楼层
OVS-SETUP
& g- A, d; J9 b+ K% G
, w/ \; P8 v% F0 r+ \1、清除之前的环境
- b' `, t3 x) Mkillall ovsdb-server ovs-vswitchd
: p0 \- ^" f1 ?( \: m8 Rrm -f /var/run/openvswitch/vhost-user*
2 N: k# U' ?9 Z1 Qrm -f /etc/openvswitch/conf.db
# ^/ C- r, n/ y0 U) p( ^7 k( l. O5 G1 L& U
2、启动ovsdb, C; C9 W3 O# `
; C0 o3 O6 f- |& D( _export DB_SOCK=/var/run/openvswitch/db.sock- F- n: w: a* m8 O0 v- `1 C
9 [$ m: |* I; W5 Y2 A. Q1 S$ i
ovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema$ W& B1 K& o! f
ovsdb-server --remote=punix:$DB_SOCK --remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach0 j3 i8 I5 o9 O. U
ovs-vsctl --no-wait init8 i: P4 ?, e# z) N6 p( Z
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x2 //绑定到第2个cpu核上6 d% a6 V# l0 H8 l
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=4096
* K" Z* b1 k2 }0 Movs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true% Z( S1 E/ z8 r# T; q
启动ovs-vswitch. R0 l+ o- Y& E* `
ovs-vswitchd unix:$DB_SOCK --pidfile --detach --log-file=/var/log/openvswitch/ovs-vswitchd.log( { }$ d) H" m6 y" N5 [
1 {' P2 f8 ?! G3 J# t: u, O, H4 b
7 y% h9 ^9 o% I" u$ ^* Q% `; u3、查看支持DPDK是否成功:
; ~, d/ A/ V/ _: R4 L, }/ V. w+ o; T X% b
ovs-vsctl get Open_vSwitch . dpdk_initialized$ \9 u8 U8 {! }
true$ u6 B- {) Y( `/ P+ v' f8 l* `
! z+ Y! `) I5 s- q
配置bridge9 V/ q8 T ~$ _
1 ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev
7 c, N* t" R" f! }! k. k
" A, a% _+ `' }6 [" ]" m7 Y2、添加vhost-user-client-0/1 端口需要指定vhost-server-path值,表示socket文件路径。2 |- C3 q3 C" a2 `4 `) D
ovs-vsctl add-port ovsbr0 vhost-client-0 -- set Interface vhost-client-0 type=dpdkvhostuserclient options:vhost-server-path=/usr/local/var/run/sock0
2 q; w$ F: U: F6 l6 A2 Yovs-vsctl add-port ovsbr0 vhost-client-1 -- set Interface vhost-client-1 type=dpdkvhostuserclient options:vhost-server-path=/usr/local/var/run/sock1% ^+ o( Z( }8 s- a) Q; p. w- p
ovs-vsctl show4 K6 h# L: k7 L3 }& V/ K _
" Q: n2 q/ v1 @0 n! x
在网桥ovsbr0上绑定真实dpdk的物理网卡
3 n% r0 @' N$ C. Z8 ~; p1 e7 u( F% {$ g+ W/ X/ N
ovs-vsctl add-port ovsbr0 dpdkport0 -- set Interface dpdkport0 type=dpdk option:dpdk-devargs=0000:02:00.0
, l* L4 a( u; ?3 k, Z1 R0 x4 P! f' O+ J6 a$ A4 \; b5 Y' @1 W
注:可以修改ovs桥中端口的mtu值方法如下:该命令设置可以在数据库持久,也可以配置物理接口+ t4 `* B ?( w
ovs-vsctl set interface ovsbr0 mtu_request=9000; P+ c h3 K+ B% o
ovs-vsctl set interface dpdkport0 mtu_request=9000# N. [5 e) B2 w. \+ |* Y) h) h( B4 [
ovs-vsctl set interface vhost-client-1 mtu_request=90002 T0 f" u( }# d, b+ Z u% T
ovs-vsctl set interface vhost-client-0 mtu_request=9000/ V/ Y2 K& [: N4 ~' n
1 L- _( }5 O5 p
该命令清除恢复到默认的MTU
7 H3 ]/ s0 r L3 O+ f( }, {) t* j9 T5 n" v4 h3 I' g
ovs-vsctl set interface vhost-client-0 mtu_request=[]
$ ]: T. A7 S( b5 z
, w1 L7 k, V7 y% x: ~3 |也可以直接使用添加端口的时候指定mtu值如下方式:
2 M* O* S0 N( q' B/ c8 T4 }
: o+ w) c/ C2 t* e q0 H4 x: B/ L6 ?3 k9 s% w' @' J
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
, R o( {0 Z) d4 G% o) {& W. k0 o9 z2 d/ n+ `5 `* j" v6 F- X
' [" l, B" L- d5 K& Xovs-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=9000. K- L* Y( L! n. G1 C! s1 `
ovs-vsctl add-port ovsbr0 dpdkport0 -- set Interface dpdkport0 type=dpdk option:dpdk-devargs=0000:02:00.0 mtu_request=9000& o2 \; ~$ T0 o" U- \# `
|
|