Problema
Sábado eu tive uma surpresa que o Docker não funcionava por motivos ignorados, muita coisa estava estranha, então decidi formatar e usar o KVM para virtualizar máquinas para trabalho, escutando a ideia do meu amigo Alexandre que já trabalha assim.
Porém eu não queria utilizar um arquivo como HD gigante, então defini um arquivo pequeno, e compartilhei uma pasta, a princípio utilizei o NFS e compartilhei os arquivos, estava tudo bem, até eu precisar executar o Docker e por algum motivo ele não executar em alguns projetos, parecia algo de permissão.
Eu tentei compartilhar como "passthrough", mas não obtive exido, mas consegui usar no modo "mapped".
Solução
No Gerenciador de Máquinas Virtuais
adicione um sistema de arquivos
.
Em Caminho de Origem
(Source Path), você coloca o caminho da sua pasta no host (máquina onde as vm estão).
O Caminho Destino
(To path), você coloca o nome do mapeamento que irá existir dentro da VM. NÃO crie (isso mesmo não crie) esta pasta na VM.
Dentro da VM você adiciona no seu /etc/fstab o seguinte:
/shared /pasta-dentro-da-vm 9p trans=virtio,version=9p2000.L,accessmode=mapped 0 0
OU se quiser apenas testar:
mount -t 9p -o trans=virtio,version=9p2000.L,accessmode=mapped /shared /pasta-dentro-da-vm
Permissões
Se você tiver problemas com permissões o que provavelmente terá, você precisará conceder permissão de gravação ao grupo libvirt-qemu
ao diretório compartilhado e todos os subdiretórios.
chgrp -R libvirt-qemu /home/shared
chmod -R g+w /home/shared
É isso!
Se você sabe uma forma mais simples ou quer contribuir com outras formas, será de grande valia.
Top comments (1)
Faltou a opção, mas obrigado pelo artigo ajudou muito. :)
mount -t 9p -o trans=virtio,version=9p2000.L,accessmode=mapped /shared /pasta-dentro-da-vm