[Lxc-users] Can't start containers

Milan Zamazal pdm at zamazal.org
Fri Mar 30 11:19:57 UTC 2012


I've got the same problem on current Debian wheezy.  The containers
start fine on boot, but it's impossible to (re)start any container
later:

  # lxc-start -n test
  lxc-start: Invalid argument - pivot_root syscall failed
  lxc-start: failed to setup pivot root
  lxc-start: failed to set rootfs for 'test'
  lxc-start: failed to setup the container
  lxc-start: invalid sequence number 1. expected 2
  lxc-start: failed to spawn 'test'

The failure happens in the call

  pivot_root(".", path)

in conf.c:setup_rootfs_pivot_root, with the error message "Invalid
argument".  `path' value is "/mnt/lxc/mnt", current directory is
"/mnt/lxc".  This seems to be correct, or at least intended.  The
directories in /mnt/lxc are mounted as follows:

  /dev/mapper/raid10-root on /mnt/lxc type ext4 (rw,relatime,errors=remount-ro,user_xattr,acl,barrier=1,stripe=384,data=ordered)
  none on /mnt/lxc/proc type proc (rw,relatime)
  none on /mnt/lxc/dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
  none on /mnt/lxc/tmp type tmpfs (rw,relatime,size=16384k)
  udev on /mnt/lxc/dev/snd type devtmpfs (rw,relatime,size=1861084k,nr_inodes=465271,mode=755)
  devpts on /mnt/lxc/dev/console type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
  devpts on /mnt/lxc/dev/tty1 type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
  devpts on /mnt/lxc/dev/tty2 type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)

(/dev/mapper/raid10-root is the root file system of the host.)

My container configuration entries are:

  lxc.rootfs = /var/lib/vservers/test
  lxc.rootfs.mount = /mnt/lxc

And the container fstab:

  none	/var/lib/vservers/test/proc		proc	defaults		0 0
  none	/var/lib/vservers/test/dev/pts		devpts	gid=5,mode=620		0 0
  none	/var/lib/vservers/test/tmp		tmpfs	size=16m,mode=1777	0 0
  /dev/snd	/var/lib/vservers/test/dev/snd	none	bind			0 0

I tried to test pivot_root from command line after an unsuccessful
container start:

  # cd /mnt/lxc
  # ls
  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root run  sbin  selinux  srv  sys  tmp  usr  var
  # ls mnt
  # pivot_root . /mnt/lxc/mnt
  pivot_root: Invalid argument

I've no idea whether the pivot_root call should succeed or not under
these circumstances and why it succeeds on boot but doesn't succeed
later when lxc-start is invoked from a command line. 

Does anybody know what can be wrong with the pivot_root call?






More information about the lxc-users mailing list