概述
QoS通过设定IO带宽阈值来解决网络延迟和阻塞等问题。当网络过载或拥塞时,QoS能确保业务量不被延迟或丢弃,同时保证网络的高效运行。
工作原理
- QoS通过设定IO带宽阈值来限制磁盘带宽和上下行网络带宽,IO带宽无法超过设置的阈值,基本单位包括:MB/s、GB/s、TB/s。
- 如果不设定QoS,将不限制IO带宽。
注意事项
- 如果admin用户的计算规格/云盘规格中没有设置QoS(默认无限制),普通账户/项目负责人/项目管理员/项目成员支持任意设置QoS。
- 如果admin用户的计算规格/云盘规格中已设置QoS,普通账户/项目负责人/项目管理员/项目成员支持设置QoS,但设置上限不能超过计算规格/云盘规格中规定的上限。
- 创建云主机/云盘时,QoS默认与计算规格/云盘规格中的QoS保持一致。进行删除、取消规格QoS操作不会影响已创建云主机/云盘的QoS。
- admin用户修改、取消QoS后,普通账户/项目负责人/项目管理员/项目成员设置QoS仍然受限于创建时的QoS范围。
- 云主机更换绑定的计算规格后,根云盘、网卡QoS受限于新计算规格的QoS范围。
准备工作
- 本教程假定用户已安装最新版本ZStack Cloud,并部署完成必要的资源。
详情可参考《用户手册》的安装部署章节。
- 本教程将从添加QoS的步骤开始,详细介绍QoS功能的使用方法。
- 使用灾备服务QoS需admin提前购买灾备服务模块许可证(Plus License),安装灾备服务模块。Note: c72版 ZStack Cloud不支持使用灾备服务模块。
- 使用V2V迁移服务QoS需admin提前购买迁移服务模块许可证(Plus License),安装迁移服务模块。
典型场景实践
基本资源设置QoS
基本资源设置QoS包括根云盘、数据云盘、网卡、虚拟IP、VPC路由器的QoS设置。
根云盘设置QoS
背景信息
本章节介绍如何设置云主机根云盘QoS并验证。
用户需要部署一套最新的ZStack Cloud环境。
- 创建计算规格
- 创建云主机
- 修改云主机根云盘QoS
- 验证云主机根云盘QoS
操作步骤
-
创建计算规格
在ZStack Cloud主菜单,点击,进入计算规格界面。点击创建计算规格,弹出创建计算规格界面。创建计算规格时可以设置QoS,方法如下:
- 设置磁盘IOPS:可选项,可设置云盘每秒的读写次数上限若不设置,代表不限制每秒读写次数。支持以下两种设置方式:
- 按总IOPS:如选择按总IOPS,需设置云盘每秒读写次数上限
- 按读写IOPS:如选择按读写IOPS,需设置以下内容:
- 读IOPS:可选项,可设置云盘读IOPS上限
- 写IOPS:可选项,可设置云盘写IOPS上限
- 设置网络带宽:可选项,可设置云主机网络带宽速度上限若不设置,代表不限制网络带宽。基本单位包括:Kbps、Mbps、Gbps。支持以下两种设置方式:
- 上行带宽:可选项,可设置从云主机上传的网络带宽上限
- 下行带宽:可选项,可设置从云主机下载的网络带宽上限
Note: 用户需完全理解磁盘带宽和网络带宽的配置含义,才能进行相应设置,否则可能导致无法从云主机上传/下载文件。
如图 1所示:图 1. 创建计算规格 
- 设置磁盘IOPS:可选项,可设置云盘每秒的读写次数上限
-
创建云主机
在ZStack Cloud主菜单,点击,进入云主机界面。点击创建云主机并选择标准创建,可创建一个云主机,云主机的QoS设置与计算规格QoS相同。
-
修改云主机根云盘QoS
在云主机详情页的配置信息界面,可以修改根云盘QoS。如图 2所示:
图 2. 修改根云盘QoS 
-
验证云主机根云盘QoS
本场景磁盘带宽为50MB/s,使用fio命令验证云主机根云盘QoS:
- 添加一个云主机到ZStack Cloud平台,计算规格QoS默认无限制。
- 用以下fio命令为磁盘IO加压80秒,查看云主机根云盘iops指标为3198,如图 3所示:
fio -filename=/tmp/test -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=4G -numjobs=10 -runtime=80 -group_reporting -name=mytest图 3. QoS未限制云主机根云盘iops 
- QoS设置为5MB/s,再次用fio命令为磁盘IO加压80秒,查看云主机根云盘iops指标为299,如图 4所示:
图 4. QoS限制云主机根云盘iops 
- 如上所述,云主机根云盘在设置QoS后,iops降低至所设置的QoS阈值水平,QoS设置生效。上述iops指标变化也可以在云主机详情页监控数据界面查看,如图 5所示:
图 5. 根云盘监控数据 
至此,根云盘设置QoS已介绍完毕。更多关于根云盘的说明请参考《用户手册》的云主机相关章节。
网卡设置QoS
背景信息
本章节介绍如何设置网卡QoS并验证。
用户需要部署一套最新的ZStack Cloud环境。
- 创建计算规格
- 创建云主机
- 修改网卡QoS
- 验证网卡QoS
操作步骤
-
创建计算规格
在ZStack Cloud主菜单,点击,进入计算规格界面。点击创建计算规格,弹出创建计算规格界面。创建计算规格时可以设置QoS,方法如下:
- 设置磁盘IOPS:可选项,可设置云盘每秒的读写次数上限若不设置,代表不限制每秒读写次数。支持以下两种设置方式:
- 按总IOPS:如选择按总IOPS,需设置云盘每秒读写次数上限
- 按读写IOPS:如选择按读写IOPS,需设置以下内容:
- 读IOPS:可选项,可设置云盘读IOPS上限
- 写IOPS:可选项,可设置云盘写IOPS上限
- 设置网络带宽:可选项,可设置云主机网络带宽速度上限若不设置,代表不限制网络带宽。基本单位包括:Kbps、Mbps、Gbps。支持以下两种设置方式:
- 上行带宽:可选项,可设置从云主机上传的网络带宽上限
- 下行带宽:可选项,可设置从云主机下载的网络带宽上限
Note: 用户需完全理解磁盘带宽和网络带宽的配置含义,才能进行相应设置,否则可能导致无法从云主机上传/下载文件。
如图 6所示:图 6. 创建计算规格 
- 设置磁盘IOPS:可选项,可设置云盘每秒的读写次数上限
-
创建云主机
在ZStack Cloud主菜单,点击,进入云主机界面。点击创建云主机并选择标准创建,可创建一个云主机,云主机的QoS设置与计算规格QoS相同。
- 修改网卡QoS
-
验证网卡QoS
本场景网络带宽为500Mbps,使用iperf3命令验证网卡QoS,本机作为发送端,需要另一台云主机/物理机作为接收端。
- 添加一个云主机到ZStack Cloud平台,计算规格QoS默认无限制。
- 在接收端的物理机/云主机命令行输入
iperf3 -s,在发送端命令行输入iperf3 -c x.x.x.x(接收端IP地址) -i 1 -t 1000,查看展示的带宽速度,如图 8所示:图 8. QoS未限制网卡上下行带宽 
- QoS设置为50MB/s,查看展示的带宽速度,如图 9所示:
图 9. QoS限制网卡上下行带宽 
- 如上所述,网卡在设置QoS后,上下行带宽降低至所设置的QoS阈值水平,QoS设置生效。上述带宽变化也可以在云主机详情页监控数据界面查看,如图 10所示:
图 10. 网卡监控数据 
至此,网卡设置QoS已介绍完毕。更多关于网卡的说明请参考《用户手册》的云主机相关章节。
数据云盘设置QoS
背景信息
本章节介绍如何设置数据云盘QoS并验证。
用户需要部署一套最新的ZStack Cloud环境。
- 创建云盘规格
- 创建数据云盘
- 修改数据云盘QoS
- 验证数据云盘QoS
操作步骤
-
创建云盘规格
在ZStack Cloud主菜单,点击,进入云盘规格界面。点击创建云盘规格,可以创建一个云盘规格,创建云盘规格时可以设置QoS,方法如下:
- 设置磁盘带宽:可选项,可设置云盘的I/O带宽上限若不设置,代表不限制I/O带宽。基本单位包括:MB/s、GB/s、TB/s。支持以下两种设置方式:
- 按总速度:如选择按总速度,需设置云盘的读写总速度上限
- 按读写速度:如选择按读写速度,需设置以下内容:
- 读取速度:可选项,可设置云盘的读取速度上限
- 写入速度:可选项,可设置云盘的写入速度上限
如图 11所示:图 11. 创建云盘规格 
- 设置磁盘带宽:可选项,可设置云盘的I/O带宽上限
-
创建数据云盘
在ZStack Cloud主菜单,点击,进入云盘界面。点击创建云盘,弹出创建云盘界面,可以创建一个数据云盘并将其加载到云主机,数据云盘的QoS设置与云盘规格QoS相同。
- 修改数据云盘QoS
-
验证数据云盘QoS
本场景磁盘带宽为50MB/s,使用fio命令验证数据云盘QoS:
- 添加一个数据云盘到ZStack Cloud平台,云盘规格QoS默认无限制。
- 用以下fio命令为磁盘IO加压80秒,查看数据云盘iops指标为3198,如图 14所示:
fio -filename=/tmp/test -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=4G -numjobs=10 -runtime=80 -group_reporting -name=mytest图 14. QoS未限制数据云盘iops 
- QoS设置为5MB/s,再次用fio命令为磁盘IO加压80秒,查看数据云盘iops指标为299,如图 15所示:
图 15. QoS限制数据云盘iops 
- 如上所述,数据云盘在设置QoS后,iops降低至所设置的QoS阈值水平,QoS设置生效。如果数据云盘已加载到云主机,上述iops指标变化也可以在云主机详情页监控数据界面查看,如图 16所示:
图 16. 数据云盘监控数据 
至此,数据云盘设置QoS已介绍完毕。更多关于数据云盘的说明请参考《用户手册》的云盘相关章节。
虚拟IP设置QoS
背景信息
本章节介绍如何设置虚拟IP QoS并验证。
用户需要部署一套最新的ZStack Cloud环境。
- 创建虚拟IP
- 添加/删除虚拟IP QoS
- 验证虚拟IP QoS
操作步骤
-
创建虚拟IP
在ZStack Cloud主菜单,点击,进入自定义界面。点击创建虚拟IP,弹出创建虚拟IP界面,可以创建一个虚拟IP,创建虚拟IP时可以设置QoS,方法如下:
- 虚拟IP QoS:公网虚拟IP或扁平虚拟IP支持设置网络带宽限速,可在创建自定义虚拟IP时直接设置QoS,也可在创建后添加Note:
- 同一公网虚拟IP或扁平虚拟IP可设置多个QoS规则,不设置端口的QoS规则优先级最低。
- 同一VPC网络虚拟IP不可设置QoS规则。
- 添加虚拟IP QoS:可选项,可为虚拟IP添加多个QoS
- 端口:可选项,可指定某个端口设置QoS规则Note:
- 需输入整数,端口范围:1-65535。
- 若留空不填,表示该QoS规则对1-65535端口生效。
- 上行带宽:可选项,可按需设置虚拟IP的上行带宽上限Note:
- 需输入整数,单位:Kbps/Mbps/Gbps。
- 若留空不填,表示不限制上行带宽。
- 下行带宽:可选项,可按需设置虚拟IP的下行带宽上限Note:
- 需输入整数,单位:Kbps/Mbps/Gbps。
- 若留空不填,表示不限制下行带宽。
- 虚拟IP QoS:公网虚拟IP或扁平虚拟IP支持设置网络带宽限速,可在创建自定义虚拟IP时直接设置QoS,也可在创建后添加
-
添加/删除虚拟IP QoS
虚拟IP不支持修改QoS,在虚拟IP详情页的QoS界面可以添加/删除QoS。自定义虚拟IP和系统虚拟IP均支持添加/删除QoS。
如图 17所示:图 17. 添加/删除QoS 
-
验证虚拟IP QoS
场景网络带宽为500Mbps,使用iperf3命令验证虚拟IP QoS,将虚拟IP用于弹性IP服务,绑定云主机作为发送端,需要另一台云主机/物理机作为接收端。
后续操作
至此,虚拟IP设置QoS已介绍完毕。更多关于虚拟IP的说明请参考《用户手册》的虚拟IP章节。VPC路由器设置QoS
背景信息
本章节介绍如何设置VPC路由器QoS并验证。
VPC路由器QoS:对VPC路由器的接口进行出入流量的IO带宽限制,其中上行带宽表示进入VPC路由器的流量,下行带宽表示流出VPC路由器的流量。
用户需要部署一套最新的ZStack Cloud环境。
- 创建VPC路由器
- 创建VPC网络
- 创建云主机
- 修改VPC路由器QoS
- 验证VPC路由器QoS
操作步骤
-
创建VPC路由器
在ZStack Cloud主菜单,点击,进入VPC路由器界面,点击创建VPC路由器,弹出创建VPC路由器界面。输入对应的参数可以创建一个VPC路由器,详情请参考用户手册VPC路由器相关章节。
-
创建VPC网络
在ZStack Cloud主菜单,点击,进入VPC网络界面,点击创建VPC网络,弹出创建VPC网络界面。使用刚创建的VPC路由器创建一个VPC网络,详情请参考用户手册VPC网络相关章节。
-
创建云主机
在ZStack Cloud主菜单,点击,进入云主机界面。点击创建云主机并选择标准创建,弹出创建云主机界面。使用刚创建的VPC网络创建一个云主机。
-
修改VPC路由器中VPC网络QoS
在VPC路由器详情页的网络界面,可以修改VPC网络和公有网络的QoS。如图 20所示:
图 20. 修改VPC路由器QoS 
-
验证网卡QoS
本场景网络带宽为500Mbps,使用iperf3命令验证VPC路由器QoS,本机作为发送端,需要另一台公网云主机作为接收端。
后续操作
至此,VPC路由器设置QoS已介绍完毕。灾备服务设置QoS
背景信息
本章节介绍如何设置灾备服务QoS并验证。
admin请提前安装最新的h76c版ZStack Cloud,并部署完成创建云主机必要的资源。
- 添加备份任务
- 修改备份任务QoS
- 验证备份任务QoS
操作步骤
-
添加备份任务
在ZStack Cloud主菜单,点击,进入备份任务界面。点击,弹出创建备份任务界面。创建备份任务时可设置QoS,方法如下:
- 设置QoS:可选项,支持按实际情况对本地云主机/云盘的备份任务设置网络QoS和磁盘QoS
- 下行带宽:设置网络下行带宽上限,不填写则默认无限制,单位:Kbps/Mbps/Gbps,取值范围:8Kbps~30Gbps,单位含义:bps = bit per second
- 上行带宽:设置网络上行带宽上限,不填写则默认无限制,单位:Kbps/Mbps/Gbps,取值范围:8Kbps~30Gbps,单位含义:bps = bit per second
- 磁盘读取速度:设置磁盘读取速度上限,不填写则默认无限制,单位:MB/s、GB/s,取值范围:1MB/s~100GB/s,单位含义:B/s = Byte per Second
- 磁盘写入速度:设置磁盘写入速度上限,不填写则默认无限制,单位:MB/s、GB/s,取值范围:1MB/s~100GB/s,单位含义:B/s = Byte per Second
Note: QoS设置建议与物理环境网络带宽相匹配,也需额外考虑并发备份的任务量。
- 设置QoS:可选项,支持按实际情况对本地云主机/云盘的备份任务设置网络QoS和磁盘QoS
-
修改备份任务QoS
在备份任务详情页,点击修改QoS,可以修改QoS,修改后将从下次任务开始生效。
如图 23所示:图 23. 备份任务操作设置QoS 
-
验证备份任务QoS
本场景网络带宽为500Mbps,准备两个完全相同的云盘(云盘1,云盘2)作为备份源,使用iftop命令验证备份任务QoS:
后续操作
至此,灾备服务设置QoS已介绍完毕。更多关于灾备服务的说明请参考《灾备服务使用教程》。V2V迁移服务设置QoS
背景信息
本章节介绍如何设置迁移服务器QoS并验证。
用户需要部署一套最新的ZStack Cloud私有云环境。
将KVM接管到ZStack Cloud私有云云平台。
admin请提前购买迁移服务模块许可证(Plus License),安装迁移服务模块。
- 添加迁移服务器
- 修改迁移服务器QoS
- 验证迁移服务器QoS
操作步骤
-
添加迁移服务器
在ZStack Cloud主菜单,点击,进入迁移服务器界面。点击添加迁移服务器,弹出添加迁移服务器界面。添加迁移服务器时可设置QoS,方法如下:
- 上行带宽:可选项,设置迁移服务器的上行带宽,将限制从迁移服务器到目标主存储的上传速度,需输入整数,单位:Mbps/Gbps,取值范围:1024 Mbps~32 Gbps。
- 下行带宽:可选项,设置迁移服务器的下行带宽,将限制从源主存储到迁移服务器的下载速度,需输入整数,单位:Mbps/Gbps,取值范围:1024
Mbps~32 Gbps。如图 28所示:
图 28. 添加迁移服务器 
-
修改迁移服务器QoS
在迁移服务器详情页,可以修改QoS。
如图 29所示:图 29. 迁移服务器详情页修改QoS 
- 验证迁移服务器QoS









