centos docker 파일 크래시

centos 7 docker 환경에서 컨테이너를 실행 및 접속하여 파일을 삭제(이동)후
ls 명령으로 보면 ? 마크로 뭔가 깨진듯 표시된다.

rm .bash
ls -ahl


파일은 지웠지만 ls 해보면 파일에 접근할 수 없다는 메시지가 발생한다.
cannot access .bashrc: No such file or directory

docker info 로 확인해보면 다음과 같이
d_type=false (linux directory type)로 되어 있고
파일 시스템의 ftype=1 로 변경하라는 경고 메시지가 나온다.

...  중략 ...
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: false
 Native Overlay Diff: false
... 중략 ....
WARNING: overlay2: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.
Reformat the filesystem with ftype=1 to enable d_type support.
Running without d_type support will not be supported in future releases.

xfs_info / 으로 확인해보면 현재 ftype=0 인것을 확인 할 수 있다.
... 중략 ...
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

마운트가 되지 않은 파일에 대해서 다음 명령을 실행해 보자.
mkfs.xfs -n ftype=1 /

실제 / 는 마운트되어 mkfs ftype=1 로 변경을 하지 못했다.ㅠ
하지만 ftype=1 으로 d_type=true 인 새 서버에서는 삭제파일이 ? 로되는 문제는 발생하지 않았다.

# 참고
https://linuxer.pro/2017/03/what-is-d_type-and-why-docker-overlayfs-need-it/

comments:

댓글 쓰기