korean-docs
Wave Diagnosis
PV 용량 예측

PV Capacity Forecast

가득 찬 PersistentVolume은 가장 조용한 장애 중 하나입니다. 쓰기가 실패하기 시작하고, 데이터베이스가 read-only로 전환되는데, 아무도 미리 알아채지 못합니다. PV Capacity Forecast는 각 볼륨의 사용량을 앞으로 투영하고, 7일과 30일 시점의 스냅샷을 제공해서, 볼륨이 다 차기 전에 확장하거나 정리할 수 있게 합니다.

사이드바에서 Wave Diagnosis 아래 PV Capacity를 여세요. 예측에는 최소 7일치 이력이 필요하며, 클러스터 선택기와 날짜 범위 선택기가 화면 범위를 정합니다.

한눈에 보는 예측

PV Capacity page with the forecast banner, the PV usage and forecast table, the per-PV list, and a per-volume capacity chart

예측 배너. "눈치채기 전에 어떤 PV가 가득 찰까?"에 대한 한 줄 답변입니다. 현재 예측이 켜져 있는 PV 수를 세고, 그 7일, 30일 예측을 보려면 테이블을 확인하라고 안내합니다.

PV Usage Rate & Forecast 테이블. 클러스터별 합산 정보입니다: Active PVs(모니터링 중인 볼륨), 총 Capacity, Used, Available, Current Usage 바, 그리고 클러스터 전체에 대한 **Forecast Usage (7 days)**와 Forecast Usage (30 days) 바입니다.

PV 목록과 PV별 예측

PV Usage Rate Details는 모든 볼륨을 나열하고 원하는 볼륨만 골라 예측할 수 있게 해줍니다. 시간 단위는 All, Hourly, Daily, Weekly, Monthly 중에서 전환합니다.

  • PV List는 각 볼륨을 Namespace, PVC Name, Usage 바(사용량/capacity, 퍼센트 포함)로 보여주며, capacity에 가장 가까운 볼륨이 위에 오도록 정렬됩니다.
  • Forecast 컬럼은 PV별 On / Off 토글입니다. 예측은 opt-in 방식입니다. 볼륨의 토글을 On으로 바꾸면 Wave가 사용량 예측을 시작합니다. 배너가 세는 숫자가 바로 이것이므로, 모든 임시 claim이 아니라 신경 쓰는 볼륨에 대해서만 켤 수 있습니다.
  • PV를 선택하면 차트가 열립니다: 시간에 따른 Capacity(대역)와 Used(선), 그리고 예측을 겹쳐 보여주는 Forecast 토글입니다. 예측 선이 capacity 대역 쪽으로 올라가는 지점이 대략 그 볼륨이 바닥나는 시점입니다.

카운트다운이 아니라 추세를 읽습니다. PV Capacity Forecast는 투영과 7일, 30일 스냅샷을 보여줄 뿐, "며칠 뒤 가득 찬다"는 단일 숫자는 찍지 않습니다. 예측 바가 capacity에 얼마나 가까운지, PV별 선이 얼마나 가파르게 올라가는지로 위험도를 판단하세요.

활용 사례

데이터베이스 장애 방지

데이터베이스는 디스크가 가득 찼을 때 가장 취약합니다. 쓰기가 실패하고, 데이터베이스가 read-only로 전환되고, 트랜잭션이 롤백됩니다. 데이터베이스 볼륨에 예측을 켜두면, 쓰기 실패가 시작되기 훨씬 전에 미리 확장할 수 있고, 장애가 난 뒤 복구할 필요가 없습니다.

로그 스토리지 증가 관리

로그, 메트릭, 감사 기록은 누군가 정리하지 않으면 끝없이 늘어납니다. 로깅과 모니터링 볼륨(Prometheus, Loki 등)에 예측을 걸어두면, 꾸준한 증가가 언제 디스크를 고갈시킬지 알려줘서 파이프라인이 멈추는 순간이 아니라 원하는 시점에 확장하거나, 로테이션하거나, 아카이브할 수 있습니다.

데이터 집약적 워크로드 지원

ML 학습 체크포인트, 분석 중간 산출물, 미디어 처리 파일은 빠르고 예측하기 어렵게 볼륨을 채웁니다. 이런 작업이 쓰는 볼륨에 예측을 걸어두면, 디스크가 가득 차서 오래 걸리는 작업이 도중에 죽는 일을 막을 수 있습니다.

예측이 스토리지 위험을 보여줄 때 할 일

예측이 용량 쪽으로 향한다면, 워크로드에 맞는 방법을 고르세요.

  • 손댈 필요 없이 무중단으로 늘리려면 PV Auto Expansion을 켜세요. 사용량이 설정한 임계값을 넘으면 Wave가 볼륨이 가득 차기 전에 자동으로 확장합니다. PV Auto Expansion을 참고하세요.

  • 한 번만 늘리면 된다면 PVC를 수동으로 확장하세요. storage class가 확장을 지원하는지 확인한 뒤 request를 올립니다.

    kubectl patch pvc <pvc-name> -p '{"spec":{"resources":{"requests":{"storage":"200Gi"}}}}'

    이 방법은 allowVolumeExpansion: true인 storage class가 필요합니다. 없다면 더 큰 볼륨을 새로 만들어 데이터를 마이그레이션해야 합니다.

  • 굳이 유지할 필요 없는 데이터로 가득 찬 볼륨이라면 정리하거나 아카이브하세요. 로그 로테이션을 추가하고, 콜드 데이터를 오브젝트 스토리지로 옮기고, 공간이 다시 차지 않도록 주기적인 정리를 예약하세요.

관련 문서