콘텐츠로 이동

2026 03 12

2026-03-12

ES 저장용량 개념

  • 인덱스 & 샤드
    • Index: 데이터를 모아두는 하나의 카테고리 (테이블)
    • Primary Shard: 해당 Index의 데이터를 하나의 저장소에 다 담을 수 없어서 여러개의 저장소에 나누어 담는데, 원본 저장소 하나하나를 프라이머리 샤드라고 지칭
    • Replica Shard: Shard 하나를 분실할것을 대비해 복사본을 만들어두는 백업 샤드
    • 다만 키바나 설정에서 인덱스 - Primaries/Replicas)
      • Primaries: 8
      • Replicas: 1
      • 이렇게 작성되어 있으면, 각 Replica가 한개라는 것이 아닌, 각 Primary Shard에 해당 하는 Replica가 한개씩 있다는 것.
  • Shard는 논리적인 단위다
    • 물리 서버가 몇대가 있던지, 인덱스 템플릿에서 Primary Shard를 8대로 설정하면 인덱스 데이터를 8개로 찢어서 물리 서버에 고루 저장
  • 디스크 사용률 산정 방법
    • Watermark)
      • ES는 디스크가 꽉 차서 서버가 죽는 것을 막기 위해 스스로 방어선을 치고 있음
      • Low Watermark(85%): 더 이상 해당 노드에 새로운 샤드를 배정하지 않음
      • High Watermark(90%): 억지로 다른 노드로 샤드를 뺌 <- 성능저하 발생
      • Flood Stage(95%): 데이터를 쓰지 못하게 읽기 전용으로 락을 걸어버림
    • 일일 데이터 증가량)
      • 그라파나에서 최근 7일/30일을 두고 전체 데이터 용량이 하루 평균 몇 GB 늘어나는지 확인
    • 데이터 보관 주기)
      • 일일 데이터 증가량 * 보관 일수 = 필요한 데이터 최대치
    • Replica와 OS 공간)
      • 순수 데이터의 2배 가량 산정하고, OS에게 15~20% 여유공간 주자