kolla-ansible Network QoS 적용방법
configuration
globals.yml
enable_neutron_qos: "yes"
ml2_conf.ini
의 extension_drivers
에 qos
추가
[ml2] extension_drivers = port_security,qos
이후 배포/적용한다.
QoS 적용
현재 오픈스택에 QoS 정책을 확인한다.
$ openstack network qos policy list
만든 정책이 없다면 아무것도 나오지 않는다.
myproject
에 bw-limiter
라는 QoS 정책을 생성한다.
openstack network qos policy create --share --project myproject bw-limiter
정책내에 규칙을 생성한다.
아래 예제는 대역폭 제한이 50000 kbps이고 최대 버스트 크기인 bw-limiter 라는 정책에 대해 QoS 수신 및 송신 규칙이 생성됩니다.
ingress
와 egress
로 In/Out 규칙을 적용할 수 있다.
$ openstack network qos rule create --type bandwidth-limit \ --max-kbps 50000 --max-burst-kbits 50000 --ingress bw-limiter $ openstack network qos rule create --type bandwidth-limit \ --max-kbps 50000 --max-burst-kbits 50000 --egress bw-limiter
QoS 정책/규칙 생성까지는 Horizon 대시보드에서도 가능하다. 하지만 포트에 정책을 적용하는것은 현재 Horizon에서 지원하지 않는다.
2024-01-12 (Zed)
만들어진 정책을 적용할 포트를 생성한다.
$ openstack port create --qos-policy bw-limiter --network vmnet0 port2
이미 만들어진 포트에 정책을 연결하는 경우 아래와 같이 적용한다.
$ openstack port set --qos-policy bw-limiter port1
포트에 적용된 정책 확인
$ openstack network qos policy show bw-limiter +-------------------+-------------------------------------------------------------------+ | Field | Value | +-------------------+-------------------------------------------------------------------+ | description | | | id | 8491547e-add1-4c6c-a50e-42121237256c | | is_default | False | | name | bw-limiter | | project_id | 98a2f53c20ce4d50a40dac4a38016c69 | | revision_number | 4 | | rules | [{u'max_kbps': 50000, u'direction': u'egress', | | | u'type': u'bandwidth_limit', | | | u'id': u'0db48906-a762-4d32-8694-3f65214c34a6', | | | u'max_burst_kbps': 50000, | | | u'qos_policy_id': u'8491547e-add1-4c6c-a50e-42121237256c'}, | | | [{u'max_kbps': 50000, u'direction': u'ingress', | | | u'type': u'bandwidth_limit', | | | u'id': u'faabef24-e23a-4fdf-8e92-f8cb66998834', | | | u'max_burst_kbps': 50000, | | | u'qos_policy_id': u'8491547e-add1-4c6c-a50e-42121237256c'}] | | shared | False | +-------------------+-------------------------------------------------------------------+
포트 정보 확인
$ openstack port show port1 +-------------------------+--------------------------------------------------------------------+ | Field | Value | +-------------------------+--------------------------------------------------------------------+ | admin_state_up | UP | | allowed_address_pairs | ip_address='192.0.2.128', mac_address='fa:16:3e:e1:eb:73' | | binding_host_id | compute-2.redhat.local | | binding_profile | | | binding_vif_details | port_filter='True' | | binding_vif_type | ovs | | binding_vnic_type | normal | | created_at | 2022-07-04T19:07:56 | | data_plane_status | None | | description | | | device_id | 53abd2c4-955d-4b44-b6ad-f106e3f15df0 | | device_owner | compute:nova | | dns_assignment | fqdn='host-192-0-2-213.openstacklocal.', hostname='my-host3', | | | ip_address='192.0.2.213' | | dns_domain | None | | dns_name | | | extra_dhcp_opts | | | fixed_ips | ip_address='192.0.2..213', subnet_id='641d1db2-3b40-437b-b87b-63 | | | 079a7063ca' | | | ip_address='2001:db8:0:f868:f816:3eff:fee1:eb73', subnet_id='c7ed0 | | | 70a-d2ee-4380-baab-6978932a7dcc' | | id | 56x9aiw1-2v74-144x-c2q8-ed8w423a6s12 | | location | cloud='', project.domain_id=, project.domain_name=, project.id='7c | | | b99d752fdb4944a2208ec9ee019226', project.name=, region_name='regio | | | nOne', zone= | | mac_address | fa:16:3e:e1:eb:73 | | name | port2 | | network_id | 55dc2f70-0f92-4002-b343-ca34277b0234 | | port_security_enabled | True | | project_id | 98a2f53c20ce4d50a40dac4a38016c69 | | propagate_uplink_status | None | | qos_policy_id | 8491547e-add1-4c6c-a50e-42121237256c | | resource_request | None | | revision_number | 6 | | security_group_ids | 4cdeb836-b5fd-441e-bd01-498d758704fd | | status | ACTIVE | | tags | | | trunk_details | None | | updated_at | 2022-07-04T19:11:41Z | +-------------------------+--------------------------------------------------------------------+
참조링크
로그인하면 댓글을 남길 수 있습니다.