É seguro compartilhar um disco virtual KVM entre sistemas ativos / passivos?

2

Eu tenho duas VMs que executam um banco de dados DB2 em um sistema operacional convidado Linux. Apenas um banco de dados estará ativo por vez, embora eu queira que as duas VMs sejam executadas ao mesmo tempo.

O banco de dados seria armazenado em uma imagem de disco virtual (pensando em .img, mas aberto a outros formatos) respaldado por uma SAN e essa imagem de disco seria anexada às duas VMs

É seguro ter o arquivo de disco virtual configurado em cada VM se o disco virtual for montado apenas pela máquina "ativa"?

    
por Joe Herman 02.11.2018 / 18:10

2 respostas

1

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.

    
por 12.11.2018 / 18:14
0

Bem, o problema é que se o sistema active bagunçar o banco de dados, o sistema passive não fará nenhum bem.

    
por 02.11.2018 / 19:08