RedHat KVM限制虚拟机的磁盘IO

2020-04-26  本文已影响0人  robot_test_boy

当几个虚机同时运行在某台计算节点上,它们可能过多的使用磁盘I/O,可能会干扰系统性能。KVM支持从虚拟机发送到主机的请求磁盘I/O设置一个限制。这可以防止虚拟机过度利用共享资源并影响其他虚拟机的性能。

磁盘I/O限制在各种情况下都非常有用,例如,当属于不同客户的虚拟机在同一主机上运行时,或者为不同客户提供服务质量保证时。磁盘I/O限制也可以用于模拟速度较慢的磁盘。I/O限制可以独立地应用到和虚拟机连接的每个块设备,并支持对吞吐量和I/O操作的限制。

virsh blkiotune命令行允许admin用户设置并查看虚拟机磁盘IO参数。

查看current <blkio>  parameters:

# virsh blkiotune virtual_machine

virsh blkdeviotune命令设置虚拟机的I/O限制:#virsh blkdeviotune  virtual_machine device --parameter limit

连接到虚拟机的磁盘设备之一指定唯一的目标名称(<target dev ='name'/>)或源文件(<source file ='name'/>)。使用virsh  domblklist命令获取磁盘设备名称的列表。

可选参数包括:

total-bytes-sec

每秒的总吞吐量限制,byte/s。

read-bytes-sec

每秒的读取吞吐量限制,byte/s。

write-bytes-sec

每秒的写吞吐量限制,byte/s。

Total-iops-sec

每秒的总I/O操作限制。

read-iops-sec

每秒的读取I/O操作限制。

write-iops-sec

每秒的写入I/O操作限制。

举例:要将virtual_machine上的vda限制为每秒1000个I / O操作和每秒50MB的吞吐量,请运行以下命令:

#virsh blkdeviotune virtual_machine vda    --total-iops-sec 1000 --total-bytes-sec  52428800

参考资料

1. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_tuning_and_optimization_guide/sect-virtualization_tuning_optimization_guide-blockio-techniques#sect-Virtualization_Tuning_Optimization_Guide-BlockIO-IO_Throttling

2.https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_tuning_and_optimization_guide/chap-virtualization_tuning_optimization_guide-blockio

上一篇 下一篇

猜你喜欢

热点阅读