DEV Community

Cover image for KVM - Compartilhando pasta entre host e convidado.
Leandro Henrique
Leandro Henrique

Posted on • Updated on

KVM - Compartilhando pasta entre host e convidado.

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.

image

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 
Enter fullscreen mode Exit fullscreen mode

OU se quiser apenas testar:

mount -t 9p -o trans=virtio,version=9p2000.L,accessmode=mapped /shared /pasta-dentro-da-vm  
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

É isso!

Se você sabe uma forma mais simples ou quer contribuir com outras formas, será de grande valia.

Top comments (1)

Collapse
 
linuxjeff profile image
Jefferson Vitor de Santana

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