공유 블록 장치 파일 시스템(네트워킹이 없는 클러스터 파일 시스템)

공유 블록 장치 파일 시스템(네트워킹이 없는 클러스터 파일 시스템)

여러 번 마운트할 수 있고 Linux용 동시 파일 액세스를 지원하는 파일 시스템이 있습니까? 기본적으로 저는 클러스터 파일 시스템과 같은 것을 원하지만 분산 잠금 관리자를 위해 실행 중인 네트워크가 필요하지 않습니다. 이는 네트워크 링크를 생성할 필요 없이 호스트나 다른 VM과 데이터를 공유할 수 있는 가상 머신과 관련하여 매우 편리할 수 있습니다. 이는 네트워크 아키텍처를 안전하게 유지(DMZ의 가상 머신)하는 것을 피하고 대용량 파일을 공유하고 싶습니다. 확장할 필요가 없으며 동일한 블록 장치를 탑재하는 두 대의 머신만 있으면 됩니다.

디스크에 바로 파일 잠금 정보를 갖는 것이 가능하지 않습니까?

답변1

N개의 VM을 제공하고 동일한 블록 장치에 대한 액세스 권한을 부여할 수 있지만 읽기 전용만 가능하다고 생각합니다. 당신은 추측이라는 단어를 주목합니다.

이제 다른 VM을 캐싱하는 디스크가 유효하지 않게 되므로 VM 중 하나라도 수정을 시작하면 상황이 빠르게 무너집니다.

디스크에 파일 잠금 정보를 저장하는 것의 어려움은 아직 아무도 그렇게 하지 않았다는 것입니다. 깊은 생각 없이 디스크에서 원자성 읽기/수정/쓰기 트랜잭션이라는 아이디어가 아마도 기본 문제일 것입니다.

이미 다중 스레드로 구성된 일반적인 파일 시스템을 사용하여 잠금이 사용되는 위치를 파악하고 이를 디스크에서 일종의 읽기/수정/쓰기 작업으로 변경할 수 있을 것 같습니다.

디스크 읽기/수정/쓰기의 또 다른 문제는 잠금을 많이 수행하면 디스크의 모든 변경 사항에 다음이 필요하기 때문에 성능이 매우 나빠진다는 것입니다.

  • 디스크 잠금(검색, 읽기/수정/쓰기)
  • 변경하려는 섹터 읽기(검색/읽기)
  • 변경하고 쓰기(쓰기)
  • 디스크 잠금 해제(검색, 읽기/수정/쓰기)

아마도 도움이 되지 않을 수도 있지만 네트워킹을 정말로 원하지 않는다면 BSD Jails와 같은 것을 좀 더 가벼운 VM 시스템으로 살펴보겠습니다.

답변2

내 질문에 대한 답변을 드리자면, (반)가상화 상황에서는 인스턴스 간 네트워크 없이 파일을 공유하는 데 사용할 수 있는 일부 공유 파일 시스템이 발전하고 있습니다. XenFS는 활발하게 개발되지 않는 접근 방식 중 하나라고 생각합니다. 그러나 KVM과 곧 XEN에도 virtio 라이브러리를 기반으로 하는 폴더 공유 메커니즘이 있습니다.9p_virtio.

관련 정보