disk = [ 'phy:/dev/vg-00/domu-swap,xvda1,w', 'phy:/dev/vg-00/domu-disk,xvda2,w' ] ) vg-00 )和2个PV 当我开始pmove (我甚至试图ionice -c3它)我domUs得到非常高的负载,甚至卡住了。 我认为这发生在pvmove将domU LV从一个PV延伸到另一个时。 我也看到domU真的吓坏了OOM杀手。 长话短说:我不得不中断程序( pvmove --abort ),因为我的domU开始无法使用,主要的服务器组件被杀死,甚至完全死亡/冻结。
我知道更高的IO负载,而过渡,可以应付这一点。 但是即使当IO负载很高时,domU任务内部也会被阻塞。 为什么ionice在这里工作? 如果我明白这是正确的,所有IO由dom0(由blkback驱动程序)完成,所以dom0应该看到每个dom(0 | U)完成的所有IO,并且应该能够为我的renice进程计划IO – 我的假设是错误的这里?
为什么我的domU开启了OOM杀手? 这个过程如何影响domU的记忆? 顺便说一句:当domU发疯的时候,我的dom0工作正常。 高IO,但这是显而易见的。
有没有办法可以去掉一个PV而没有上面的这个? closures/暂停一个domU,然后从这台机器只转发LV,会更好吗?
预先感谢您的每一个input – 我甚至会很高兴得到一些“debugging的想法”!
它应该工作 – 但似乎XEN在“w”模式中强加某种排他locking。 也许这个locking在“w!”中并不那么严格 (或者是“!w”?)模式。 该模式应该允许来自多个源的写入请求。
在杀手进入DomU之前,哪个内存消耗上升? 缓冲存储器?