XFS d_type support
docker 같은 컨테이너 기술에서 파일시스템의 오버레이 기능은 매우 중요하며 필수 기능이다. XFS 파일시스템의 오버레이기능은 directory entry type (d_type) 이라는 기술에 의해 구현된다.
따라서 XFS의 d_type 기능이 활성화 되어야만 사용할 수 있다.
그런데 간혹 XFS파일시스템인데 불구하고 아래처럼 d_type 이 활성화 되어있지 않은 경우가 있다.
xfs_info 명령으로 확인해보면 ftype이 0으로 되어있는 경우
[root@localhost ~]# xfs_info /
meta-data=/dev/mapper/rhel-root isize=256 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0 # <- ftype=0 으로 되어있다.
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
이것은 오래된 RHEL7 시스템의 xfsprogs 버전이 낮아서 발생한 문제이다. (4.5.0 미만 버전)
RHEL 7.0 ~ 7.2 버전의 xfsprogs 버전의 기본값이 ftype=0 이기 때문이다.
해결방법은 새로운 파티션을 만드는 수밖에 없다.