Error: unable to rename (/data/.minio.sys/tmp -> /data/.minio.sys/tmp-old/...) Rename across devices not allowed
FATAL Unable to initialize backend: Rename across devices not allowed
저희는 개발환경에서 S3 대용으로 MinIO를 사용하고 있어 위와 같은 상황을 접하지는 못했지만, Gemini의 설명이 가능성이 있어 보여 첨부해 드립니다. 해결 되시길 바랍니다.
————-
문제의 원인
yaml 파일들을 봤을 때, Error: unable to rename (...) Rename across devices not allowedFATAL Unable to initialize backend: Rename across devices not allowed 오류의 원인은 MinIO 컨테이너가 마운트한 subPath 설정 때문일 가능성이 매우 높습니다.
이 경우, Kubernetes는 /minio 경로를 /minio/minio로 재정의하지 않고, PVC가 제공하는 볼륨의 하위 경로인 /minio 내부의 /minio 디렉토리를 /data로 마운트하게 됩니다.
이러한 subPath 구성은 MinIO가 data 디렉터리와 임시 파일(tmp) 디렉터리를 같은 디스크 파티션 내에서 생성하지 못하게 할 수 있습니다. MinIO는 내부적으로 rename 시스템 호출을 사용하여 파일을 이동하는데, 이 호출은 서로 다른 디바이스(device) 간에는 작동하지 않습니다.
해결 방안
subPath 사용 제거:
가장 간단하고 확실한 해결책입니다. volumeMounts에서 subPath: minio를 제거하여 MinIO가 PVC 전체를 /data로 사용할 수 있도록 합니다.