[lxc-users] lxc-create try rsync data to device instead mount point

Serge Hallyn serge.hallyn at ubuntu.com
Fri Jul 25 17:24:37 UTC 2014


Quoting mxs kolo (kolomaxes at gmail.com):
> On 7/25/14, mxs kolo <kolomaxes at gmail.com> wrote:
> > Hi
> >> The other templates only take rootfs from the config file if lxc-create
> >> did not pass in "--rootfs".  I think you should do the same, because
> >> lxc should have already mounted the device for you.
> > Where LXC placed mount directory ?
> Yes, you right. LXC already mount /dev/mapper/*  in directory
> /usr/lib/lxc/rootfs/
> And problem in lxc-centos and other template fixed with small patch:
> 
> # diff -uN /usr/share/lxc/templates/lxc-centos
> /usr/share/lxc/templates/lxc-centos.ORIG
> --- /usr/share/lxc/templates/lxc-centos 2014-07-25 17:52:11.509618392 +0400
> +++ /usr/share/lxc/templates/lxc-centos.ORIG    2014-07-07
> 12:39:32.430333034 +0400
> @@ -686,7 +686,7 @@
>      case "$1" in
>          -h|--help)      usage $0 && exit 0;;
>          -p|--path)      path=$2; shift 2;;
> -        --rootfs)       rootfs_path=$2; shift 2;;
> +        --rootfs)       rootfs=$2; shift 2;;

That's the wrong way, you should use what lxc passed in as "--rootfs" argument

>          -n|--name)      name=$2; shift 2;;
>          -c|--clean)     clean=$2; shift 2;;
>          -R|--release)   release=$2; shift 2;;
> 
> It's all. :)
> And one common mount point means that You can't simultaneously create
> more then one LXC in time,  right ?

No, because this is done in a private namespace.

> p.s.
> But LXC always mount /dev on directory /usr/lib/lxc/rootfs, even if pass
> rootfs parameter:
> # lxc-create  -t centos    -n t1  -B lvm --lvname=t1  --vgname=data
> --fstype=xfs --fssize=10G  -- --release 6 --rootfs=/mnt/1

The --rootfs paramater is for lxc to pass to templates.  You should not
specify it.

> File descriptor 3 (/var/lib/lxc/t1/partial) leaked on lvcreate
> invocation. Parent PID 20287: lxc-create
> WARNING: xfs signature detected on /dev/data/t1 at offset 0. Wipe it? [y/n] y
>   Wiping xfs signature on /dev/data/t1.
>   Logical volume "t1" created
> Host CPE ID from /etc/os-release: cpe:/o:centos:centos:7
> DBG ==>/mnt/1<==
> /dev/mapper/data-t1 on /usr/lib/lxc/rootfs type xfs
> (rw,relatime,attr2,inode64,sunit=1024,swidth=2048,noquota)
> Checking cache download in /var/cache/lxc/centos/x86_64/6/rootfs ...
> Cache found. Updating...
> Loaded plugins: fastestmirror
> Loading mirror speeds from cached hostfile
>  * base: mirror.yandex.ru
>  * extras: mirror.yandex.ru
>  * updates: mirror.yandex.ru
> base
> 
>                                                    | 3.7 kB     00:00
> extras
> 
>                                                    | 3.4 kB     00:00
> updates
> 
>                                                    | 3.4 kB     00:00
> Setting up Update Process
> No Packages marked for Update
> Loaded plugins: fastestmirror
> Cleaning repos: base extras updates
> 0 package files removed
> Update finished
> Copy /var/cache/lxc/centos/x86_64/6/rootfs to /mnt/1 ...
> Copying rootfs to /mnt/1 ...
> 
> And container is broken:
> # grep lxc.rootfs /var/lib/lxc/t1/config
> lxc.rootfs = /dev/data/t1
> 
> But /dev/data/t1 is empty and all files placed in /mnt/1 directory.
> 
> b.r.
>  Maxim Kozin
> _______________________________________________
> lxc-users mailing list
> lxc-users at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-users


More information about the lxc-users mailing list