I'm running OpenStack to manage LXC instance through libvirt. The same setting runs perfectly well on Ubuntu 12.04, while on CentOS 6u3, libvirt dumped following message when starting lxc instance.

virsh -c lxc:/// start instance-00000032
error: internal error The 'cpuacct', 'devices' & 'memory' cgroups controllers must be mounted

Really appreciated if someone could shed some lights. Seems to some libvirt / cgroup settings related.

$ cat /proc/mounts 
none /cgroup cgroup rw,relatime,net_prio,perf_event,blkio,net_cls,freezer,devices,memory,cpuacct,cpu,ns,cpuset 0 0

$ chkconfig --list | grep cg
cgconfig        0:off   1:off   2:off   3:off   4:off   5:off   6:off
cgred           0:off   1:off   2:off   3:off   4:off   5:off   6:off

xml definition
<domain type="lxc">
  <clock offset="utc"/>
    <filesystem type="mount">
      <source dir="/home/stack/nova_state/instances/instance-00000032/rootfs"/>
      <target dir="/"/>
    <interface type="bridge">
      <mac address="fa:16:3e:73:67:54"/>
      <source bridge="br100"/>
      <filterref filter="nova-instance-instance-00000032-fa163e736754">
        <parameter name="IP" value=""/>
        <parameter name="DHCPSERVER" value=""/>
        <parameter name="PROJNET" value=""/>
        <parameter name="PROJMASK" value=""/>
    <console type="pty"/>

Log message with LIBVIRT_DEBUG=1 if that is helpful. 

Qiu Yu