xen + libvirt compartilha discos entre VM em hosts diferentes

1

Eu tenho outro problema.

o que eu fiz é:

  1. Implementamos dois hosts físicos com SLES 12 SP1 e instalamos XEN hypervizor em ambos.

  2. Em cada host, fornecemos alguns dispositivos de bloco via FC .

  3. Em cada host, implantamos o fullvirt Virtual Machine com SLES 12 SP1 guest system.

  4. Bloquear dispositivos conectados a cada uma das VMs como scsi ou xendisk ( virsh dumpxml acima)

  5. de uma das VMs, criamos LVM nos discos (1 VG por 1 PV) fs=ext3

  6. após uma nova verificação, outra VM pode ver o novo VG

exemplo:

  1. na VM1:

    mount /dev/vg1/lv1 /srv/lv1
    echo 'test from 1st vm' > /srv/lv1/1test.txt
    umount /srv/lv1
    vgchange -an vg1 && vgexport vg1
    
  2. na VM2:

    vgimport vg1 && vgchange -ay vg1
    mount /dev/vg1/lv1 /srv/lv1
    cat /srv/lv1/1test.txt
    test from 1st vm
    
    echo 'answer from 2nd vm' >> /srv/lv1/1test.txt
    echo 'test from 2nd vm' > /srv/lv1/2test.txt
    umount /srv/lv1
    vgchange -an vg1 && vgexport vg1
    
  3. na VM1:

    mount /dev/vg1/lv1 /srv/lv1
    cat /srv/lv1/1test.txt
    test from 1st vm
    cat /srv/lv1/2test.txt
    no such file
    

O que eu preciso como resultado:

Os dispositivos devem ser consistentes e ter os mesmos arquivos.

Informação adicional:

  • sem bloqueio configurado;

  • se eu fizer as mesmas etapas em hosts físicos, tudo funcionará bem;

  • configuração do disco compartilhado:

    disk type='block' device='disk'
    driver name='qemu' type='raw'/>
    source dev='/dev/mapper/360002ac0000000000000003200019bcc'/>
    target dev='sdd' bus='scsi'/>
    address type='drive' controller='0' bus='0' target='0' unit='1'/>
    /disk>
    

também tentou com diferentes opções de disco, como:

driver name='qemu' type='raw' cache='none' io='native'/>

Alguma ideia, como resolver este problema?

    
por Alex 22.04.2016 / 09:39

0 respostas