distributed mode로 minIO의 lifecycle 정책이나, read/write가 잘반영이 안되고있었다.
운영환경의 minIO 이전 담당자가 설정을 조금 특이하게 했었다.
즉
MINIO_DISTRIBUTED_NODES = s3-minio-{0...3}.s3-minio-headless.<namespace>.sv.cluster.local
-> 4개 headless서비스만 설정되어있는데,
replica는 또 19개로 설정되어있었다.
실제로 4개 minIO pod 외 나머지 15개 pod는 접근이나 활용이 되지않고있었다.
이를 바로잡기 위해서 여러가지 시도를 해봤다.
0. statefulset scale=0
1.statefulset 수정
MINIO_DISTRIBUTED_NODES = s3-minio-{0...7}.s3-minio-headless.svc.cluster.local
2.statefulset scale=8
erasure coding을 사용하는 minIO특성상 최소 4개의 노드 및 짝수개의 노드구성이 필요해서 8개로 확장해보고자했다.
결과:
error unable to initialize backend: 1st disk is already being used in another erasure deployment. (number of disks specified: 8 but the number of disks found in the 1st disk's format.json: 4)
즉 이미 기존 minIO가 4개짜리 디스크로 구성되어있어서 16개 확장이 불가능하다는것이었다.
그렇다면 남은건 두가지 방법이었다.
1)zone을 나눠서 구성하기
MINIO_DISTRIBUTED_NODES = s3-minio-{0...3}.s3-minio-headless.svc.cluster.local,s3-minio-{4...7}.s3-minio-headless.svc.cluster.local
2)data 백업후 minIO재설치
zone설정은 DR측면에서 좋을지모르나 실제로 이득이 없다고 여겨져서 두번째 방법으로 재설치했다.
'minIO' 카테고리의 다른 글
minIO lifecycle 적용 (0) | 2024.03.10 |
---|---|
minIO셋업 (0) | 2024.03.08 |