From: Oren Laadan <orenl-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
To: "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: Containers
<containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
Sukadev Bhattiprolu
<sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Subject: Re: restart (mktree) program usage
Date: Thu, 17 Sep 2009 13:58:40 -0400 [thread overview]
Message-ID: <4AB278D0.50604@librato.com> (raw)
In-Reply-To: <20090917131843.GA29297-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Serge E. Hallyn wrote:
> Quoting Oren Laadan (orenl-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org):
>>
>> Sukadev Bhattiprolu wrote:
>>> Oren Laadan [orenl-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org] wrote:
>>> |
>>> |
>>> | Sukadev Bhattiprolu wrote:
>>> | > I have a usage question on the 'restart' (formerly mktree) program.
>>> | >
>>> | > In the following container c/r case:
>>> | >
>>> | > - create a container
>>> | > - log in to the container,
>>> | > - restore filesystem(s) from snapshot
>>> | > - restart application from checkpoint
>>> |
>>> | FWIW, I'd expect that future versions of 'restart' will be capable
>>> | of doing this entire setup, (filesystem(s) included), as it matures.
>>> |
>>> | Note that this use case that you suggest will only work to restart
>>> | subtrees; it is unsuitable for full containers (with pids) because
>>> | the pid of init (1) will already be in use.
>>>
>>> True. But if originally the application was started as:
>>>
>>> Create container
>>> Login to contaienr
>> Actually, I'm not sure what you mean by "login to container" ?
>
> I assume he was thinking of a system container created with liblxc
> or libvirt, and literally logging in on its console or over ssh.
This is exactly my point:
* If you checkpoint full container, you get the sshd (and init) as
well, so you can't restore into an "existing" container, but create
a new one.
* If you checkpoint subtree, you will miss orphans, and you will
give up leak-detection.
I'd assume most users of this scenarios will prefer full container.
If you want to restart by first creating a new container, than set
it up, then log-in to that container, and finally run restart -
you will _have to_ modify the checkpoint image to remove unwanted
parts, and adjust the remaining accordingly.
For instance, you will have to remove (or tell the kernel to skip)
the data for the init task, and the ssh-server, and then change the
ppid of the root of your subtree to be 1 instead of what it was
(probably the old ssh-server), and so on.
It's doable, but I'm unsure if it's worth the extra work.
Oren.
>
>>> Yes, that would be really useful I think for things like restoring file
>>> system to its snapshot. Without that there is somewhat of an assymetry
>>> in starting an application in a container and restarting it from a
>>> checkpoint.
>
> Fine, they are different operations :)
>
> -serge
next prev parent reply other threads:[~2009-09-17 17:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-09 5:56 restart (mktree) program usage Sukadev Bhattiprolu
[not found] ` <20090909055636.GA27622-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-09 22:26 ` Oren Laadan
[not found] ` <4AA82B7C.8080107-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-09-17 1:35 ` Sukadev Bhattiprolu
[not found] ` <20090917013546.GA30161-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-17 3:14 ` Oren Laadan
[not found] ` <4AB1A99D.3020307-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-09-17 13:18 ` Serge E. Hallyn
[not found] ` <20090917131843.GA29297-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-17 16:53 ` Sukadev Bhattiprolu
[not found] ` <20090917165311.GB13855-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-17 17:13 ` Serge E. Hallyn
2009-09-17 17:58 ` Oren Laadan [this message]
[not found] ` <4AB278D0.50604-RdfvBDnrOixBDgjK7y7TUQ@public.gmane.org>
2009-09-17 18:20 ` Serge E. Hallyn
2009-09-18 6:58 ` Cedric Le Goater
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AB278D0.50604@librato.com \
--to=orenl-rdfvbdnroixbdgjk7y7tuq@public.gmane.org \
--cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
--cc=sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.