背景
在使用OpenStack虚机的过程中,经常会遇到这样一种情况:同一个OpenStack集群的几台虚机如果读写负荷较大,可能会导致其他虚机因为抢占不到后端存储资源而反应卡顿,这个时候需要QoS的配合来限制虚机的IO速率及读写带宽。
1、什么是QoS?
QoS(Quality of Service)即服务质量,在网络业务中,QoS包括传输的带宽、时延等。
2、为什么要QoS?
资源总是有限的,包括网络资源、后端存储资源,只要存在抢占资源的情况,就需要QoS来管理资源的分配。
3、如何做QoS?
以网络通道连接的两端来分,OpenStack中有前端(Front-End)QoS和后端(Back-End)QoS,前端QoS是Hypervisor来实现的,即在宿主机上设置虚拟机的 QoS,通常使用 cgroup 或者 qemu-iothrottling。后端QoS是存储端驱动接管的,本文以前端QoS的配置及验证为例进行介绍。
4、前端QoS配置
(1)创建一个Cinder QoS Spec
[root@ceph-node1 ~]