是否可以监控/限制 KVM 客户端的带宽?我想在我的服务器上为人们提供虚拟机,但我想小心不要超过我的每月带宽限制。我能找到的唯一支持此功能的地方是“云”框架,我猜我要么在 Linux 中缺少一些简单的东西,要么我需要与我上方的路由器对话(我无法访问它)。
答案1
我建议使用虚拟器用于管理 KVM 虚拟机。它使整个过程比使用普通的 QEMU/KVM 容易得多,并且还提供了良好的 CPU、IO 和网络统计. 你会喜欢以下工具虚拟顶层和虚拟管理器它在虚拟器框架。
要从脚本收集虚拟机接口统计信息,您可以使用维尔什命令行界面虚拟器或一些语言 API。维尔什命令如下:
virsh domifstat VMNAME IFNAME
..其中 VMNAME 是虚拟机的名称,IFNAME 是(虚拟)网络接口的名称。要查找网络接口的名称,您可以执行以下操作:
virsh dumpxml VMNAME
在生成的 XML 输出中,查找网络接口定义。查找如下行:
<target dev='vnet0'/>
在这种情况下,您的 IFNAME 将是“vnet0”。
或者,您可以使用统计信息收集守护程序,例如收集支持监控虚拟器统计数据,但在这种情况下,有时存储“virsh domifstat”输出的简单 shell 脚本可能就足够了。