[CRIU] CRIU and QEMU/KVM

Pavel Emelyanov xemul at parallels.com
Mon Jan 21 06:47:04 EST 2013


On 01/21/2013 03:14 PM, Andres Toomsalu wrote:
> 
> 
> On 21.01.2013, at 13:02, Pavel Emelyanov wrote:
> 
>> On 01/21/2013 02:57 PM, Andres Toomsalu wrote:
>>> KVM/QEMU has ofcourse checkpointing for live migration - but I cant find anything suitable
>>> for continuous non-blocking checkpointing - Kemari supposed to do that but it seems to be
>>> abandoned and I cant find any further developments on that regard. DMTCP allegedly could do
>>> this with the help of plugin utilizing KVM kernel driver API - so why not also CRIU in theory
>>> (eg cant it be added - what is the blocking issue/design)? There is a publication describing
>>> DMTCP approach in detail:  http://arxiv.org/pdf/1212.1787v1.pdf
>>
>> I see.
>>
>>> Having kind of hypervisor agnostic checkpointing/restore package would be a great opportunity
>>> to build homogeneous cloud HA services around it.
>>
>> I totally agree with it! We even have this in plans, but in long-term plans. However, if
>> someone can participate in this, I would merge the respective code as soon as it's ready.
>> But anyone who would try to implement it would have to Keep KVM/QEMU people aware of
>> what's going on :)
> 
> Sure - but before that it would be nice to understand what are the closest choices. You say
> that it is in the long-term roadmap - but what it cloud mean technically - what prerequisites
> are needed in order to implement it?

Some motivation for people who are currently involved in the project :) So far these has
been people from Parallels only, but our main concern was about containers. Later, when
we're done with them, we will start looking at KVM. This also means, that if someone else
will start looking at KVM before us and contributes to the project, this contribution will
be thankfully accepted :)

> If I understand correctly DMTCP wraps KVM/QEMU process, records VM start commands - then
> chechpoints process utilizing KVM kernel driver API in order to transfer kernel side state to
> userspace - then on restore phase restores KVM/QEMU VM process userspace and replays VM start 
> commands in order to place kernel side VM stuff inplace. Would it be possible in theory to
> use the same approach with CRIU or it has to be something completely different? 

It looks as a doable thing, yes. Not sure this will be the final solution, but at the
first glance it's OK.

> 
>>
>>> Kind regards,
>>> -- 
>>> ----------------------------------------------
>>> Andres Toomsalu, andres at opennodecloud.com <mailto:andres at opennodecloud.com> <mailto:andres at opennodecloud.com>
>>>
>>> On 21.01.2013, at 12:43, Pavel Emelyanov wrote:
>>>
>>>> On 01/20/2013 09:33 PM, Andres Toomsalu wrote:
>>>>> Hi,
>>>>>
>>>>> Could someone from CRIU devs shed a light if CRIU could be also used for
>>>>> QEMU/KVM VM checkpointing/restore (e.g. for creating state aware HA utilizing
>>>>> continous checkpointing) - and if yes what is there and what is still missing
>>>>> (needs implementation) to achieve it?
>>>>
>>>> No, CRIU is not capable to checkpoint and restore KVM virtual machines. The
>>>> KVM/QEMU have their own tools for that.
>>>>
>>>>> Kind regards,
>>>>> -- 
>>>>> ----------------------------------------------
>>>>> Andres Toomsalu, andres at opennodecloud.com <mailto:andres at opennodecloud.com> <mailto:andres at opennodecloud.com> <mailto:andres at opennodecloud.com>
>>>>> http://www.opennodecloud.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> CRIU mailing list
>>>>> CRIU at openvz.org <mailto:CRIU at openvz.org> <mailto:CRIU at openvz.org>
>>>>> http://lists.openvz.org/mailman/listinfo/criu
>>>>>
>>>>
>>>>
>>>
>>
>>
> 




More information about the CRIU mailing list