Aqui está o que acabei fazendo em compartilhar uma unidade entre VM1 e VM2
Crie o sistema de arquivos compartilhados
-
qemu-img create -f raw sharetest.img
- Iniciar VM1
-
virsh attach-disk VM1 <full-path-to-sharetest.img> vdb
- faça o login na VM1 como root, use o gparted para colocar um sistema de arquivos em / dev / vdb (ou mkfs)
- %código% Neste ponto, você pode ler / gravar arquivos na unidade compartilhada usando / mnt.
Para mover este sistema de arquivos, faça o seguinte
-
mount /dev/vdb /mnt
para desmontar o sistema de arquivos da VM1 -
umount /mnt
- Iniciar VM2
-
virsh detach-disk VM1 vdb
- Faça login na VM2 e em
virsh attach-disk VM2 <full-path-to-sharetest.img> vdb
Isso funciona, eu movi o arquivo sharetest.img para frente e para trás entre VM1 e VM2 muitas vezes.
Apenas por curiosidade, decidi ver o que acontece se eu anexar sharetest.img às duas VMs ao mesmo tempo. Eu estava pensando em anexá-lo a ambas as VMs e depois só preciso coordenar os comandos de montagem / desmontagem. Infelizmente, enquanto eu era capaz de usar mount /dev/vdb /mnt
em ambas as VMs para conseguir anexar, isso causou um erro com o SELinux e o KVM ficou muito confuso, não permitiria que o sistema operacional convidado visse a unidade, mesmo que ela listasse a unidade como sendo destacado. Mesmo depois de separar a unidade de ambos os sistemas, se eu tentasse recolocar a unidade novamente, diria que o vdb já estava em uso.
Em resumo, desde que você tenha cuidado para garantir que o disco seja anexado somente a uma VM por vez, não há problema em compartilhar um disco entre as VMs.