xen + libvirt는 서로 다른 호스트의 가상 머신 간에 디스크를 공유합니다.

xen + libvirt는 서로 다른 호스트의 가상 머신 간에 디스크를 공유합니다.

다른 질문이 있습니다.

내가 한 일은 다음과 같습니다.

  1. 2개의 물리적 호스트를 배포 SLES 12 SP1하고 두 물리적 호스트 모두에 설치합니다 XEN hypervizor.

  2. 각 호스트에서 FC.

  3. 각 호스트에서 fullvirt게스트 시스템이 포함된 가상 머신을 배포합니다 SLES 12 SP1.

  4. scsi또는 xendisk( virsh dumpxml위) 와 같은 블록 장치를 각 VM에 연결합니다.

  5. 디스크에 생성한 VM 중 하나에서 LVM(PV 1개당 VG 1개)fs=ext3

  6. 재검색 후 다른 VM에서 새 VG를 볼 수 있습니다.

예:

  1. 가상 머신 1에서:

    mount /dev/vg1/lv1 /srv/lv1
    echo 'test from 1st vm' > /srv/lv1/1test.txt
    umount /srv/lv1
    vgchange -an vg1 && vgexport vg1
    
  2. 가상 머신 2에서:

    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. 가상 머신 1에서:

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

내가 필요한 결과는 다음과 같습니다

장치는 일관성이 있어야 하며 동일한 파일을 가지고 있어야 합니다.

추가 정보:

  • 구성 잠금이 없습니다.

  • 물리적 호스트에서 동일한 단계를 수행하면 모든 것이 잘 작동합니다.

  • 공유 디스크 구성:

    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>
    

또한 다음과 같은 다양한 디스크 옵션을 시도했습니다.

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

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

관련 정보