文档目录

概述

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

操作步骤

  1. 创建计算规格
    ZStack Cloud主菜单,点击资源中心 > 云资源池 > 计算配置 > 计算规格,进入计算规格界面。点击创建计算规格,弹出创建计算规格界面。创建计算规格时可以设置QoS,方法如下:
    • 设置磁盘IOPS:可选项,可设置云盘每秒的读写次数上限
      若不设置,代表不限制每秒读写次数。支持以下两种设置方式:
      • 按总IOPS:如选择按总IOPS,需设置云盘每秒读写次数上限
      • 按读写IOPS:如选择按读写IOPS,需设置以下内容:
        • 读IOPS:可选项,可设置云盘读IOPS上限
        • 写IOPS:可选项,可设置云盘写IOPS上限
    • 设置网络带宽:可选项,可设置云主机网络带宽速度上限
      若不设置,代表不限制网络带宽。基本单位包括:Kbps、Mbps、Gbps。支持以下两种设置方式:
      • 上行带宽:可选项,可设置从云主机上传的网络带宽上限
      • 下行带宽:可选项,可设置从云主机下载的网络带宽上限
      Note: 用户需完全理解磁盘带宽和网络带宽的配置含义,才能进行相应设置,否则可能导致无法从云主机上传/下载文件。
    图 1所示:
    图 1. 创建计算规格


  2. 创建云主机

    ZStack Cloud主菜单,点击资源中心 > 云资源池 > 虚拟资源 > 云主机,进入云主机界面。点击创建云主机并选择标准创建,可创建一个云主机,云主机的QoS设置与计算规格QoS相同。

  3. 修改云主机根云盘QoS
    在云主机详情页的配置信息界面,可以修改根云盘QoS。
    图 2所示:
    图 2. 修改根云盘QoS


  4. 验证云主机根云盘QoS
    本场景磁盘带宽为50MB/s,使用fio命令验证云主机根云盘QoS:
    1. 添加一个云主机到ZStack Cloud平台,计算规格QoS默认无限制。
    2. 用以下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


    3. QoS设置为5MB/s,再次用fio命令为磁盘IO加压80秒,查看云主机根云盘iops指标为299,如图 4所示:
      图 4. QoS限制云主机根云盘iops


    4. 如上所述,云主机根云盘在设置QoS后,iops降低至所设置的QoS阈值水平,QoS设置生效。上述iops指标变化也可以在云主机详情页监控数据界面查看,如图 5所示:
      图 5. 根云盘监控数据


    至此,根云盘设置QoS已介绍完毕。更多关于根云盘的说明请参考《用户手册》的云主机相关章节。

网卡设置QoS

背景信息

本章节介绍如何设置网卡QoS并验证。

用户需要部署一套最新的ZStack Cloud环境。

具体流程如下:
  • 创建计算规格
  • 创建云主机
  • 修改网卡QoS
  • 验证网卡QoS

操作步骤

  1. 创建计算规格
    ZStack Cloud主菜单,点击资源中心 > 云资源池 > 计算配置 > 计算规格,进入计算规格界面。点击创建计算规格,弹出创建计算规格界面。创建计算规格时可以设置QoS,方法如下:
    • 设置磁盘IOPS:可选项,可设置云盘每秒的读写次数上限
      若不设置,代表不限制每秒读写次数。支持以下两种设置方式:
      • 按总IOPS:如选择按总IOPS,需设置云盘每秒读写次数上限
      • 按读写IOPS:如选择按读写IOPS,需设置以下内容:
        • 读IOPS:可选项,可设置云盘读IOPS上限
        • 写IOPS:可选项,可设置云盘写IOPS上限
    • 设置网络带宽:可选项,可设置云主机网络带宽速度上限
      若不设置,代表不限制网络带宽。基本单位包括:Kbps、Mbps、Gbps。支持以下两种设置方式:
      • 上行带宽:可选项,可设置从云主机上传的网络带宽上限
      • 下行带宽:可选项,可设置从云主机下载的网络带宽上限
      Note: 用户需完全理解磁盘带宽和网络带宽的配置含义,才能进行相应设置,否则可能导致无法从云主机上传/下载文件。
    图 6所示:
    图 6. 创建计算规格


  2. 创建云主机

    ZStack Cloud主菜单,点击资源中心 > 云资源池 > 虚拟资源 > 云主机,进入云主机界面。点击创建云主机并选择标准创建,可创建一个云主机,云主机的QoS设置与计算规格QoS相同。

  3. 修改网卡QoS
    云主机详情页的配置信息界面,支持修改网卡QoS,如图 7所示:
    图 7. 修改网卡QoS


  4. 验证网卡QoS
    本场景网络带宽为500Mbps,使用iperf3命令验证网卡QoS,本机作为发送端,需要另一台云主机/物理机作为接收端。
    1. 添加一个云主机到ZStack Cloud平台,计算规格QoS默认无限制。
    2. 在接收端的物理机/云主机命令行输入iperf3 -s,在发送端命令行输入 iperf3 -c x.x.x.x(接收端IP地址) -i 1 -t 1000,查看展示的带宽速度,如图 8所示:
      图 8. QoS未限制网卡上下行带宽


    3. QoS设置为50MB/s,查看展示的带宽速度,如图 9所示:
      图 9. QoS限制网卡上下行带宽


    4. 如上所述,网卡在设置QoS后,上下行带宽降低至所设置的QoS阈值水平,QoS设置生效。上述带宽变化也可以在云主机详情页监控数据界面查看,如图 10所示:
      图 10. 网卡监控数据


    至此,网卡设置QoS已介绍完毕。更多关于网卡的说明请参考《用户手册》的云主机相关章节。

数据云盘设置QoS

背景信息

本章节介绍如何设置数据云盘QoS并验证。

用户需要部署一套最新的ZStack Cloud环境。

具体流程如下:
  • 创建云盘规格
  • 创建数据云盘
  • 修改数据云盘QoS
  • 验证数据云盘QoS

操作步骤

  1. 创建云盘规格
    ZStack Cloud主菜单,点击资源中心 > 云资源池 > 计算配置 > 云盘规格,进入云盘规格界面。点击创建云盘规格,可以创建一个云盘规格,创建云盘规格时可以设置QoS,方法如下:
    • 设置磁盘带宽:可选项,可设置云盘的I/O带宽上限
      若不设置,代表不限制I/O带宽。基本单位包括:MB/s、GB/s、TB/s。支持以下两种设置方式:
      • 按总速度:如选择按总速度,需设置云盘的读写总速度上限
      • 按读写速度:如选择按读写速度,需设置以下内容:
        • 读取速度:可选项,可设置云盘的读取速度上限
        • 写入速度:可选项,可设置云盘的写入速度上限
    图 11所示:
    图 11. 创建云盘规格


  2. 创建数据云盘

    ZStack Cloud主菜单,点击资源中心 > 云资源池 > 虚拟资源 > 云盘,进入云盘界面。点击创建云盘,弹出创建云盘界面,可以创建一个数据云盘并将其加载到云主机,数据云盘的QoS设置与云盘规格QoS相同。

  3. 修改数据云盘QoS
    修改云盘QoS有以下两种方式:
    • 在云盘详情页点击云盘操作 > 设置云盘QoS,可以修改云盘QoS,如图 12所示:
      图 12. 云盘操作修改QoS


    • 在云盘详情页点击云盘操作 > 加载,将云盘加载至云主机。在云主机详情页的配置信息界面,支持修改云盘QoS,如图 13所示:
      图 13. 云主机详情页修改云盘QoS


  4. 验证数据云盘QoS
    本场景磁盘带宽为50MB/s,使用fio命令验证数据云盘QoS:
    1. 添加一个数据云盘到ZStack Cloud平台,云盘规格QoS默认无限制。
    2. 用以下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


    3. QoS设置为5MB/s,再次用fio命令为磁盘IO加压80秒,查看数据云盘iops指标为299,如图 15所示:
      图 15. QoS限制数据云盘iops


    4. 如上所述,数据云盘在设置QoS后,iops降低至所设置的QoS阈值水平,QoS设置生效。如果数据云盘已加载到云主机,上述iops指标变化也可以在云主机详情页监控数据界面查看,如图 16所示:
      图 16. 数据云盘监控数据


    至此,数据云盘设置QoS已介绍完毕。更多关于数据云盘的说明请参考《用户手册》的云盘相关章节。

虚拟IP设置QoS

背景信息

本章节介绍如何设置虚拟IP QoS并验证。

用户需要部署一套最新的ZStack Cloud环境。

具体流程如下:
  • 创建虚拟IP
  • 添加/删除虚拟IP QoS
  • 验证虚拟IP QoS

操作步骤

  1. 创建虚拟IP
    ZStack Cloud主菜单,点击资源中心 > 网络服务 > 基础网络服务 > 虚拟IP,进入自定义界面。点击创建虚拟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。
        • 若留空不填,表示不限制下行带宽。
  2. 添加/删除虚拟IP QoS

    虚拟IP不支持修改QoS,在虚拟IP详情页的QoS界面可以添加/删除QoS。自定义虚拟IP和系统虚拟IP均支持添加/删除QoS。

    图 17所示:
    图 17. 添加/删除QoS


  3. 验证虚拟IP QoS
    场景网络带宽为500Mbps,使用iperf3命令验证虚拟IP QoS,将虚拟IP用于弹性IP服务,绑定云主机作为发送端,需要另一台云主机/物理机作为接收端。
    1. 添加一个虚拟IP 到ZStack Cloud,用于弹性IP服务,绑定云主机,QoS默认无限制。
    2. 在接收端的物理机/云主机命令行输入iperf3 -s,在发送端命令行输入 iperf3 -c x.x.x.x(接收端IP地址) -i 1 -t 1000,查看展示的上下行带宽速度,如图 18所示:
      图 18. QoS未限制虚拟IP上下行带宽


    3. 设置QoS为50MB/s,查看展示的上下行带宽速度,如图 19所示:
      图 19. QoS限制虚拟IP上下行带宽


后续操作

至此,虚拟IP设置QoS已介绍完毕。更多关于虚拟IP的说明请参考《用户手册》的虚拟IP章节。

VPC路由器设置QoS

背景信息

本章节介绍如何设置VPC路由器QoS并验证。

VPC路由器QoS:对VPC路由器的接口进行出入流量的IO带宽限制,其中上行带宽表示进入VPC路由器的流量,下行带宽表示流出VPC路由器的流量。

用户需要部署一套最新的ZStack Cloud环境。

具体流程如下:
  • 创建VPC路由器
  • 创建VPC网络
  • 创建云主机
  • 修改VPC路由器QoS
  • 验证VPC路由器QoS

操作步骤

  1. 创建VPC路由器

    ZStack Cloud主菜单,点击资源中心 > 网络资源 > 路由器 > VPC路由器,进入VPC路由器界面,点击创建VPC路由器,弹出创建VPC路由器界面。输入对应的参数可以创建一个VPC路由器,详情请参考用户手册VPC路由器相关章节。

  2. 创建VPC网络

    ZStack Cloud主菜单,点击资源中心 > 网络资源 > 三层网络资源 > VPC网络,进入VPC网络界面,点击创建VPC网络,弹出创建VPC网络界面。使用刚创建的VPC路由器创建一个VPC网络,详情请参考用户手册VPC网络相关章节。

  3. 创建云主机

    ZStack Cloud主菜单,点击资源中心 > 云资源池 > 虚拟资源 > 云主机,进入云主机界面。点击创建云主机并选择标准创建,弹出创建云主机界面。使用刚创建的VPC网络创建一个云主机。

  4. 修改VPC路由器中VPC网络QoS
    在VPC路由器详情页的网络界面,可以修改VPC网络和公有网络的QoS。
    图 20所示:
    图 20. 修改VPC路由器QoS


  5. 验证网卡QoS
    本场景网络带宽为500Mbps,使用iperf3命令验证VPC路由器QoS,本机作为发送端,需要另一台公网云主机作为接收端。
    1. 添加一个公网云主机到ZStack Cloud平台,计算规格QoS默认无限制,需确保两台云主机能够正常通信。
    2. 在接收端的物理机/云主机命令行输入iperf3 -s,在发送端命令行输入 iperf3 -c x.x.x.x(接收端IP地址) -i 1 -t 1000,查看展示的带宽速度,如图 21所示:
      图 21. QoS未限制VPC路由器上下行带宽


    3. QoS设置为50MB/s,查看展示的带宽速度,如图 22所示:
      图 22. QoS限制VPC路由器上下行带宽


    4. 如上所述,VPC路由器在设置QoS后,上下行带宽降低至所设置的QoS阈值水平,QoS设置生效。

后续操作

至此,VPC路由器设置QoS已介绍完毕。

灾备服务设置QoS

背景信息

本章节介绍如何设置灾备服务QoS并验证。

admin请提前安装最新的h76cZStack Cloud,并部署完成创建云主机必要的资源。

admin请提前购买灾备服务模块许可证(Plus License),安装灾备服务模块。
Note: c72版 ZStack Cloud不支持使用灾备服务模块。
具体流程如下:
  • 添加备份任务
  • 修改备份任务QoS
  • 验证备份任务QoS

操作步骤

  1. 添加备份任务
    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设置建议与物理环境网络带宽相匹配,也需额外考虑并发备份的任务量。
  2. 修改备份任务QoS

    在备份任务详情页,点击修改QoS,可以修改QoS,修改后将从下次任务开始生效。

    图 23所示:
    图 23. 备份任务操作设置QoS


  3. 验证备份任务QoS
    本场景网络带宽为500Mbps,准备两个完全相同的云盘(云盘1,云盘2)作为备份源,使用iftop命令验证备份任务QoS:
    1. 使用云盘1创建一个备份任务,带宽QoS默认无限制,用iftop监测网络带宽,查看展示的带宽速度,如图 24所示:
      图 24. QoS未限制灾备服务


    2. ,使用云盘2创建一个备份任务,带宽QoS设置为40Mbps,查看展示的带宽速度,如图 25所示:
      图 25. QoS限制灾备服务


    3. 如上所述,在设置QoS后,带宽速度降低至所设置的QoS阈值水平,QoS设置生效。点击高级功能 > 本地备份数据 > 云盘,进入已完成备份的详情页,可以看到灾备任务所消耗的时间,如图 26图 27所示:
      图 26. 云盘1备份任务耗时


      图 27. 云盘2备份任务耗时


后续操作

至此,灾备服务设置QoS已介绍完毕。更多关于灾备服务的说明请参考《灾备服务使用教程》。

V2V迁移服务设置QoS

背景信息

本章节介绍如何设置迁移服务器QoS并验证。

用户需要部署一套最新的ZStack Cloud私有云环境。

将KVM接管到ZStack Cloud私有云云平台。

admin请提前购买迁移服务模块许可证(Plus License),安装迁移服务模块。

具体流程如下:
  • 添加迁移服务器
  • 修改迁移服务器QoS
  • 验证迁移服务器QoS

操作步骤

  1. 添加迁移服务器
    ZStack Cloud主菜单,点击平台运维 > 迁移服务 > 迁移服务器,进入迁移服务器界面。点击添加迁移服务器,弹出添加迁移服务器界面。添加迁移服务器时可设置QoS,方法如下:
    • 上行带宽:可选项,设置迁移服务器的上行带宽,将限制从迁移服务器到目标主存储的上传速度,需输入整数,单位:Mbps/Gbps,取值范围:1024 Mbps~32 Gbps。
    • 下行带宽:可选项,设置迁移服务器的下行带宽,将限制从源主存储到迁移服务器的下载速度,需输入整数,单位:Mbps/Gbps,取值范围:1024 Mbps~32 Gbps。
      图 28所示:
      图 28. 添加迁移服务器


  2. 修改迁移服务器QoS

    在迁移服务器详情页,可以修改QoS。

    图 29所示:
    图 29. 迁移服务器详情页修改QoS


  3. 验证迁移服务器QoS
    本场景网络带宽为500Mbps,使用iftop命令验证迁移服务器QoS:
    1. 添加一个迁移服务器到ZStack Cloud私有云平台,QoS默认无限制。
    2. 创建V2V迁移任务,QoS设置为100Mbps,在迁移服务器上执行命令iftop -i ifb0,查看展示的带宽速度,如图 30所示:
      图 30. QoS限制迁移服务器网络带宽


    3. 如上所述,在设置QoS后,网络带宽展示为设置的QoS阈值水平,QoS设置生效。可以在V2V迁移页面看到迁移任务消耗的时间,如图 31所示:
      图 31. 迁移任务消耗时间


后续操作

至此,V2V迁移服务设置QoS已介绍完毕。更多关于V2V迁移服务的说明请参考《V2V迁移服务使用教程》。
网络QoS&磁盘QoS使用教程 | 4.8.38 | ZStack Cloud · ZCF | ZStack 资源中心