Openstack network qos
1.配置QOS
此处网络为provider网络,无self-server网络,无L3
只有控制节点和计算节点
控制节点上:
vim /etc/neutron/neutron.conf
service_plugins = neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,neutron.services.metering.metering_plugin.MeteringPlugin,neutron.services.qos.qos_plugin.QoSPluginvim /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
extension_drivers = port_security,qosvim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[agent]
extensions = qos
计算节点上:
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[agent]
extensions = qosvim /etc/neutron/policy.json
#配置json策略文件 以下为官方文档选项,此处只选用bandwidth limit
{ "get_policy": "rule:regular_user","create_policy": "rule:regular_user","update_policy": "rule:regular_user","delete_policy": "rule:regular_user","get_rule_type": "rule:regular_user","get_policy_bandwidth_limit_rule": "rule:regular_user","create_policy_bandwidth_limit_rule": "rule:regular_user","delete_policy_bandwidth_limit_rule": "rule:regular_user","update_policy_bandwidth_limit_rule": "rule:regular_user",
}
重启配置服务
systemctl status neutron-server.service
2.创建策略
openstack network qos policy create 1m
#限制速度为1m 策略名为1m
openstack network qos rule create --type bandwidth-limit --max-kbps 1000 --max-burst-kbits 1000 --egress 1m
openstack network qos rule create --type bandwidth-limit --max-kbps 20000 --max-burst-kbits 20000 --ingress 1m
#egress为出口,即上行;ingress为入口,即下行 vps qos为限制egress 其中阿里云ingress为100M
#burst-kbits突发值跟限制值一致
查看虚机端口并绑定策略
openstack port list | grep 192.168.1.245
| 15441986-a5c3-4fb5-b7ac-a76b112b9ccf | | fa:16:3e:3b:28:a5 | ip_address='192.168.1.245', subnet_id='a60e0b12-74b6-41cd-b82b-252bb17f252d' | ACTIVE |openstack port set --qos-policy 1m 15441986-a5c3-4fb5-b7ac-a76b112b9ccf
查看端口详情
openstack port show 15441986-a5c3-4fb5-b7ac-a76b112b9ccf
查看qos策略
openstack network qos policy list | grep fdb11583-0a68-4478-9e43-522a62bc36bf
openstack network qos rule list 1m
3.检验QOS
在虚机上安装speedtest
yum install python-pip –y
pip install speedtest-cli
pip install --upgrade pip
speedtest-cli
更换新的QOS策略
openstack network qos policy create 10m
openstack network qos rule create --type bandwidth-limit --max-kbps 10000 --max-burst-kbits 10000 --egress 10m
openstack network qos rule create --type bandwidth-limit --max-kbps 20000 --max-burst-kbits 20000 --ingress 10m
openstack port list
#查看端口UUID
openstack port set --qos-policy 10m 15441986-a5c3-4fb5-b7ac-a76b112b9ccf
#策略更改为10m
虚机上再次测试,策略更换成功