通过调整PV的QoS策略,可以调控IOPS与吞吐量,在拥塞出现前就完成流量整形,从源头避免网络拥塞。
调整PV的QoS策略。
如果是第一次调整PV的QoS策略,使用下列命令:
kubectl annotate pv pv-name annotation-key1=value1 annotation-key2=value2 annotation-keyN=valueN
如果先前已经调整过PV的QoS策略,使用下列命令:
kubectl annotate pv pv-name annotation-key1=value1 annotation-key2=value2 annotation-keyN=valueN --overwrite
pv-name:需要调整QoS策略的PV名称。
namespace:HBlock CSI绑定的Kubernetes命名空间。若需安装多套HBlock CSI,x需要给出PV的命名空间。
annotation-key:QoS策略的参数,参数可以从下表中选择一个或者多个。
参数 描述 stor/IOPS 每秒能够进行读写操作次数的最大值。
取值:整型,取值范围为[-1, 999999999],默认值为-1。-1表示不限制。
stor/readIOPS 每秒能够进行读操作次数的最大值。
取值:整型,取值范围为[-1, 999999999],默认值为-1。-1表示不限制。
stor/writeIOPS 每秒能够进行写操作次数的最大值。
取值:整型,取值范围为[-1, 999999999],默认值为-1。-1表示不限制。
stor/Bps 每秒可传输数据量的最大值。
取值:整型,取值范围为[-1, 4096000000000],默认值为-1,单位是Bytes/s-1表示不限制。
stor/readBps 读带宽上限。
取值:整型,取值范围为[-1, 4096000000000],默认值为-1,单位是Bytes/s。-1表示不限制。
stor/writeBps 写带宽上限。
取值:整型,取值范围为[-1, 4096000000000],默认值为-1,单位是Bytes/s。-1表示不限制。
stor/IOPSBurst 使用Burst功能时,每秒能够进行读写操作次数的最大值。
取值:只有当IOPS大于等于1时,此项设置为-1或(IOPS, 999999999]内的正整数方可生效。默认值为-1,表示不限制。
stor/readIOPSBurst 使用Burst功能时,每秒能够进行读操作次数的最大值。
取值:只有当readIOPS大于等于1时,此项设置为-1或(readIOPS, 999999999]内的正整数方可生效。默认值为-1,表示不限制。
stor/writeIOPSBurst 使用Burst功能时,每秒能够进行写操作次数的最大值。
取值:只有当writeIOPS大于等于1时,此项设置为-1或(writeIOPS, 999999999]内的正整数方可生效。默认值为-1,表示不限制。
stor/BpsBurst 使用Burst功能时,每秒可传输的数据量最大值。
取值:只有当Bps大于等于1时,此项设置为-1或(Bps, 4096000000000]内的正整数方可生效,默认值为-1,单位是Bytes/s。-1表示不限制。
stor/readBpsBurst 使用Burst功能时,读带宽上限。
取值:只有当readBps大于等于1时,此项设置为-1或(readBps, 4096000000000]内的正整数方可生效,默认值为-1,单位是Bytes/s。-1表示不限制。
stor/writeBpsBurst 使用Burst功能时,写带宽上限。
取值:只有当writeBps大于等于1时,此项设置为-1或(writeBps, 4096000000000]内的正整数方可生效,默认值为-1,单位是Bytes/s。-1表示不限制。
stor/IOPSBurstSecs 使用Burst功能时,按照Burst上限的能力进行读写操作所能持续的时间。
注意
只有在IOPS Burst功能启用时,此配置才生效。
取值:整型,取值范围为[1, 999999999],默认值为1。
stor/readIOPSBurstSecs 使用Burst功能时,按照Burst上限的能力进行读操作所能持续的时间。
注意
只有在read IOPS Burst功能启用时,此配置才生效。
取值:整型,取值范围为[1, 999999999],默认值为1。
stor/writeIOPSBurstSecs 使用Burst功能时,按照Burst上限的能力进行写操作所能持续的时间。
注意
只有在write IOPS Burst功能启用时,此配置才生效。
取值:整型,取值范围为[1, 999999999],默认值为1。
stor/BpsBurstSecs 使用Burst功能时,按照Burst上限的流量能力所能持续的时间。
注意
只有在Bps Burst功能启用时,此配置才生效。
取值:整型,取值范围为[1, 999999999],默认值为1。
stor/readBpsBurstSecs 使用Burst功能时,按照Burst上限的读流量能力所能持续的时间。
注意
只有在read Bps Burst功能启用时,此配置才生效。
取值:整型,取值范围为[1, 999999999],默认值为1。
stor/writeBpsBurstSecs 使用Burst功能时,按照Burst上限的写流量能力所能持续的时间。
注意
只有在write Bps Burst功能启用时,此配置才生效。
取值:整型,取值范围为[1, 999999999],默认值为1。
重启该PV关联的Pod,QoS策略即刻生效。
kubectl delete podname -n namespace kubectl apply -f pod.yaml