27.3. Red Hat Gluster Storage를 사용하는 영구 스토리지
27.3.1. 개요
OpenShift Container Platform에 영구 스토리지 및 동적 프로비저닝을 제공하도록 Red Hat Gluster Storage를 구성할 수 있습니다. OpenShift Container Platform(통합 모드) 내에서 컨테이너화되고 자체 노드(독립모드)에서 컨테이너화되지 않을 수 있습니다.
27.3.1.1. 통합 모드
통합 모드를 사용하면 Red Hat Gluster Storage가 OpenShift Container Platform 노드에서 직접 컨테이너화됩니다. 이를 통해 계산 및 스토리지 인스턴스를 동일한 하드웨어 집합에서 예약하고 실행할 수 있습니다.
그림 27.1. 아키텍처 - 통합 모드
통합 모드는 Red Hat Gluster Storage 3.4에서 사용할 수 있습니다. 추가 설명서는 OpenShift Container Platform의 통합 모드를 참조하십시오.
27.3.1.2. 독립 모드
독립 모드를 사용하면 Red Hat Gluster Storage는 자체 전용 노드에서 실행되며 GlusterFS 볼륨 관리 REST 서비스인 heketi 인스턴스에서 관리합니다. 이 heketi 서비스는 독립 실행형이 아닌 컨테이너화된 상태로 실행해야 합니다. 컨테이너화를 통해 서비스에 고가용성을 제공하는 쉬운 메커니즘을 사용할 수 있습니다. 이 문서에서는 컨테이너화된 heketi 구성을 중점적으로 설명합니다.
27.3.1.3. 독립형 Red Hat Gluster Storage
사용자 환경에서 독립 실행형 Red Hat Gluster Storage 클러스터를 사용할 수 있는 경우 OpenShift Container Platform의 GlusterFS 볼륨 플러그인을 사용하여 해당 클러스터에서 볼륨을 사용할 수 있습니다. 이 솔루션은 애플리케이션이 전용 계산 노드, OpenShift Container Platform 클러스터 및 자체 전용 노드에서 스토리지를 제공하는 일반적인 배포입니다.
그림 27.2. 아키텍처 - OpenShift Container Platform의 GlusterFS 볼륨 플러그인을 사용하는 독립 실행형 Red Hat Gluster Storage 클러스터
Red Hat Gluster Storage에 대한 자세한 내용은 Red Hat Gluster Storage 설치 가이드 및 Red Hat Gluster Storage 관리 가이드를 참조하십시오.
인프라의 스토리지의 고가용성은 기본 스토리지 공급자가 담당합니다.
27.3.1.4. GlusterFS 볼륨
GlusterFS 볼륨은 POSIX 호환 파일 시스템을 제공하며 클러스터의 하나 이상의 노드에서 하나 이상의 "bricks"로 구성됩니다. brick은 지정된 스토리지 노드의 디렉터리이며 일반적으로 블록 스토리지 장치의 마운트 지점입니다. GlusterFS는 해당 볼륨 구성별로 지정된 볼륨의 brick에서 파일의 배포 및 복제를 처리합니다.
create, delete 및 resize와 같은 대부분의 일반적인 볼륨 관리 작업에 heketi를 사용하는 것이 좋습니다. OpenShift Container Platform은 GlusterFS 프로비저너를 사용할 때 heketi가 존재할 것으로 예상합니다. 기본적으로 heketi는 3개의 배열 복제본인 볼륨을 생성합니다. 이 볼륨은 각 파일에 3개의 서로 다른 노드에 세 개의 복사본이 있는 볼륨입니다. 따라서 heketi에서 사용할 모든 Red Hat Gluster Storage 클러스터에 3개 이상의 노드를 사용할 수 있는 것이 좋습니다.
GlusterFS 볼륨에 사용할 수 있는 많은 기능이 있지만 이 설명서의 범위를 벗어납니다.
27.3.1.5. Gluster-block 볼륨
Gluster-block 볼륨은 iSCSI를 통해 마운트할 수 있는 볼륨입니다. 이 작업은 기존 GlusterFS 볼륨에 파일을 만든 다음 iSCSI 대상을 통해 해당 파일을 블록 장치로 제공하여 수행됩니다. 이러한 GlusterFS 볼륨을 블록 호스팅 볼륨이라고 합니다.
Gluster-block 볼륨은 일종의 장단점이 있습니다. iSCSI 대상으로 사용되기 때문에 gluster-block 볼륨은 여러 노드/클라이언트에서 마운트할 수 있는 GlusterFS 볼륨과 달리 한 번에 하나의 노드/클라이언트만 마운트할 수 있습니다. 그러나 백엔드에 파일이 있으면 GlusterFS 볼륨에 일반적으로 비용이 많이 드는 작업(예: 메타데이터 조회)을 GlusterFS 볼륨(예: 읽기 및 쓰기)에서 훨씬 더 빠른 작업으로 변환할 수 있습니다. 이로 인해 특정 워크로드에 대해 잠재적으로 성능이 크게 향상됩니다.
OpenShift Container Storage 및 OpenShift Container Platform 상호 운용성에 대한 자세한 내용은 링크를 참조하십시오. OpenShift Container Storage 및 OpenShift Container Platform 상호 운용성 매트릭스.
27.3.1.6. Gluster S3 스토리지
Gluster S3 서비스를 사용하면 사용자 애플리케이션이 S3 인터페이스를 통해 GlusterFS 스토리지에 액세스할 수 있습니다. 서비스는 두 개의 GlusterFS 볼륨에 바인딩합니다. 하나는 개체 데이터와 오브젝트 메타데이터용용이며, 수신되는 S3 REST 요청을 볼륨의 파일 시스템 작업으로 변환합니다. 서비스를 OpenShift Container Platform 내에서 포드로 실행하는 것이 좋습니다.
현재 Gluster S3 서비스의 사용 및 설치는 기술 검토 단계에 있습니다.