LINUX.ORG.RU
ФорумAdmin

Libvirt-lxc и непривилегированные контейнеры

 , , ,


0

1

Кто нибудь пробовал, т.е создать систему(rootfs) можно под непривилегированным пользователем. Тем же lxc-create

И даже указать в конфиге машины смещения (права в rootfs папке 100000:100000)

  <idmap>
    <uid start='0' target='100000' count='65536'/>
    <gid start='0' target='100000' count='65536'/>
  </idmap> 

Но при запуске оно пытается создать а затем подмонтироватся в /.oldroot

internal error: guest failed to start: Failure in libvirt_lxc startup: Failed to create /var/lib/lxc/unprv_01/rootfs/.oldroot: Permission denied


Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 89, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 125, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 82, in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1508, in startup
    self._backend.create()
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 1062, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: internal error: guest failed to start: Failure in libvirt_lxc startup: Failed to create /var/lib/lxc/unprv_01/rootfs/.oldroot: Permission denied

причем даже если эту папку создать, ошибка будет точно такой же.(да я пробовал запускать virsh от рута)

Вопрос кто нибудь пробовал подружить НЕПРИВИЛЕГИРОВАННЫЕ контейнеры и libvirt ?

Видел в рассылке конфиг машины с монтирование LXCFS

  <devices>
    <emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/mnt/vms/hdd1/lxc/deb3'/>
      <target dir='/'/>
    </filesystem>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/var/lib/lxcfs/proc/cpuinfo'/>
      <target dir='/proc/cpuinfo'/>
    </filesystem>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/var/lib/lxcfs/proc/diskstats'/>
      <target dir='/proc/diskstats'/>
    </filesystem>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/var/lib/lxcfs/proc/meminfo'/>
      <target dir='/proc/meminfo'/>
    </filesystem>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/var/lib/lxcfs/proc/stat'/>
      <target dir='/proc/stat'/>
    </filesystem>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/var/lib/lxcfs/proc/swaps'/>
      <target dir='/proc/swaps'/>
    </filesystem>
    <filesystem type='mount' accessmode='passthrough'>
      <source dir='/var/lib/lxcfs/proc/uptime'/>
      <target dir='/proc/uptime'/>
    </filesystem>
Если это работает то где отключается собственные /proc наработки libvirt ?

★★★★