MinIO AIStor에서 정보 수명 주기 관리(ILM)를 설정하는 mc ilm rule add 명령어는 고성능 인프라 비용 최적화와 데이터 거버넌스 규정 준수를 위해 매우 중요합니다.
제공해주신 AIStor 공식 문서의 옵션들을 기반으로, 실제 기업 환경에서 자주 쓰이는 5가지 대표적인 비즈니스 유스케이스(Business Case)별 옵션 조합을 정리해 드립니다.
--transition-days, --transition-tier, --expire-daysmc ilm rule add \
--prefix "raw-dataset/" \
--transition-days 30 --transition-tier "COLDTIER" \
--expire-days 365 \
myaistor/ai-data
raw-dataset/ 경로의 파일은 생성 30일 후 COLDTIER(외부 S3 등)로 자동 이관(Transition)되어 AIStor의 고성능 NVMe 공간을 확보하고, 365일이 되면 완전히 영구 삭제(Expire)됩니다.Current)은 실시간 서비스해야 하므로 항상 고성능 레이어에 유지하지만, 수정되어 밀려난 이전 버전(Non-current) 데이터는 7일만 지나면 백업용 스토리지로 넘기고, 이전 버전이 된 지 30일이 지나면 불필요하므로 삭제합니다.--noncurrent-transition-days, --noncurrent-transition-tier, --noncurrent-expire-daysmc ilm rule add \
--prefix "media-assets/" \
--noncurrent-transition-days 7 --noncurrent-transition-tier "BACKUPTIER" \
--noncurrent-expire-days 30 \
myaistor/web-content
--size-gt, --transition-days, --transition-tiermc ilm rule add \
--prefix "reports/" \
--size-gt 1MiB \
--transition-days 90 --transition-tier "COMPLIANCE-TIER" \
myaistor/finance-doc
reports/ 폴더 내의 파일 중 크기가 1MiB를 초과하는 대용량 객체만 필터링하여 90일 후에 지정된 티어로 안전하게 이관합니다. 소용량 파일로 인한 인덱싱 과부하 및 불필요한 티어링 비용을 방지합니다.--prefix)와 상관없이, 데이터에 부여된 메타데이터 태그를 기반으로 수명 주기를 제어하고 싶습니다. 예를 들어 개발팀이 테스트용으로 적재하여 Environment=Test 태그가 붙은 임시 데이터는 14일 뒤 자동 삭제되도록 설정합니다.--tags, --expire-daysmc ilm rule add \
--tags "Environment=Test" \
--expire-days 14 \
myaistor/project-bucket
Environment=Test 태그를 가진 객체만 생성 14일 후에 자동 폐기합니다. 마이크로서비스 환경에서 임시 파이프라인 데이터를 청소할 때 매우 유용합니다.Delete Marker(삭제 마커)라는 일종의 유령 버전이 생성됩니다. 애플리케이션이 수많은 파일을 생성했다가 지우기를 반복하면 이 마커들 때문에 리스트 조회 성능이 떨어집니다. 더 이상 하위 버전이 존재하지 않는 순수 Delete Marker만 찾아 지우고 싶습니다.--expire-delete-marker (또는 과거 버전의 대안인 --purge-all-object-versions-delete-marker)mc ilm rule add \
--expire-delete-marker \
myaistor/high-traffic-bucket
Delete Marker들을 MinIO 스캐너가 추적하여 깔끔하게 지워줍니다. 스토리지 메타데이터 성능 최적화에 필수적인 조합입니다.--transition-days + --transition-tier 조합으로 무조건 원격 스토리지로 밀어내기.--expire-days 혹은 --purge-all-object-versions-days 조합으로 완전 삭제 주기 지정.--prefix (경로), --tags (태그), --size-gt / --size-lt (용량 크기) 플래그를 위 명령어들에 조합하여 타겟팅 대상을 좁힐 수 있습니다.