Info
2024년에 직접 경험한 내용을 다루고 있습니다.
문제 상황
- Jupyter Notebook을 K8s 환경에 배포하고, PVC를 마운트 한 상태에서
PVC에 있는 파일을 UI 상에서 삭제할 수 없다는 문의가 들어왔습니다.
문제 원인
- Jupyter Notebook UI에서 파일 삭제를 하면 즉시 영구 삭제가 이루어지는 것이 아니라,
휴지통 폴더로 해당 파일을 이동시킵니다. - 이 과정에서
os.rename
함수를 사용하는데, 이 함수는 시작 위치와 도착 위치가 서로 다른 파일 시스템 상에 위치할 경우 작동하지 않습니다.1 - 이 경우는 삭제할 파일이 PVC에 있고, 휴지통 폴더는 Pod 내부에 존재했기 때문에 에러가 발생하고 있었습니다.
해결 방법
os.rename
함수를shutil.move
함수로 교체하거나
shutil.copy
+os.remove
함수 조합을 사용할 수 있습니다.
실제로는 두 번째 방법으로 수정2된 것으로 확인됩니다.- 하지만 문제가 발생한 사내에서는 Jupyter Notebook 버전이 고정되어 있었기 때문에 해결할 수 없었고, 관련된 내용만 공유하는 선에서 끝났습니다.