[1]我正在使用带有virt-manager的KVM将虚拟机从一个系统迁移到另一个系统。
要计算迁移时间,请在主机终端上运行以下命令:
time virsh migrate --live UBVM1 qemu+ssh://server1.example.com
它显示以下输出
real 0m15.430s
user 0m0.031s
sys 0m0.015s
现在,我有点困惑,上面的值是迁移时间
答案 0 :(得分:0)
您感兴趣的数字是real
值,它是{{1}开始之间经过的实际("挂钟")时间的数量命令及其完成。
至于其他数字,time
是CPU用于运行用户模式代码的时间量,user
是它在内核模式上花费的时间(sys
代码。在这种情况下,这些数字远小于sys
时间,因为VM迁移主要是I / O任务(通过网络发送数据)并且除了等待之外不需要CPU做很多事情。网络完成移动数据。
在评论中回答OP的后续问题,以了解如何确定迁移过程中的停机时间:
原则上,在进行实时迁移时没有任何停机时间。实时迁移过程的工作方式是它在目标节点上启动暂停'状态,当VM在原始节点上保持活动状态时,通过网络发送VM的RAM的内容,然后继续发送改变的RAM内容的更新,直到VM的两个版本具有相同的存储器内容。一旦它们相同,目标节点上的VM就会启动,并且原始节点上的VM会同时关闭。当然,同步永远不会是绝对完美的,但是在任何实例都没有运行的间隙应该是几毫秒的量级,如果不是更少的话。
然而,在实践中,您的节点需要更长的时间。虚拟网桥和物理网络基础设施,以识别到VM的IP地址的流量需要被重新路由到不同的物理接口(即,分组需要停止前往源节点并转而到达目的节点)。在我在我的环境中完成的少数测试中,VM在进行实时迁移后通常无法访问30秒。要在您的环境中对此进行测试,请在迁移VM之前启动连续real
迁移VM的IP地址,然后在迁移完成后查看ping输出以查看VM停止响应的时间长度