Fazer isso acontecer no LXC é um pouco complicado. Primeiro, você precisa garantir que o host suporte loopback e LVM e tenha os módulos apropriados carregados. Em seguida, algumas etapas manuais precisam ser concluídas:
Primeiro, conceda acesso ao contêiner aos vários nós de dispositivos que o losetup e o LVM precisam, especificamente / dev / loop [0-9], / dev / loop-control e / dev / mapper / control.
Em /usr/share/pyshared/juju/lib/lxc/data/lxc.conf, adicione o seguinte:
lxc.cgroup.devices.allow = c 10:236 rwm
lxc.cgroup.devices.allow = c 10:237 rwm
lxc.cgroup.devices.allow = b 7:* rwm
Em seguida, você também precisará criar manualmente o nó do dispositivo de controle de loop de alguma forma dentro do contêiner. Se você já tiver implantado uma unidade e o Juju tiver um modelo para o ambiente, você pode fazer isso no diretório / dev desse modelo, por exemplo:
sudo mknod /var/lib/lxc/adam-sample-0-template/rootfs/dev/loop-control c 10 237
O nó do dispositivo / dev / mapper / controller será criado quando o LVM for instalado.
Como alternativa, você pode modificar o encanto do volume nova para fazer isso automaticamente durante o gancho de instalação. Infelizmente, não conheço uma maneira de o Juju ou o LXC pré-autorizar e preencher o diretório / dev de novos contêineres com dispositivos exigidos pelo encanto. Até que esses tipos de recursos ocorram, o charme da nova-volume (e provavelmente a nova-computing também) provavelmente requererá um trabalho desajeitado como esse para garantir que eles funcionem corretamente em contêineres LXC.