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:
- https://min.io/product/automated-data-tiering-lifecycle-management
- https://min.io/docs/minio/linux/reference/minio-mc/mc-ilm.html
Steps:
- Clean up testing volumes:
rm -rf /Volumes/data1/.minio.sys/
rm -rf /Volumes/data1/*
rm -rf /Volumes/data2/.minio.sys/
rm -rf /Volumes/data2/*
- 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
- 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
- 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
- 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
- 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.