<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Feb 4, 2015 at 5:46 PM, Adam Gold <span dir="ltr"><<a href="mailto:awg1@gmx.com" target="_blank">awg1@gmx.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><br>
<br>
On 04/02/2015 10:10, Fajar A. Nugraha wrote:<br>
> On Wed, Feb 4, 2015 at 4:58 PM, Adam Gold <<a href="mailto:awg1@gmx.com">awg1@gmx.com</a><br>
</span><span class="">> <mailto:<a href="mailto:awg1@gmx.com">awg1@gmx.com</a>>> wrote:<br>
><br>
>     In summary, I would like each unprivileged container to run on top of a<br>
>     new zfs filesystem which I create as root and assign relevant ownership<br>
>     to. Is this possible?<br>
><br>
><br>
> should be possible, BUT not with lxc-create.<br>
><br>
> The easiest method would probably be to create a "template" container<br>
> for that particular user, and clone it manually (e.g. using zfs<br>
> snapshot/clone, plus edit the config file manually). You already create<br>
> the fs manually, so this workaround might be acceptable.<br>
<br>
</span>I've only ever created containers using lxc-create.  Are you saying that<br>
I should manually create a template container at the root of a<br>
particular zfs filesystem (e.g. zfs/lxc/containers/c1) and then I simply<br>
use zfs clone to create each new container (and, of course, tweak the<br>
config)?</blockquote><div><br></div><div>That is the best way that I know of.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">  If so, what's the best way to manually create a template in<br>
unprivileged mode to ensure all the subuids and subgids are assigned<br>
correctly.<br></blockquote><div><br></div><div>Create it using any normal method known to work. It should be OK when .local/share/lxc is on the same filesystem as $HOME, right?</div><div>After that, copy it manually to your template dataset (<span style="font-size:12.8000001907349px">zfs/lxc/containers/template ?) using "rsync -avP" or whatever tool of your choice. When you clone the template to a new directory, don't forget to change these settings manually in the new container config:</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">lxc.rootfs</span><br></div><div><span style="font-size:12.8000001907349px">lxc.utsname</span><br></div><div><div style><span style="font-size:12.8000001907349px">lxc.network.hwaddr</span></div><div style><span style="font-size:12.8000001907349px">lxc.network.veth.pair (if you use this)</span></div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Also, for the additional containers that I get from zfs cloning, will<br>
they be recognised by 'lxc-* -n' commands?<br>
<br></blockquote><div><br></div><div>AFAIK most lxc commands simply reads whatever is under the directory, and doesn't really care what fs they are on.</div><div><br></div><div>-- </div><div>Fajar</div><div><br></div></div></div></div>