6. PBS 프룬 & 가비지 컬렉션 (Prune & Garbage Collection)#

VirtOn PBS 프룬 & 가비지 컬렉션 메인

  • 프룬 (Prune)

    • 정의: 설정된 ‘보존 정책(Retention Policy)’에 따라 보관 기간이 만료되었거나 불필요해진 백업 스냅샷(인덱스)의 연결을 끊고 목록에서 지우는 작업입니다.

  • 가비지 컬렉션 (Garbage Collection)

    • 정의: 프룬 작업으로 인해 더 이상 어떤 백업 스냅샷에서도 참조하지 않는(이름표가 모두 떨어진) 실제 데이터 조각(Chunk)들을 디스크에서 찾아 물리적으로 삭제하는 작업입니다.

6.1 작업 정리(Prune) 정책 기능#

VirtOn PBS 프룬 정책

  • 목적

    • PBS 백업 보존 정책(Retention Policy)을 등록/수정/삭제하고, 필요 시 즉시 실행하기 위한 기능입니다.

  • 핵심 동작

    • 정책 저장: PBS prune job 설정을 생성/갱신

    • 정책 목록 조회: 저장된 prune 정책 테이블 표시

    • 정책 선택: 선택한 정책을 폼에 로드(수정 모드)

    • 정책 삭제: 선택 정책 삭제

    • 수동 실행: 선택 정책 기준으로 prune 즉시 실행

    • 상태 확인: 최근 정리 시각/상태/다음 실행 등을 조회


6.1.1 입력 항목별 설명#

  • PBS 서버

    • 대상 PBS 연결 서버 선택

    • 서버 목록은 등록된 PBS 연결 설정 기반으로 로드

  • 데이터스토어

    • prune 대상 datastore

    • 선택 서버의 기본 datastore가 초기값으로 반영

  • 네임스페이스

    • prune 적용 범위 namespace 지정

    • 비우면 Root(- (Root)) 기준

  • 최대 심도 (max-depth)

    • namespace 하위 탐색 깊이

    • 0이면 현재 namespace 기준 동작

VirtOn PBS 프룬 일정

  • 일정 정리 (schedule)

    • cron/preset 스케줄

    • 예: hourly, daily, 02:30, mon..fri *:00

  • 보존 개수(Keep 정책)

    • 최근 보관 (keep-last)

    • 시간당 보관 (keep-hourly)

    • 일별 보관 (keep-daily)

    • 주간 보관 (keep-weekly)

    • 월간 보관 (keep-monthly)

    • 연간 보관 (keep-yearly)

    • 각 조건에 맞는 스냅샷을 남기고 나머지는 prune 대상이 됨

  • 설명 (comment)

    • 운영 메모/정책 설명 텍스트

  • 활성화됨 (enabled)

    • 체크 시 스케줄 활성

    • 해제 시 정책은 남고 실행은 비활성

  • 작업 ID (id)

    • 정책 고유 식별자

    • 비우면 자동 생성

    • 수정 모드에서는 고정(식별자 변경 방지)


5.1.2 모드 동작#

  • 생성 모드

    • 새 정책 저장

    • 작업 ID 직접 입력 가능(또는 자동할당)

  • 수정 모드

    • 기존 정책 값 로드 후 변경사항 저장

    • 작업 ID는 읽기 전용

    • 수정 취소 시 생성 모드로 복귀


6.1.3 실행/운영 포인트#

  • Prune 실행

    • 논리적 정리(참조 제거) 중심

    • 디스크 용량 즉시 회수는 제한적일 수 있음

  • GC와 관계

    • 실제 물리 용량 회수는 GC 단계에서 수행

    • 보통 Prune -> GC 순서 운영 권장

  • 주의

    • 정책값이 공격적으로 설정되면 복구 지점이 급감할 수 있으므로, 운영 기준(일/주/월/년)을 먼저 정하고 적용하는 것이 안전합니다.

6.2 가비지 컬렉션(Garbage Collection) 및 수동 실행 기능#

VirtOn PBS 가비지 컬렉션 수동 실행

  • 목적

    • GC 스케줄을 설정/저장하고, 필요 시 작업 정리(Prune) 또는 가비지 컬렉션(GC)를 즉시 수동 실행합니다.

  • 핵심 동작

    • GC 일정 저장: datastore 기준 GC 스케줄 등록/수정

    • 수동 실행:

      • 작업 정리 실행(Prune 즉시 실행)

      • 가비지 컬렉션 실행(GC 즉시 실행)

    • 실행 추적: UPID 기반 상태/진행률/결과를 실시간 표시(SSE)


6.2.1 입력/표시 항목별 설명#

  • 선택 서버

    • 현재 대상 PBS 서버 표시(읽기용)

  • 데이터스토어

    • GC/수동 실행 대상 datastore 표시(읽기용)

VirtOn PBS 가비지 컬렉션 수동 실행

  • GC 일정

    • 프리셋(없음, hourly, daily, 02:30 등) 또는 직접 입력 선택

    • 직접 입력 선택 시 크론/프리셋 문자열 직접 입력

  • GC 일정 저장 버튼

    • 현재 GC 일정 값을 PBS에 저장

    • 없음 선택 시 스케줄 제거(비활성)


6.2.2 수동 실행 버튼#

  • 작업 정리 실행

    • 저장된 prune 정책(작업 ID 기준)으로 즉시 실행

    • 정책 선택/ID가 없으면 실행 차단

  • 가비지 컬렉션 실행

    • 현재 datastore 대상으로 GC 즉시 실행

    • 실행 후 GC 상태 섹션 재조회


VirtOn PBS 프룬 수동 실행

VirtOn PBS 가비지 컬렉션 수동 실행

6.2.3 실행 상태 카드(최근 작업)#

  • 최근 작업

    • PRUNE 또는 GC

  • UPID

    • PBS 작업 고유 식별자

    • 상태 조회/스트림 추적의 기준 값

  • 상태

    • idle, running, stopped 등

  • 진행률

    • 로그 파싱/SSE 기반 퍼센트 표시

  • 결과

    • OK 또는 실패 코드(exitstatus)

  • 진행 바

    • 0~100% 시각화


6.2.4 동작 흐름#

  1. 서버/데이터스토어 기준으로 대상 확정

  2. 필요 시 GC 일정 저장

  3. 수동 실행(PRUNE 또는 GC)

  4. UPID 수신 후 SSE 스트림 구독

  5. 진행률/상태/결과 갱신

  6. 완료 시 토스트 + GC 상태 재동기화


6.2.5 운영 주의사항#

  • Prune ≠ 즉시 용량 회수

    • prune은 논리 정리, 실제 공간 회수는 GC 단계에서 반영 합니다.

  • 24시간 미만 청크

    • GC 반복 실행해도 즉시 회수되지 않을 수 있습니다.

  • 부하 관리

    • 백업/동기화 시간대와 GC 시간대 분리 권장 합니다.

    • I/O 경합이 큰 환경에서는 수동 GC 남발 지양합니다.

6.3 가비지 컬렉션 상태 및 저장된 작업 정리 정책 목록#

VirtOn PBS 가비지 컬렉션 상태 및 작업 정리 정책 목록 메인

VirtOn PBS 가비지 컬렉션 상태

6.3.1 가비지 컬렉션 상태 (GC Status)#

  • 목적

    • 현재 데이터스토어의 GC 실행 결과와 다음 실행 예정 정보를 한눈에 확인합니다.

  • 표시 항목

    • 일정: GC 스케줄(cron/preset)

    • 최근 GC: 마지막 GC 실행 시각

    • 지속시간: 마지막 GC 작업 소요 시간

    • 최근 상태: 마지막 실행 결과(OK, ERROR 등)

    • 다음 실행: 다음 예약 실행 시각

    • 데이터 제거됨: 마지막 GC에서 실제로 회수된 용량

    • 보류 중인 데이터: 아직 회수되지 않은 후보 데이터 용량

  • 동작 방식

    • 서버/데이터스토어 선택값 기준으로 상태를 조회합니다.

    • GC 수동 실행 완료 후 상태 테이블이 최신 값으로 갱신됩니다.

  • 운영 포인트

    • 데이터 제거됨이 0이어도 비정상은 아닙니다(보존/유예 조건 영향).

    • 보류 중인 데이터가 지속 증가하면 스케줄/보존정책을 점검해야 합니다.


VirtOn PBS 작업 정리 정책 목록

6.3.2 저장된 정책 목록 (Saved Prune Policy List)#

  • 목적

    • 등록된 작업 정리 정책(Prune Job)들을 검색/필터/선택/수정/삭제하기 위한 관리 테이블입니다.

  • 핵심 기능

    • 검색: 작업 ID/데이터스토어/네임스페이스 기준 빠른 검색

    • 필터: 일정/상태 기준 목록 축소

    • 행 선택: 선택된 정책을 폼에 로드해 수정 모드 진입

    • 선택 삭제: 선택한 정책을 삭제(확인 다이얼로그 기반)

  • 표시 컬럼

    • 작업 ID, 데이터스토어, 네임스페이스, 최대 심도

    • 일정, 최근/시간당/일별/주간/월간/연간 보존

    • 최근 정리, 지속시간, 상태, 다음 실행, 코멘트

  • 동작 방식

    • 목록 데이터는 PBS 정책 조회 결과를 기준으로 렌더링됩니다.

    • 행 선택 시 폼은 수정 모드로 전환되고, 취소 시 생성 모드로 복귀합니다.

  • 운영 포인트

    • 정책 저장/수정/삭제 후 목록을 즉시 재조회해 화면-실제 상태를 일치시킵니다.

    • Root 네임스페이스는 UI에서 -(Root)로 표기해 식별성을 유지합니다.


6.3.3 권장 확인 순서 (실무 기준)#

  1. GC 상태에서 최근 상태와 최근 GC 정상 여부 확인

  2. 저장 정책 목록에서 대상 정책의 일정/보존값 검토

  3. 필요 시 정책 수정 후 수동 실행(Prune → GC)

  4. 실행 후 데이터 제거됨, 보류 중인 데이터, 작업 이력 로그까지 확인