<div dir="ltr"><div><div><div><div><div>Hello Pavel,<br></div>Thanks for the help -- I was finaly able to do end-end live migration with Criu (version 1.5.2). I did not remove the cgroups but just made sure that the directory structure at destination cgroup matched at the source to make this work.<br><br></div>One question: this works with Criu version 1.5.2. I had done some development with Criu version 1.3.1. In order to be on a faster track, I was hoping to be able to use Criu version 1.3.1 for live migration -- do you know if live migration could be made to work with that version? Currently I get an RPC error with that version -- .<br><br></div>Error: Exception: CRIU RPC error (0/8)<br>Error (cr-service.c:705): Can&#39;t recv request: Connection reset by peer<br><br></div>Thanks!<br></div>Divjyot<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 8, 2015 at 12:50 PM, Pavel Emelyanov <span dir="ltr">&lt;<a href="mailto:xemul@parallels.com" target="_blank">xemul@parallels.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 06/05/2015 09:17 PM, Divjyot sethi wrote:<br>
&gt; I see -- thanks. Can you please let me know what change should I specifically make in<br>
&gt; the p.haul code to make this work?<br>
<br>
</span>Removing the p_haul_cgroup.py (and fixing all the stuff linking to it)<br>
and adding &quot;manage_cgroups&quot; option to criu_opts on dump and restore.<br>
<span class="im HOEnZb"><br>
&gt; Asking this as I am trying to replicate your setup where you were able to live migrate<br>
&gt; OpenVZ containers on fedora (I am following:<br>
&gt; <a href="https://github.com/xemul/p.haul/wiki/Live-migrating-OVZ-mainstream-container" rel="noreferrer" target="_blank">https://github.com/xemul/p.haul/wiki/Live-migrating-OVZ-mainstream-container</a>).<br>
&gt; Thanks for the help!<br>
&gt;<br>
</span><span class="im HOEnZb">&gt; On Fri, Jun 5, 2015 at 1:47 AM, Pavel Emelyanov &lt;<a href="mailto:xemul@parallels.com">xemul@parallels.com</a> &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     On 06/05/2015 11:20 AM, Divjyot sethi wrote:<br>
&gt;     &gt; Ok cool - thanks. Let me add --manage-cgroups in my p.haul-service at the point where it calls<br>
&gt;     &gt; restore. That would be sufficient? Or, since I am also using ovz driver - do I need to do something<br>
&gt;     &gt; for that as well?<br>
&gt;<br>
&gt;     Yes, since the cgroups management is off-loaded to CRIU, then the whole p_haul_cgroup.py should<br>
&gt;     be removed (it used to be the code doing this).<br>
&gt;<br>
</span><span class="im HOEnZb">&gt;     &gt; On Fri, Jun 5, 2015 at 1:05 AM, Pavel Emelyanov &lt;<a href="mailto:xemul@parallels.com">xemul@parallels.com</a> &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a>&gt; &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a> &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a>&gt;&gt;&gt; wrote:<br>
&gt;     &gt;<br>
&gt;     &gt;     On 06/05/2015 01:02 AM, Divjyot sethi wrote:<br>
&gt;     &gt;     &gt; Thanks -- was able to fix it. :) Now another problem. Apparently restore doesnt work on desitination I get an error  saying:<br>
&gt;     &gt;     &gt; 1: Error (cgroup.c:907): cg: Can&#39;t move into systemd//user.slice/user-1000.slice/session-3.scope/tasks (-1/-1): No such file or directory.<br>
&gt;     &gt;<br>
&gt;     &gt;     Ah. This is because p.haul doesn&#39;t feed the --manage-cgroups option into criu on restore. And, if you&#39;re using<br>
&gt;     &gt;     the ovz haul driver, tries to mess with cgroups itself, need do rip this piece from p.haul.<br>
&gt;     &gt;<br>
&gt;     &gt;     &gt; Error (cr-restore.c 1896): Restoring FAILED.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; Seems that this error was in a prior mailing list where you asked to list the cgroups. I did that and it seems that<br>
&gt;     &gt;     &gt; session-3.scop doesnt exist in user-1000.slice at destination (exists at source). Is there some way of creating this? The discussion<br>
&gt;     &gt;     &gt; in the prioir mailing list doesnt seem to list a solution to this problem...<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; Thanks,<br>
&gt;     &gt;     &gt; Divjyot<br>
&gt;     &gt;     &gt;<br>
</span><div class="HOEnZb"><div class="h5">&gt;     &gt;     &gt; On Thu, Jun 4, 2015 at 2:36 AM, Pavel Emelyanov &lt;<a href="mailto:xemul@parallels.com">xemul@parallels.com</a> &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a>&gt; &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a> &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a>&gt;&gt; &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a> &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a>&gt; &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a> &lt;mailto:<a href="mailto:xemul@parallels.com">xemul@parallels.com</a>&gt;&gt;&gt;&gt; wrote:<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     On 06/04/2015 04:50 AM, Kir Kolyshkin wrote:<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt; On 06/03/2015 06:45 PM, Divjyot sethi wrote:<br>
&gt;     &gt;     &gt;     &gt;&gt; Hey Pavel,<br>
&gt;     &gt;     &gt;     &gt;&gt; After a bit of a hiatus, I finally got around to istalling everything on my machines and am now trying<br>
&gt;     &gt;     &gt;     &gt;&gt; to live migrate OpenVZ containers running CentOS with p.haul. I however get an error at CRIU dump stage<br>
&gt;     &gt;     &gt;     &gt;&gt; -- log file says &quot;Error (sk-unix.c:222): Unix socket 0x6893 without peer 0xc5b&quot;. Any thoughts on this issue?<br>
&gt;     &gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt; The message essentially means that there is a UNIX socket that has one end inside the container and the<br>
&gt;     &gt;     &gt;     &gt; other end out of it. Like, a container is running mysql and someone who&#39;s not inside that CT is connected<br>
&gt;     &gt;     &gt;     &gt; to it via a UNIX socket. CRIU warns you that if you will checkpoint a process at one end of such a socket,<br>
&gt;     &gt;     &gt;     &gt; a process at the other end might get disappointed. In case you know what you are doing, you can add<br>
&gt;     &gt;     &gt;     &gt; --ext-unix-sk to criu commandline to allow checkpointing of such processes.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     Yup. These are connections to the outer world, the --ext-unix-sk should help, unless the<br>
&gt;     &gt;     &gt;     connection is SOCK_STREAM. In the latter case you&#39;ll have to stop the process that has one.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     &gt; This is as much as I can tell without looking into speciifics.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;     -- Pavel<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>