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