longhorn: snapshot-purge 임시 cron 회수 (1.11.2 fix 적용 후 의미 소멸)

This commit is contained in:
heimdall
2026-05-09 20:37:13 +09:00
parent 02a9b9dfd8
commit 81e270a90f
2 changed files with 72 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
---
title: Longhorn 분산 블록 스토리지
updated: 2026-05-07
updated: 2026-05-09
tags: [infra, platform, longhorn, storage, k3s]
---
@@ -57,13 +57,13 @@ defaultSettings:
- 복구 시 주의: `longhorn.io/fromBackup` annotation은 Longhorn v1.8+ CSI에서 무시됨 → Volume CR 직접 생성 후 `longhorn-static` SC PV 만드는 절차. 상세 [[../data/k3s-backup|k3s-backup]]
- 주기 백업 라벨 키는 **대시 포함**: `recurring-job-group.longhorn.io/<group>=enabled` (과거 오타 이슈 [[../../history/2026-04-15-longhorn-backup-label-typo|history]])
## Stuck snapshot 임시 cron (v1.11.1 워크어라운드 — 회수 대상)
## Stuck snapshot 임시 cron (v1.11.1 워크어라운드 — 2026-05-09 회수 완료)
> **상태 (2026-05-07): v1.11.2 업그레이드로 fix 적용됨** — 업그레이드 직후 stuck CR 12개 자연 cleanup, 23:00 UTC RecurringJob 사이클부터 신규 Warning 0건. 임시 cron 은 **회수 대상**. ArgoCD `longhorn-snapshot-purge` Application 만 삭제, chart 디렉토리는 repo 보존 (재현 시 재활용 가능).
> **상태 (2026-05-09): 회수 완료**. ArgoCD Application `longhorn-snapshot-purge` 삭제 (cascade prune 으로 CronJob / SA / Role / RoleBinding 자동 정리). helm-charts repo 의 chart 디렉토리는 재현 시 재활용 위해 **보존**. 회수 5분 사후 관측 신규 Warning / stuck CR 0건.
v1.11.1 instance-manager 재시작 후 일부 snapshot CR 이 `status.markRemoved=true && status.readyToUse=false && status.ownerID=""` 상태로 멈췄다. ownerId 가 비어 longhorn-manager 가 reconcile 못 했고, 수동 `kubectl delete` / finalizer patch 시 admission webhook 이 finalizer 를 즉시 재추가해 정리 불가다.
(과거 기록) v1.11.1 instance-manager 재시작 후 일부 snapshot CR 이 `status.markRemoved=true && status.readyToUse=false && status.ownerID=""` 상태로 멈췄다. ownerId 가 비어 longhorn-manager 가 reconcile 못 했고, 수동 `kubectl delete` / finalizer patch 시 admission webhook 이 finalizer 를 즉시 재추가해 정리 불가다.
근본 fix 는 **v1.11.2 백포트 [#12856](https://github.com/longhorn/longhorn/issues/12856)**. 그 전까지 임시로 snapshotPurge API 를 cron 으로 자동 호출해 engine 단 chain cleanup 을 주기 트리거했다.
근본 fix 는 **v1.11.2 백포트 [#12856](https://github.com/longhorn/longhorn/issues/12856)** (2026-05-07 적용). 그 전까지 임시로 snapshotPurge API 를 cron 으로 자동 호출해 engine 단 chain cleanup 을 주기 트리거했다.
### 구성
@@ -102,7 +102,7 @@ kubectl -n longhorn-system logs -l job-name --tail=50 --selector='batch.kubernet
kubectl get snapshots.longhorn.io -A -o json | jq '[.items[] | select(.status.markRemoved == true and .status.readyToUse == false)] | length'
```
상세 도입 기록: [[../../history/2026-05-02-longhorn-snapshot-purge-cron|2026-05-02 도입]] / [[../../history/2026-05-07-longhorn-1-11-2-upgrade|2026-05-07 fix 적용]]
상세 도입 기록: [[../../history/2026-05-02-longhorn-snapshot-purge-cron|2026-05-02 도입]] / [[../../history/2026-05-07-longhorn-1-11-2-upgrade|2026-05-07 fix 적용]] / [[../../history/2026-05-09-longhorn-snapshot-purge-cron-removal|2026-05-09 회수]]
## 업그레이드 절차 (표준)