9장. OVS DPDK를 사용하여 다양한 본딩 모드 배포
Red Hat OpenStack Platform에서 OVS-DPDK를 사용하여 다양한 본딩 모드를 배포하려면 다음 절차를 사용하십시오.
9.1. 해결책 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
compute.yaml 환경 파일을 다음과 같이 변경합니다. 이 예제에서는 MTU 값도 2000으로 설정합니다.
(...)
-
type: ovs_user_bridge
name: br-link
mtu: 2000
use_dhcp: false
members:
-
type: ovs_dpdk_bond
name: dpdkbond0
ovs_options: "bond_mode=balance-slb"
mtu: 2000
ovs_extra:
- set interface dpdk0 mtu_request=$MTU
- set interface dpdk1 mtu_request=$MTU
members:
-
type: ovs_dpdk_port
name: dpdk0
members:
-
type: interface
name: p1p2
-
type: ovs_dpdk_port
name: dpdk1
members:
-
type: interface
name: p1p1
(...)
(...)
-
type: ovs_user_bridge
name: br-link
mtu: 2000
use_dhcp: false
members:
-
type: ovs_dpdk_bond
name: dpdkbond0
ovs_options: "bond_mode=balance-slb"
mtu: 2000
ovs_extra:
- set interface dpdk0 mtu_request=$MTU
- set interface dpdk1 mtu_request=$MTU
members:
-
type: ovs_dpdk_port
name: dpdk0
members:
-
type: interface
name: p1p2
-
type: ovs_dpdk_port
name: dpdk1
members:
-
type: interface
name: p1p1
(...)
위 템플릿 변경 사항을 사용하여 오버클라우드를 배포하거나 재배포합니다. 완료되면 오버클라우드 노드에서 다음 단계를 수행합니다.
os-net-config 구성을 확인합니다.
cat /etc/os-net-config/config.json | python -m json.tool
(...)
{
"members": [
{
"members": [
{
"members": [
{
"name": "p1p2",
"type": "interface"
}
],
"name": "dpdk0",
"type": "ovs_dpdk_port"
},
{
"members": [
{
"name": "p1p1",
"type": "interface"
}
],
"name": "dpdk1",
"type": "ovs_dpdk_port"
}
],
"mtu": 2000,
"name": "dpdkbond0",
"ovs_extra": [
"set interface dpdk0 mtu_request=$MTU",
"set interface dpdk1 mtu_request=$MTU"
],
"ovs_options": "bond_mode=balance-slb",
"type": "ovs_dpdk_bond"
}
],
"mtu": 2000,
"name": "br-link",
"type": "ovs_user_bridge",
"use_dhcp": false
},
(...)
cat /etc/os-net-config/config.json | python -m json.tool
(...)
{
"members": [
{
"members": [
{
"members": [
{
"name": "p1p2",
"type": "interface"
}
],
"name": "dpdk0",
"type": "ovs_dpdk_port"
},
{
"members": [
{
"name": "p1p1",
"type": "interface"
}
],
"name": "dpdk1",
"type": "ovs_dpdk_port"
}
],
"mtu": 2000,
"name": "dpdkbond0",
"ovs_extra": [
"set interface dpdk0 mtu_request=$MTU",
"set interface dpdk1 mtu_request=$MTU"
],
"ovs_options": "bond_mode=balance-slb",
"type": "ovs_dpdk_bond"
}
],
"mtu": 2000,
"name": "br-link",
"type": "ovs_user_bridge",
"use_dhcp": false
},
(...)
본딩 확인:
ovs-appctl bond/show dpdkbond0
---- dpdkbond0 ----
bond_mode: balance-slb
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
next rebalance: 9221 ms
lacp_status: off
active slave mac: a0:36:9f:e5:da:82(dpdk1)
slave dpdk0: enabled
may_enable: true
slave dpdk1: enabled
active slave
may_enable: true
[root@overcloud-compute-0 ~]# ovs-appctl bond/show dpdkbond0
---- dpdkbond0 ----
bond_mode: balance-slb
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
next rebalance: 9221 ms
lacp_status: off
active slave mac: a0:36:9f:e5:da:82(dpdk1)
slave dpdk0: enabled
may_enable: true
slave dpdk1: enabled
active slave
may_enable: true