Estou tentando montar uma pasta no host em um contêiner LXC.
O host possui uma pasta /mnt/ssd/solr_data
criada (atualmente está no sistema de arquivos raiz, mas mais tarde montarei uma unidade SSD lá, então estou me preparando para isso).
Quero que essa pasta seja montada como /data
no contêiner.
Portanto, no arquivo fstab de contêineres, tenho o seguinte:
/mnt/ssd/solr_data /var/lib/lxc/Solr4StandAlone/rootfs/data ext4 defaults,noatime 0 0
Mas isso é impossível, recebo este erro ao iniciar o contêiner:
lxc-start: No such file or directory - failed to mount '/mnt/ssd/solr_data' on '/usr/lib/x86_64-linux-gnu/lxc//data'
lxc-start: failed to setup the mounts for 'Solr4StandAlone'
lxc-start: failed to setup the container
lxc-start: invalid sequence number 1. expected 2
lxc-start: failed to spawn 'Solr4StandAlone'
mount
isso se aplica? Não consegui encontrar a opção descrita nomount(8)
Ubuntu 14.04, por exemplo.mount(8)
Em
/var/lib/lxc/Solr4StandAlone/config
adicionar uma linha de leitura:Então
lxc-stop
pare seu contêiner elxc-start
seu contêiner novamente.Isso é tudo oque é necessário.
ref: link de referência
fonte
Eu tive que criar a
/data
pasta no contêiner local antes que a montagem funcionasse corretamente.Eu também usei esta entrada fstab:
fonte
bind
opção de montagem é algo que estava faltando no OP. Eu acredito que é a correção mais importante (presente também em todas as outras respostas de trabalho).A partir de 30/09/2015, uma alteração resultante de um patch de segurança interrompe a montagem em um caminho absoluto com lxc.mount.entry no arquivo de configuração.
Em vez disso, você pode usar um caminho relativo
Veja: https://wiki.debian.org/LXC#Bind_mounts_inside_the_container
fonte
Como o LXC mudou ao longo do tempo, isso pode ser muito simples, mas me surpreendeu um pouco, por isso, quis contribuir. Eu também criei uma essência para isso, para que eu possa me lembrar de mim, mas simplesmente usar o dispositivo de configuração lxc fará o truque.
Nota É importante deixar a barra frontal fora do argumento path devido a uma alteração mencionada por @biscuitNinja
Montando Diretórios do Contêiner para o Host
fonte
Se você estiver usando
libvirt
para criar seulxc
contêiner, poderá tornar o diretório no hostpassthrough
como mostrado aqui:fonte