5장. 로컬 스토리지를 사용하는 영구 스토리지
5.1. 로컬 스토리지 개요 링크 복사링크가 클립보드에 복사되었습니다!
다음 솔루션을 사용하여 로컬 스토리지를 프로비저닝할 수 있습니다.
- HostPath Provisioner (HPP)
- LSO(Local Storage Operator)
- LVM(Logical Volume Manager) 스토리지
이러한 솔루션은 노드 로컬 스토리지 프로비저닝만 지원합니다. 워크로드는 스토리지를 제공하는 노드에 바인딩됩니다. 노드를 사용할 수 없게 되면 워크로드도 사용할 수 없게 됩니다. 노드 장애에도 불구하고 워크로드 가용성을 유지하려면 활성 또는 수동 복제 메커니즘을 통해 스토리지 데이터 복제를 확인해야 합니다.
5.1.1. HostPath Provisioner 기능 개요 링크 복사링크가 클립보드에 복사되었습니다!
HPP(HostPath Provisioner)를 사용하여 다음 작업을 수행할 수 있습니다.
- 로컬 스토리지를 프로비저닝하기 위해 호스트 파일 시스템 경로를 스토리지 클래스에 매핑합니다.
- 스토리지 사용을 위해 노드에서 파일 시스템 경로를 구성하는 스토리지 클래스를 정적으로 생성합니다.
- 스토리지 클래스를 기반으로 영구 볼륨(PV)을 정적으로 프로비저닝합니다.
- 기본 스토리지 토폴로지를 인식하는 동안 워크로드 및 PVC(영구 볼륨)를 생성합니다.
HPP는 업스트림 Kubernetes에서 사용할 수 있습니다. 그러나 업스트림 Kubernetes에서 HPP를 사용하지 않는 것이 좋습니다.
5.1.2. Local Storage Operator 기능 개요 링크 복사링크가 클립보드에 복사되었습니다!
LSO(Local Storage Operator)를 사용하여 다음 작업을 수행할 수 있습니다.
- 장치 구성을 수정하지 않고 스토리지 장치(디스크 또는 파티션)를 스토리지 클래스에 할당합니다.
-
LocalVolume
CR(사용자 정의 리소스)을 구성하여 PV 및 스토리지 클래스를 정적으로 프로비저닝합니다. - 기본 스토리지 토폴로지를 인식하는 동안 워크로드 및 PVC를 생성합니다.
LSO는 Red Hat에서 개발하고 제공합니다.
5.1.3. LVM 스토리지 기능 개요 링크 복사링크가 클립보드에 복사되었습니다!
LVM(Logical Volume Manager) 스토리지를 사용하여 다음 작업을 수행할 수 있습니다.
- 스토리지 장치(디스크 또는 파티션)를 lvm2 볼륨 그룹으로 구성하고 볼륨 그룹을 스토리지 클래스로 노출합니다.
- 노드 토폴로지를 고려하지 않고 PVC를 사용하여 워크로드를 생성하고 스토리지를 요청합니다.
LVM 스토리지는 TopoLVM CSI 드라이버를 사용하여 토폴로지의 노드에 스토리지 공간을 동적으로 할당하고 PV를 프로비저닝합니다.
LVM 스토리지는 Red Hat에서 개발하고 유지 관리합니다. LVM Storage와 함께 제공되는 CSI 드라이버는 업스트림 프로젝트 "topolvm"입니다.
5.1.4. LVM 스토리지, LSO 및 HPP 비교 링크 복사링크가 클립보드에 복사되었습니다!
다음 섹션에서는 로컬 스토리지를 프로비저닝하는 LVM Storage, LSO(Local Storage Operator) 및 HPP(HostPath Provisioner)에서 제공하는 기능을 비교합니다.
5.1.4.1. 스토리지 유형 및 파일 시스템에 대한 지원 비교 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에서는 LVM 스토리지, LSO(Local Storage Operator) 및 HPP(HostPath Provisioner)에서 제공하는 스토리지 유형 및 파일 시스템에 대한 지원을 비교하여 로컬 스토리지를 프로비저닝합니다.
기능 | LVM 스토리지 | LSO | HPP |
---|---|---|---|
블록 스토리지 지원 | 예 | 제공됨 | 없음 |
파일 스토리지 지원 | 제공됨 | 제공됨 | 제공됨 |
오브젝트 스토리지 지원 [1] | 없음 | 없음 | 없음 |
사용 가능한 파일 시스템 |
|
| 노드에서 사용 가능한 마운트된 시스템이 지원됩니다. |
-
어떤 솔루션(LVM Storage, LSO 및 HPP)은 개체 스토리지를 지원하지 않습니다. 따라서 오브젝트 스토리지를 사용하려면 Red Hat OpenShift Data Foundation의
MultiClusterGateway
와 같은 S3 오브젝트 스토리지 솔루션이 필요합니다. 모든 솔루션은 S3 오브젝트 스토리지 솔루션의 기본 스토리지 공급자 역할을 할 수 있습니다.
5.1.4.2. 핵심 기능에 대한 지원 비교 링크 복사링크가 클립보드에 복사되었습니다!
다음 표는 LVM 스토리지, LSO(Local Storage Operator) 및 HPP(HostPath Provisioner)가 로컬 스토리지 프로비저닝을 위한 핵심 기능을 지원하는 방법을 비교합니다.
기능 | LVM 스토리지 | LSO | HPP |
---|---|---|---|
자동 파일 시스템 포맷 지원 | 제공됨 | 제공됨 | 해당 없음 |
동적 프로비저닝 지원 | 제공됨 | 없음 | 없음 |
RAID(Redundant Array of Independent Disks) 어레이 사용 지원 | 제공됨 4.15 이상에서 지원됩니다. | 제공됨 | 제공됨 |
투명한 디스크 암호화 지원 | 제공됨 4.16 이상에서 지원됩니다. | 제공됨 | 제공됨 |
볼륨 기반 디스크 암호화 지원 | 없음 | 없음 | 아니요 |
연결이 끊긴 설치 지원 | 제공됨 | 제공됨 | 제공됨 |
PVC 확장 지원 | 제공됨 | 없음 | 없음 |
볼륨 스냅샷 및 볼륨 복제 지원 | 제공됨 | 없음 | 없음 |
씬 프로비저닝 지원 | 제공됨 장치는 기본적으로 씬 프로비저닝됩니다. | 제공됨 씬 프로비저닝된 볼륨을 가리키도록 장치를 구성할 수 있습니다. | 제공됨 씬 프로비저닝된 볼륨을 가리키도록 경로를 구성할 수 있습니다. |
자동 디스크 검색 및 설정 지원 | 제공됨
자동 디스크 검색은 설치 및 런타임 중에 사용할 수 있습니다. | 기술 프리뷰 자동 디스크 검색은 설치 중에 사용할 수 있습니다. | 없음 |
5.1.4.3. 성능 및 격리 기능 비교 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에서는 로컬 스토리지 프로비저닝의 LVM Storage, LSO(Local Storage Operator) 및 HPP(HostPath Provisioner)의 성능 및 격리 기능을 비교합니다.
기능 | LVM 스토리지 | LSO | HPP |
---|---|---|---|
성능 | 동일한 스토리지 클래스를 사용하는 모든 워크로드에 대해 I/O 속도가 공유됩니다. 블록 스토리지를 사용하면 직접 I/O 작업을 수행할 수 있습니다. 씬 프로비저닝은 성능에 영향을 미칠 수 있습니다. | I/O는 LSO 구성에 따라 다릅니다. 블록 스토리지를 사용하면 직접 I/O 작업을 수행할 수 있습니다. | 동일한 스토리지 클래스를 사용하는 모든 워크로드에 대해 I/O 속도가 공유됩니다. 기본 파일 시스템에 의해 부과되는 제한 사항은 I/O 속도에 영향을 미칠 수 있습니다. |
격리 경계 [1] | LVM 논리 볼륨(LV) HPP에 비해 높은 수준의 격리를 제공합니다. | LVM 논리 볼륨(LV) HPP에 비해 높은 수준의 격리를 제공합니다. | 파일 시스템 경로 LSO 및 LVM 스토리지에 비해 낮은 수준의 격리를 제공합니다. |
- 격리 경계는 로컬 스토리지 리소스를 사용하는 다양한 워크로드 또는 애플리케이션 간의 분리 수준을 나타냅니다.
5.1.4.4. 추가 기능에 대한 지원 비교 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에서는 로컬 스토리지를 프로비저닝하기 위해 LVM Storage, LSO(Local Storage Operator) 및 HPP(HostPath Provisioner)에서 제공하는 추가 기능을 비교합니다.
기능 | LVM 스토리지 | LSO | HPP |
---|---|---|---|
일반 임시 볼륨 지원 | 제공됨 | 없음 | 없음 |
CSI 인라인 임시 볼륨 지원 | 없음 | 없음 | 없음 |
스토리지 토폴로지 지원 | 제공됨 CSI 노드 토폴로지 지원 | 제공됨 LSO는 노드 허용 오차를 통해 스토리지 토폴로지에 대한 부분적인 지원을 제공합니다. | 없음 |
RWX( | 없음 | 없음 | 없음 |
-
모든 솔루션(LVM Storage, LSO 및 HPP)에는 RWO(
ReadWriteOnce
) 액세스 모드가 있습니다. RWO 액세스 모드를 사용하면 동일한 노드의 여러 Pod에서 액세스할 수 있습니다.