<div dir="ltr"><div><div><div>Hi,<br></div>I have solved this issue, which actually was caused by incorrect permission in the shared nfs mount.<br><br></div>The step of linking the proto files to criu is unnecessary. I have sent a patch to that. Please review it if you have a minute. Thanks.<br><br></div>- Hui<br><div><div><div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 8, 2015 at 4:45 PM, Hui Kang <span dir="ltr"><<a href="mailto:hkang.sunysb@gmail.com" target="_blank">hkang.sunysb@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi,<br></div><div>There is another place in the test/HOWTO, which I do not quite understand.<br><br><a href="https://github.com/huikang/p.haul/blob/master/test/mtouch/HOWTO" target="_blank">https://github.com/huikang/p.haul/blob/master/test/mtouch/HOWTO</a><br><br></div><div>Step b says "<table><tbody><tr><td>* Make sure that p.haul/*.proto links point to respective</td>
</tr>
<tr>
<td> files in CRIU sources</td>
</tr>
<tr>
<td>
<br></td>
</tr>
<tr>
<td>        # ls -l *.proto</td>
</tr>
<tr>
<td>        ... rpc.proto -> ../criu/protobuf/rpc.proto</td>
</tr>
<tr>
<td>        ... stats.proto -> ../criu/protobuf/stats.proto</td></tr></tbody></table>"<br></div><div>However, this is not *.proto under p.haul directory. Shall I create the link?<br><br></div><div>Without doing this, I met some issue when doing the living migration.<br><br></div><div>On the src it report<br>Connecting to target host<br>Setting up local<br>`- Passing (ctl:5, data:4) pair to CRIU<br>Initilized shared FS hauler<br>Setting up remote<br>Checking CPU compatibility<br> `- Dumping CPU info<br> `- Sending CPU info<br> `- Checking CPU info<br>Preliminary FS migration<br>Starting iterations<br>* Iteration 0<br> Making directory /var/local/p.haul-fs/dmp-ZYwoEe-15.05.08-20.36/img/1<br> Issuing pre-dump command to service<br> Pre-dump succeeded<br>Dumped 18536 pages, 0 skipped<br>Checking iteration progress:<br> > Proceed to next iteration<br>* Iteration 1<br> Making directory /var/local/p.haul-fs/dmp-ZYwoEe-15.05.08-20.36/img/2<br> Issuing pre-dump command to service<br> Pre-dump succeeded<br>Dumped 29 pages, 18517 skipped<br>Checking iteration progress:<br> > Small dump<br>Final dump and restore<br> Making directory /var/local/p.haul-fs/dmp-ZYwoEe-15.05.08-20.36/img/3<br> Issuing dump command to service<br>Dump complete<br>Final FS and images sync<br>Sending images to target<br> Pack<br> Add htype images<br>Asking target host to restore<br>Remote exception<br>Traceback (most recent call last):<br> File "/root/p.haul/p.haul", line 41, in <module><br> worker.start_migration()<br> File "/root/p.haul/phaul/p_haul_iters.py", line 214, in start_migration<br> self.th.restore_from_images()<br> File "/root/p.haul/phaul/xem_rpc.py", line 37, in __call__<br> raise Exception(resp[1])<br>Exception: Restore failed<br><br></div><div>Are these error caused by those proto files? Thanks.<br><br></div><div>- Hui<br></div><div><br></div><div>On the destination it reports<br>Connected<br>Data socket (datask) accepted<br>Setting up service side ('pid', '10625')<br>`- Passing (ctl:8, data:7) pair to CRIU<br>Started images server<br>Waiting for images to unpack<br>Checking cpuinfo<br> `- True<br> Making directory /var/local/p.haul-fs/rst-4xRfLz-15.05.08-20.37/img/1<br>Starting page server for iter 1<br> Sending criu rpc req<br> Page server started at 12749<br> Making directory /var/local/p.haul-fs/rst-4xRfLz-15.05.08-20.37/img/2<br>Starting page server for iter 2<br> Sending criu rpc req<br> Page server started at 12751<br> Making directory /var/local/p.haul-fs/rst-4xRfLz-15.05.08-20.37/img/3<br>Starting page server for iter 3<br> Sending criu rpc req<br> Page server started at 12753<br>Started images server<br>Waiting for images to unpack<br>Restoring from images<br> Notify (setup-namespaces.12755)<br>Traceback (most recent call last):<br> File "/root/p.haul/phaul/xem_rpc.py", line 98, in work<br> res = getattr(self._master, "rpc_" + data[1])(*data[2])<br> File "/root/p.haul/phaul/p_haul_service.py", line 144, in rpc_restore_from_images<br> raise Exception("Restore failed")<br>Exception: Restore failed<br>Disconnected<br>Closing images<br>Keeping images<br>Images are kept in /var/local/p.haul-fs/rst-4xRfLz-15.05.08-20.37<br><br><br><br></div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 8, 2015 at 10:54 AM, Pavel Emelyanov <span dir="ltr"><<a href="mailto:xemul@parallels.com" target="_blank">xemul@parallels.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On 05/08/2015 01:47 AM, Hui Kang wrote:<br>
> Hi,<br>
> I am interested in trying p.haul to live migrate process across hosts. However, I am confused about the p.haul's README<br>
><br>
</span>> 1. It says "Clone CRIU repository from git://<a href="http://github.com/xemul/criu" target="_blank">github.com/xemul/criu</a> <<a href="http://github.com/xemul/criu" target="_blank">http://github.com/xemul/criu</a>>, checkout the 'p.haul' branch and compile it with 'make' ". However, there is no p.haul branch under criu.<br>
><br>
> 2. One steps says "compile p.haul with /cd p.haul && make/ ". However, there is no Makefile under p.haul.<br>
<span>><br>
> Could anyone have an updated readme about using p.haul? Thanks.<br>
<br>
</span>Yup, thanks for the feedback. Both docs updated, you can use master<br>
criu branch.<br>
<span><font color="#888888"><br>
-- Pavel<br>
<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div></div></div></div></div>