로컬 스토리지를 갖춘 Docker Swarm 분산 파일 시스템

로컬 스토리지를 갖춘 Docker Swarm 분산 파일 시스템

다음 시나리오에서 사용할 수 있는 분산 파일 시스템 솔루션/네트워크 파일 시스템을 찾고 있습니다.

  • 많은 호스트가 포함된 Docker Swarm이 있지만 각 호스트는 본질적으로 독립적이며 다른 호스트와 다르지 않습니다. 우리는 단지 스케일링에만 사용합니다. 즉, 각 호스트는 시스템 작동에 필요한 모든 작업자를 실행하며 이상적으로는 시스템에 들어가는 하나의 작업이 시스템을 처음 시작한 호스트에서 완전히 실행된다는 의미입니다.
  • 작업을 처리하는 데는 여러 단계가 있습니다. 각 단계에서는 1~10GB 범위의 대용량 파일이 생성됩니다. 기본적으로 각 호스트의 작업자는 이미 로컬에 저장된 파일에 대해서만 작업합니다.
  • 그러나 때로는 호스트에 과부하가 걸릴 수 있으며 다른 호스트의 작업자가 나머지 처리 단계를 인계받기를 원합니다. 이를 달성하려면 다른 호스트의 작업자가 다른 호스트에 저장된 파일에 투명하게 액세스하는 데 사용할 수 있는 공유 볼륨에 파일을 저장해야 합니다.

즉, 각 호스트는 동일한 "네트워크 볼륨"을 어떤 위치에 마운트하고 현재 호스트에 실제로 저장되는 일부 파일(이 파일은 주로 관련됨)과 다른 호스트에 저장되는 일부 파일을 포함합니다. 그러나 작업자는 대부분(90-95%) 호스트의 로컬 파일에 액세스합니다.

복제가 필요하지 않습니다(파일은 30~60분 동안만 관련되며 그 이후에는 더 이상 필요하지 않습니다).~하지 않다중앙 저장소를 원합니다.

시스템의 처리량은 초당 작업이 아닌 작업당 분 단위로 측정됩니다. 작은 파일이 많은 대신 큰 파일이 거의 없습니다. 또한 파일은 한 번 기록되고 한두 번만 읽혀집니다.

이에 대한 좋은 해결책이 있습니까? GlusterFS, EdgeFS, 및 기타 항목을 살펴봤지만 올바른 선택이 아닌 것 같았습니다 InterPlanetary File System.Ceph

답변1

Docker 엔진 플러그인을 사용하여 완료할 수 있습니다. docker-engine이 지원하는 볼륨 플러그인입니다.

  • Azure 파일 저장소 플러그인
  • BeeGFS 볼륨 플러그인
  • 블록브리지 플러그인
  • Contiv 볼륨 플러그인
  • 호송 플러그인
  • DigitalOcean 블록 스토리지 플러그인
  • DRBD 플러그인
  • 플로커 플러그인
  • Fuxi 볼륨 플러그인
  • gce-docker 플러그인
  • GlusterFS 플러그인
  • Horcrux 볼륨 플러그인
  • HPE 3Par 볼륨 플러그인
  • 무한 볼륨 플러그인
  • IPFS 볼륨 플러그인
  • Keywhiz 플러그인
  • 로컬 지속 플러그인
  • NetApp 플러그인(nDVP)
  • 넷쉐어 플러그인
  • Nimble Storage 볼륨 플러그인
  • 오픈스토리지 플러그인
  • Portworx 볼륨 플러그인
  • Quobyte 볼륨 플러그인
  • REX-Ray 플러그인
  • Virtuozzo Storage 및 Ploop 플러그인
  • VMware vSphere 스토리지 플러그인

자세한 내용은 아래를 참고하세요링크

관련 정보