액티브/패시브 시스템 간에 KVM 가상 디스크를 공유하는 것이 안전합니까?

액티브/패시브 시스템 간에 KVM 가상 디스크를 공유하는 것이 안전합니까?

Linux 게스트 운영 체제에서 DB2 데이터베이스를 실행하는 두 개의 VM이 있습니다. 한 번에 하나의 데이터베이스만 활성화되지만 두 가상 머신이 동시에 실행되기를 원합니다.

데이터베이스는 SAN 지원 가상 디스크 이미지(.img로 간주되지만 다른 형식으로 개방됨)에 저장되고 디스크 이미지는 두 가상 머신 모두에 연결됩니다.

가상 디스크가 "활성" 머신에 의해서만 마운트되는 경우 각 가상 머신에서 가상 디스크 파일을 구성하는 것이 안전합니까?

답변1

문제는 데이터베이스가 엉망이 되면 시스템이 아무 소용이 없다는 것입니다 active.passive

답변2

VM1과 VM2 간에 드라이브를 공유할 때 제가 하게 된 작업은 다음과 같습니다.

공유 파일 시스템 생성

  • qemu-img create -f raw sharetest.img
  • 가상 머신 1 시작
  • virsh attach-disk VM1 <full-path-to-sharetest.img> vdb
  • VM1에 루트로 로그인하고 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 사이에서 여러 번 앞뒤로 이동했습니다.

호기심에, 나는 두 개의 가상 머신에 동시에 sharetest.img를 첨부하면 어떤 일이 일어나는지 알아보기로 결정했습니다. 두 개의 가상 머신에 연결하고 설치/제거 명령을 조정하면 됩니다. 불행히도 두 개의 가상 머신에서 이를 사용하여 연결할 수 있었지만 virsh attach-diskSELinux 오류가 발생했고 KVM은 매우 혼란스러워졌으며 게스트 OS가 드라이브를 분리된 것으로 나열했음에도 불구하고 드라이브를 볼 수 없었습니다. 두 시스템 모두에서 드라이브를 분리한 후에도 드라이브를 다시 연결하려고 하면 vdb가 이미 사용 중이라는 메시지가 나타납니다.

요약하자면, 디스크가 한 번에 하나의 가상 머신에만 연결되도록 주의하는 한 가상 머신 간에 디스크를 공유할 수 있습니다.

관련 정보