アクティブ/パッシブシステム間でKVM仮想ディスクを共有するのは安全ですか?

アクティブ/パッシブシステム間でKVM仮想ディスクを共有するのは安全ですか?

LinuxゲストオペレーティングシステムでDB2データベースを実行する2つのVMがあります。一度に1つのデータベースのみがアクティブになりますが、両方の仮想マシンを同時に実行したいと思います。

データベースはSAN対応の仮想ディスクイメージ(.imgと見なされますが他の形式で開かれている)に保存され、ディスクイメージは両方の仮想マシンに接続されます。

仮想ディスクが「アクティブ」マシンによってのみマウントされている場合、各仮想マシンで仮想ディスクファイルを構成するのは安全ですか?

答え1

問題は、データベースがめちゃくちゃになると、システムが役に立たないことですactivepassive

答え2

VM1 と VM2 間でドライブを共有するときに私がしたことは次のとおりです。

共有ファイルシステムの作成

  • qemu-img create -f raw sharetest.img
  • 仮想マシン1の起動
  • virsh attach-disk VM1 <full-path-to-sharetest.img> vdb
  • VM1にrootとしてログインし、gpartedを使用してファイルシステムを/ dev / vdb(またはmkfs)に配置します。
  • mount /dev/vdb /mnt この時点で、/ mntを使用して共有ドライブにファイルを読み書きできます。

このファイルシステムを移動するには:

  • umount /mnt VM1でのファイルシステムのマウント解除
  • virsh detach-disk VM1 vdb
  • 仮想マシン2の起動
  • virsh attach-disk VM2 <full-path-to-sharetest.img> vdb
  • VM2にログインしてmount /dev/vdb /mnt

これはうまくいき、sharetest.imgファイルをVM1とVM2の間で何度も前後に移動しました。

好奇心旺盛に、私は2つの仮想マシンに同時にsharetest.imgを添付すると、何が起こるかを調べることにしました。 2つの仮想マシンに接続し、インストール/削除コマンドを調整します。残念ながら、2つの仮想マシンでそれを使用して接続できましたが、virsh attach-diskSELinuxエラーが発生し、KVMは非常に混乱しており、ゲストOSがドライブを取り外したとリストしたにもかかわらずドライブを見ることができませんでした。両方のシステムからドライブを取り外した後でもドライブを再接続しようとすると、vdbがすでに使用中であることを示すメッセージが表示されます。

要約すると、ディスクが一度に1つの仮想マシンにのみ接続されるように注意する限り、仮想マシン間でディスクを共有できます。

関連情報