Existe uma maneira (não baseada em rede) para compartilhar o sistema de arquivos host (ubuntu) com guest (centos 7) usando libvirt?

3

Estou tentando usar o xml do virsh e do domínio para iniciar um convidado do Centos 7 do host LTS do ubuntu 16.04. O nó "filesystem" que estou usando no domínio xml é o seguinte:

<filesystem type='mount' accessmode='passthrough'>
    <driver type='path' wrpolicy='immediate'/>
     <source dir='/opt/test'/>
     <target dir='testlabel'/>
</filesystem>

Com a configuração acima, "testlabel" não é visível no guest e, portanto, eu não sou capaz de montá-lo. Há algo que eu esteja perdendo?

Eu tentei ter módulos 9p no guest mas eles não parecem estar disponíveis no centos 7 prontamente. Precisa de recompilação do kernel [tentando agora]. Eu aprendi que o virtio-vsock estará disponível no futuro. Então, não é uma opção por enquanto.

Eu também não quero usar o compartilhamento de arquivos baseado em rede, como SSHFS, NFS ou glusterfs.

Existe algum outro driver de sistema de arquivos que possa trabalhar com a opção "filesystem" do domínio xml com libvirt?

    
por Swaru 21.03.2017 / 13:46

2 respostas

2

De acordo com a documentação do libvirt , você pode simplesmente precisar ajustar seu target .

Os documentos fornecem os seguintes exemplos:

  <filesystem type='mount' accessmode='passthrough'>
    <driver type='path' wrpolicy='immediate'/>
    <source dir='/export/to/guest'/>
    <target dir='/import/from/host'/>
    <readonly/>
  </filesystem>
  <filesystem type='file' accessmode='passthrough'>
    <driver name='loop' type='raw'/>
    <driver type='path' wrpolicy='immediate'/>
    <source file='/export/to/guest.img'/>
    <target dir='/import/from/host'/>
    <readonly/>
  </filesystem>

Isso parece funcionar sem a necessidade de 9p.

No entanto, para centos, existe de fato um ajudante 9p prontamente disponível:

Available Packages
Name        : nfs-ganesha-mount-9P
Arch        : x86_64
Version     : 2.3.2
Release     : 1.el7
Size        : 11 k
Repo        : epel/x86_64
Summary     : a 9p mount helper
URL         : https://github.com/nfs-ganesha/nfs-ganesha/wiki
Licence     : LGPLv3+
Description : This package contains the mount.9P script that clients can use
            : to simplify mounting to NFS-GANESHA. This is a 9p mount helper.
    
por 24.03.2017 / 10:27
2

Neste momento, 9p é a única opção de compartilhamento de sistema de arquivos que é suportada pelo libvirt e pelo KVM. Infelizmente 9p suportado está desativado no CentOS, uma vez que tem sido em grande parte sem manutenção por anos & Continha uma série de falhas de segurança - somente nos últimos meses um novo mantenedor da 9p começou a trabalhar na limpeza. Se você recompilar o kernel centos, ou construir o módulo 9p, será possível fazê-lo funcionar.

Até que o virtio-vsock com suporte a NFS apareça, não há outras opções baseadas em rede que você possa usar.

    
por 04.04.2017 / 11:11