How to transition Data from MinIO to s3 - cniackz/public GitHub Wiki

Objective:

To show how you can transition data from one place to another using MinIO

Links:

Steps:

  1. Clean up testing volumes:
rm -rf /Volumes/data1/.minio.sys/
rm -rf /Volumes/data1/*
rm -rf /Volumes/data2/.minio.sys/
rm -rf /Volumes/data2/*
  1. Start two MinIO Sites:
MINIO_ROOT_USER=minio MINIO_ROOT_PASSWORD=minio123 minio server /Volumes/data1 --address :9000 --console-address :9001
MINIO_ROOT_USER=minio MINIO_ROOT_PASSWORD=minio123 minio server /Volumes/data2 --address :8000 --console-address :8001
  1. Create aliases and same buckets in both sides:
mc alias set myminio-1 http://localhost:9000 minio minio123
mc alias set myminio-2 http://localhost:8000 minio minio123

mc mb myminio-1/bucket
mc mb myminio-2/bucket
  1. Put some data in site one:
touch a.txt
touch b.txt
mc cp a.txt myminio-1/bucket/a.txt
mc cp b.txt myminio-1/bucket/b.txt
  1. Create the warm tier:
mc ilm tier add s3 myminio-1 WARM-TIER --endpoint http://localhost:8000 --access-key minio --secret-key minio123 --bucket bucket
  1. Create the rule to transition the data from site 1 to site 2:
mc ilm add myminio-1/bucket --transition-days 0 --transition-tier WARM-TIER
$ mc ilm rule ls myminio-1/bucket  
┌───────────────────────────────────────────────────────────────────────────┐
│ Transition for latest version (Transition)                                │
├──────────────────────┬─────────┬────────┬──────┬──────────────┬───────────┤
│ ID                   │ STATUS  │ PREFIX │ TAGS │ DAYS TO TIER │ TIER      │
├──────────────────────┼─────────┼────────┼──────┼──────────────┼───────────┤
│ cgd2r7ts99bm2kgq8gng │ Enabled │ -      │ -    │            0 │ WARM-TIER │
└──────────────────────┴─────────┴────────┴──────┴──────────────┴───────────┘

Conclusion:

This simple exercise shows how you can transition data from one bucket to another based on a rule defined.