Search

오버레이 파일 시스템 마운트

Tags
unix
file-system
mount
overlay
Created
2024/08/31 19:14
Created time
2024/08/31 10:14
category
unix

개요

컨테이너 환경처럼 이미지 지원을 위해선 중복 문제를 해결해야 하고, 이를 위해 오버레이 파일 시스템을 구성
OverlayFS를 정리해둔 글은 여기를 참고

구조

실습은 위와 같은 형태로 구성 예정이며, Lower Dir 1은 이전 실습에서 진행한 /tmp/new_root를 이용하고, Lower Dir 2는 tools 디렉토리를 이용

Lower Dir 2 생성

tools 디렉토리 생성

# tools 디렉토리 생성 mkdir -p /tmp/tools
Shell
복사

which 명령어 복사

# which 명령어 파일 경로 확인 which which # /tmp/tools/usr/bin 디렉토리 생성 mkdir -p /tmp/tools/usr/bin # which 명령어 파일 복사 cp /usr/bin/which /tmp/tools/usr/bin/ # which 명령어 의존 파일 확인 (존재하지 않음) ldd /usr/bin/which
Shell
복사

rm 명령어 복사

# rm 명령어 복사ㅏ which rm # rm 명령어 파일 복사 cp /usr/bin/rm /tmp/tools/usr/bin/ # rm 명령어 의존 파일 확인 ldd /usr/bin/rm # rm 명령어 의존 파일 경로 생성 mkdir -p /tmp/tools/{lib64,lib/x86_64-linux-gnu} # rm 명령어 의존 파일 복사 # linux-vdso.so.1는 가상 라이브러리라서 실제로는 존재하지 않는 파일 cp /lib/x86_64-linux-gnu/libc.so.6 /tmp/tools/lib/x86_64-linux-gnu/ cp /lib64/ld-linux-x86-64.so.2 /tmp/tools/lib64/
Shell
복사

OverlayFS

디렉토리 생성

# /tmp/rootfs 하위의 오버레이 구성 디렉토리를 모두 생성 mkdir -p /tmp/rootfs/{container,work,merge}
Shell
복사
오버레이를 마운트할 디렉토리를 생성

마운트

# /tmp 경로 이동 cd /tmp # 오버레이 마운트 # base image : new_root # lowerdir : tools # upperdir : rootfs/container # workdir : rootfs/work # mergedir : rootfs/merged mount -t overlay overlay -o lowerdir=tools:new_root,upperdir=rootfs/container,workdir=rootfs/work rootfs/merge/ # 오버레이 파일 시스템 마운트 확인 mount | grep rootfs # base image 원본 경로 확인 tree -L 2 new_root/usr # 오버레이 파일 시스템에 base image 반영 여부 확인 tree -L 2 rootfs/merge/usr
Shell
복사

이미지 변경

# /usr/bin/rm을 삭제 rm /tmp/rootfs/merge/usr/bin/rm
Shell
복사
# 이미지의 쓰기 작업이 이뤄지는 upperdir 확인 시, 삭제는 되어 있지 않고 마킹만 되어 있음 ls /tmp/rootfs/container/usr/bin
Shell
복사