ovirt中文环境下虚拟机迁移异常跟踪

        在客户现场发现1个体验很差的问题,负载均衡触发的虚拟机迁移,使得虚拟机一直保持在迁移状态,更严重的是,此时的虚拟机失去管控,前端既不能关闭它,也不能通过控制台使用它,最后客户着急了,凌晨将研发人员叫到现场解决问题。

        迁移失败其实是有别的与原因引起的,如两边主机名相同,如虚拟机使用的cache模式不为none, 或者另一边的主机启动虚拟机失败等等。或许迁移失败是可以接受的,但是迁移失败导致虚拟机一直处于迁移状态不可使用不可恢复,那问题就严重了,其实还有更严重的,如果重启两边主机的vdsm服务,虚拟机能从迁移状态中恢复回来,但是虚拟机迁移时目标主机预留的内存,pending_vmem_size, 并没有回收回来,而且是永久的,除非手动修改数据库,否则这部分内存就永远被“雪藏“了,不能再用于虚拟机的分配。

        这么严重的一个问题,最后居然发现是由于python对中文的处理导致异常引起的。虚拟机的迁移属于异步调度任务,调度时的处理在virt/migration.py中:

    def run(self):
        try:
            startTime = time.time()
            self._setupVdsConnection()
            self._setupRemoteMachineParams()
            self._prepareGuest()
            with SourceThread._ongoingMigrations:
                try:
                    if self._migratio

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值