xen + libvirtは、異なるホスト上の仮想マシン間でディスクを共有します。

xen + libvirtは、異なるホスト上の仮想マシン間でディスクを共有します。

他に質問があります。

私がしたことは次のとおりです。

  1. 2つの物理ホストを展開し、両方のSLES 12 SP1物理ホストにインストールしますXEN hypervizor

  2. 各ホストでFC

  3. 各ホストにfullvirtゲストシステムを含む仮想マシンを展開しますSLES 12 SP1

  4. scsiまたはxendiskvirsh dumpxml上記)のようなブロックデバイスを各VMに接続します。

  5. ディスクに作成したVMの1つ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'/>

この問題を解決する方法についてのアイデアはありますか?

ベストアンサー1

おすすめ記事