背景
在使用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 ~]# cinder qos-create front_200_read_100_write consumer=front-end read_iops_sec=200 write_iops_sec=100

本文介绍了OpenStack中QoS(服务质量)的重要性,特别是在虚拟机存储资源管理上的应用。通过前端QoS配置,如创建Cinder QoS Spec、卷类型以及与后端存储的绑定,实现对虚机IOPS的限制,以确保资源公平分配。验证过程通过挂载云盘到虚机并使用fio进行IO测试,展示前端QoS的控制效果。

677

被折叠的 条评论
为什么被折叠?



