<div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px">hi all, </div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><span style="font-family:arial,sans-serif;font-size:13px">now that </span><span class="" style="font-family:arial,sans-serif;font-size:13px">criu</span><span style="font-family:arial,sans-serif;font-size:13px"> supports plugin[1], has any one tried revisiting this? we should be able to address most of the issues encountered in this thread,</span><div style="font-family:arial,sans-serif;font-size:13px">
  <div class="gmail_extra"><br></div><div class="gmail_extra">[1] <a href="http://criu.org/Plugins" target="_blank">http://<span class="">criu</span>.org/Plugins</a><div class=""><div id=":24p" class="" tabindex="0"><img class="" src="https://mail.google.com/mail/u/0/images/cleardot.gif" style=""></div>
</div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 27, 2013 at 3:51 AM, 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"><div class="HOEnZb"><div class="h5">On 11/27/2013 01:58 PM, Daniel Lezcano wrote:<br>
&gt; On 11/27/2013 09:54 AM, Pavel Emelyanov wrote:<br>
&gt;&gt; On 11/27/2013 06:19 AM, Qiang Huang wrote:<br>
&gt;&gt;&gt; On 2013/11/27 0:19, Marian Marinov wrote:<br>
&gt;&gt;&gt;&gt; On my test setup it works for processes like apache, dovecot and mysql.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; However it does not work with containers:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; root@s321:~# criu dump -D deb1 -t 19332 --file-locks<br>
&gt;&gt;&gt;&gt; (00.004962) Error (namespaces.c:155): Can&#39;t dump nested pid namespace for 28352<br>
&gt;&gt;&gt;&gt; (00.004985) Error (namespaces.c:321): Can&#39;t make pidns id<br>
&gt;&gt;&gt;&gt; (00.005327) Error (cr-dump.c:1811): Dumping FAILED.<br>
&gt;&gt;&gt;&gt; root@s321:~#<br>
&gt;&gt;&gt;&gt; When I try to dump the init process(which I believe I should not do), here is what I see:<br>
&gt;&gt;&gt;&gt;     <a href="http://pastebin.com/DFC0ADpp" target="_blank">http://pastebin.com/DFC0ADpp</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; (00.291294) Error (tty.c:222): tty: Unexpected format on path /dev/tty1<br>
&gt;&gt;&gt;&gt; (00.291315) Error (cr-dump.c:1491): Dump files (pid: 29702) failed with -1<br>
&gt;&gt;&gt;&gt; (00.291892) Error (cr-dump.c:1811): Dumping FAILED.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; This is my setup:<br>
&gt;&gt;&gt;&gt; 19332 ?        Ss     0:00 lxc-start -n deb1 -d<br>
&gt;&gt;&gt;&gt; 28352 ?        Ss     0:00  \_ init [3]<br>
&gt;&gt;&gt;&gt; 28393 ?        Ss     0:00      \_ /usr/sbin/apache2 -k start<br>
&gt;&gt;&gt;&gt; 28419 ?        S      0:00      |   \_ /usr/sbin/apache2 -k start<br>
&gt;&gt;&gt;&gt; 28422 ?        Sl     0:00      |   \_ /usr/sbin/apache2 -k start<br>
&gt;&gt;&gt;&gt; 28423 ?        Sl     0:00      |   \_ /usr/sbin/apache2 -k start<br>
&gt;&gt;&gt;&gt; 28489 ?        S      0:00      \_ /bin/sh /usr/bin/mysqld_safe<br>
&gt;&gt;&gt;&gt; 28620 ?        Sl     0:00      |   \_ /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql<br>
&gt;&gt;&gt;&gt; --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port<br>
&gt;&gt;&gt;&gt; 28621 ?        S      0:00      |   \_ logger -t mysqld -p daemon.error<br>
&gt;&gt;&gt;&gt; 28598 ?        Ss     0:00      \_ /usr/sbin/sshd<br>
&gt;&gt;&gt;&gt; 29702 pts/0    Ss+    0:00      \_ /sbin/getty 38400 tty1 linux<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I rebooted the container without getty on tty1 and then I got this:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; (00.260757) Error (mount.c:255): 86:/dev/tty4 doesn&#39;t have a proper root mount<br>
&gt;&gt; This is the reason. That&#39;s container&#39;s console which is a bind mounted tty from<br>
&gt;&gt; the host. And since this is an external connection, CRIU doesn&#39;t dump one.<br>
&gt;&gt;<br>
&gt;&gt; There are two ways to resolve this. The first is disable container&#39;s console. It&#39;s<br>
&gt;&gt; fast, but ugly. The second way is supporting one, but it would require criu hacking.<br>
&gt;&gt; We should detect, that this is an external tty, decide, that we&#39;re OK to disconnect<br>
&gt;&gt; it after dump and on restore -- connect it back.<br>
&gt;<br>
&gt; The third one would be to implement lxc-checkpoint and lxc-restart<br>
&gt; (which are empty) to invoke CRUI. Then from there you can dump the<br>
&gt; container&#39;s configuration and restart with.<br>
<br>
</div></div>Yes, it&#39;s also possible and probably easier. But as far as the console is concerned,<br>
some patching on the criu code will still be needed.<br>
<div class="HOEnZb"><div class="h5"><br>
Thanks,<br>
Pavel<br>
<br>
------------------------------------------------------------------------------<br>
Rapidly troubleshoot problems before they affect your business. Most IT<br>
organizations don&#39;t have a clear picture of how application performance<br>
affects their revenue. With AppDynamics, you get 100% visibility into your<br>
Java,.NET, &amp; PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!<br>
<a href="http://pubads.g.doubleclick.net/gampad/clk?id=84349351&amp;iu=/4140/ostg.clktrk" target="_blank">http://pubads.g.doubleclick.net/gampad/clk?id=84349351&amp;iu=/4140/ostg.clktrk</a><br>
_______________________________________________<br>
Lxc-devel mailing list<br>
<a href="mailto:Lxc-devel@lists.sourceforge.net">Lxc-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/lxc-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/lxc-devel</a><br>
</div></div></blockquote></div><br></div>