1.8. 공유 스토리지 파일 시스템
클러스터 파일 시스템이라고도 하는 공유 스토리지 파일 시스템은 클러스터의 각 서버가 로컬 SAN(Storage Area Network)을 통해 공유 블록 장치에 직접 액세스할 수 있도록 합니다.
- 네트워크 파일 시스템과 비교
- 클라이언트/서버 파일 시스템과 마찬가지로 공유 스토리지 파일 시스템은 클러스터의 모든 멤버인 서버 집합에서 작동합니다. 그러나 NFS와 달리 단일 서버는 다른 멤버에게 데이터 또는 메타데이터에 대한 액세스를 제공하지 않습니다. 클러스터의 각 멤버는 동일한 스토리지 장치( 공유 스토리지)에 직접 액세스하고 모든 클러스터 멤버 노드는 동일한 파일 집합에 액세스할 수 있습니다.
- 동시성
캐시 일관성은 데이터 일관성과 무결성을 보장하기 위해 클러스터형 파일 시스템의 핵심입니다. 클러스터 내의 모든 노드에 표시되는 모든 파일의 단일 버전이 있어야 합니다. 파일 시스템은 클러스터의 멤버가 동시에 동일한 스토리지 블록을 업데이트하고 데이터 손상을 유발하도록 해야 합니다. 이를 위해 공유 스토리지 파일 시스템은 클러스터 전체 잠금 메커니즘을 사용하여 스토리지에 대한 액세스를 동시성 제어 메커니즘으로 중재합니다. 예를 들어 새 파일을 만들거나 여러 서버에서 열린 파일에 쓰기 전에 서버의 파일 시스템 구성 요소가 올바른 잠금을 가져와야 합니다.
클러스터 파일 시스템의 요구 사항은 Apache 웹 서버와 같이 고가용성 서비스를 제공하는 것입니다. 클러스터의 모든 구성원은 공유 디스크 파일 시스템에 저장된 데이터에 대한 완전히 일관된 보기를 볼 수 있으며 모든 업데이트는 잠금 메커니즘에 의해 올바르게 중재됩니다.
- 성능 특성
공유 디스크 파일 시스템은 잠금 오버헤드의 계산 비용으로 인해 동일한 시스템에서 실행되는 로컬 파일 시스템뿐만 아니라 항상 수행하는 것은 아닙니다. 공유 디스크 파일 시스템은 각 노드가 다른 노드와 공유되지 않거나 노드 집합에서 거의 독점적으로 읽기 전용 방식으로 파일 집합을 공유하는 특정 파일 세트에 거의 독점적으로 쓰는 워크로드와 잘 작동합니다. 이로 인해 최소 노드 간 캐시 무효화가 발생하고 성능을 극대화할 수 있습니다.
공유 디스크 파일 시스템을 설정하는 것은 복잡하며 공유 디스크 파일 시스템에서 제대로 작동하도록 애플리케이션을 튜닝하는 것은 어려울 수 있습니다.