프로젝트

일반

사용자 정보

실행

태스크 #12951

여러 볼륨 그룹을 사용하는 경우 gluesys-csi 시나리오 검증

이 헌제님이 2달 전에 추가함. 약 2달 전에 수정됨.

상태:
해결
우선 순위:
보통
담당자:
목표 버전:
시작 시간:
2026/02/09
완료 기한:
2026/02/09 (약 2달 지연)
진척도:

100%

추정 시간:
5:00 시간
발견 버전:
반영 버전:
난이도:
쉬움
중요도:
조력자:
회사:
연락처:
점수:
0.00

설명

목표

  • 현재 gluesys-csi 은 단일 볼륨을 제어하는 방식으로 가이드하고 있다
  • 여러 볼륨 그룹을 사용하는 경우 storageclass 와 gluesys-csi 을 어떤 식으로 구성해야 가능한지 가이드를 만들고, 그에 따른 테스트를 진행하여 검증한다.

다중 gluesys-csi 설치

다중 설치 가능성

csi-driver-lvm을 여러 개 설치하여 VG를 나누는 방향으로 운영 가능합니다.

설치 방법 (namespace별)

# namespace 생성
kubectl create namespace storage-1
kubectl create namespace storage-2

# 내부 registry 로 테스트시 namespace 별 secret 생성
kubectl create secret docker-registry gitlab-regcred --docker-server=registry.gitlab.gluesys.com --docker-username=gitlab-runner --docker-password=gldt-f2kyALfrvGAbDnxsKoSJ --namespace storage-1
kubectl create secret docker-registry gitlab-regcred --docker-server=registry.gitlab.gluesys.com --docker-username=gitlab-runner --docker-password=gldt-f2kyALfrvGAbDnxsKoSJ --namespace storage-2

# Namespace 1 설치
helm install gluesys-csi-1 \
    --namespace storage-1 \
    --set lvm.storageVG='VG1' \
    --set storageClasses.thin.additionalAnnotations."gms\.io/thinpool"="csi-pool1"
    --set lvm.storageVIP='10.0.24.70' \
    --set lvm.driverName='lvm.csi.gms.io1' \
    --set lvm.storageClassStub='gluesys-csi-1' \
    --set lvm.volumeSnapshotClassStub='gluesys-csi-snapshot-1' \
    ./charts/gluesys-csi

# Namespace 2 설치
helm install gluesys-csi-2 \
    --namespace storage-2 \
    --set lvm.storageVG='VG2' \
    --set storageClasses.thin.additionalAnnotations."gms\.io/thinpool"="csi-pool2"
    --set lvm.storageVIP='10.0.24.71' \
    --set lvm.driverName='lvm.csi.gms.io2' \
    --set lvm.storageClassStub='gluesys-csi-2' \
    --set lvm.volumeSnapshotClassStub='gluesys-csi-snapshot-1' \
    ./charts/gluesys-csi

9.3 생성되는 StorageClass

항목 gluesys-csi-1 gluesys-csi-2
StorageClass 이름 gluesys-csi-1-thin gluesys-csi-2-thin
provisioner lvm.csi.gms.io1 lvm.csi.gms.io2
연결된 driver gluesys-csi-1 gluesys-csi-2
VG VG1 VG2
VIP 10.0.24.70 10.0.24.71

9.4 장점

장점 설명
용량 분산 VG별로 별도의 thinpool 관리 가능
장애 격리 한 VG에 장애 발생 시 다른 VG에 영향 없음
성능 분산 여러 AnyStor-E 노드에 부하 분산
애플리케이션 분리 앱/환경별로 별도 스토리지 할당 가능

9.5 제약사항

제약사항 내용
동일 StorageClass 공유 불가 다른 driver가 같은 StorageClass 이름을 사용할 수 없음
앱별 명확한 지정 앱이 사용할 StorageClass를 명확히 지정해야 함
Migration 불가 한 VG에서 다른 VG로 마이그레이션 불가
driverName 충돌 방지 각 csi-driver-lvm은 고유한 driverName 사용 필수
Kasten 백업 각 StorageClass별로 백업 정책 설정 필요

주의사항

항목 내용
Pod와 PVC 동일 namespace PVC가 생성된 namespace의 gluesys-csi만 사용 가능
Cross namespace 사용 불가 Namespace A에서 생성된 PVC는 Namespace A의 gluesys-csi만 접근 가능
StorageClass 지정 각 앱은 사용할 VG에 맞는 StorageClass를 명확히 지정해야 함
초기 단순화 초기에는 단일 gluesys-csi으로 시작하고 필요에 따라 확장 권장
실행

내보내기 Atom PDF

클립보드 이미지 추가 (최대 크기: 50 MB)