Symbolic Link, Bind Mount, Overlayfs

merci·2024년 7월 12일

심볼릭 링크

파일 시스템에서 특정 파일이나 디렉토리에 대한 참조를 제공하는 특수한 파일
유닉스 계열에서 아래 명령어로 생성한다
ln -s [연결하려는 디렉토리] [링크 디렉토리]

시스템 구조를 유지하면서 다양한 위치에서 동일한 파일에 접근하기 위함이다
서버가 /gest 디렉토리를 파일저장소로 바라보고 있는 경우 /usr/test디렉토리를 해당 저장소로 연결시킬 수 있다

ln -s /usr/test gest

/usr/test 디렉토리를 gest 라는 이름으로 연결한다
gest 라는 링크 디렉토리에서 ls 명령어를 쳐보면 test 디렉토리를 볼 수 있다

ll 명령어를 쳐보면 링크이름으로 연결된 디렉토리를 확인할 수 있다

gest -> /usr/test

gest/usr/test의 바로가기 이므로 모든 내역은 /usr/test에 남는다 (추가, 수정, 삭제)
예를들어 gest/test 디렉토리에 추가 및 삭제하면 /usr/test 디렉토리에 반영

링크를 삭제할때는 rm -r gest로 삭제한다

# rm -r gest
rm: remove 심볼릭 링크 'gest'? y



바인드 마운트

Unix 계열 운영체제에서 파일 시스템의 한 디렉토리를 다른 디렉토리에 마운트하는 방법이다

mount --bind [연결하려는 디렉토리] [연결 대상 디렉토리]

바인드 마운트와 심볼릭 링크는 유사하지만 바인드 마운트는 동일한 파일과 디렉토리 구조를 공유한다

아래의 명령어로 /usr/test 디렉토리를 /gest 디렉토리로 마운트한다면

mount --bind /usr/test /gest

기존의 gest 디렉토리의 파일들은 마운트동안 잠깐 보이지 않게된다
gest 디렉토리에 들어가보면 /usr/test 디렉토리의 파일들이 바로 보여진다

심볼릭 링크와 마찬가지로 바인드 마운트에서도 추가 및 삭제를 하면 원본 디렉토리에 반영이 된다

마운트를 해제할 경우

umount /gest

umount: Mounted: target is busy가 발생하면

umount /gest -f -l     # -f: force, -l: lazy



운영중이던 서버에서 마운트된 파일저장소 A가 가득참에 따라 추가로 마운트된 B 저장소를 사용하면서 기존의 A와 B를 함께 볼 수 있는 방법을 찾다가 아래의 방법을 알게되었다

OverlayFs

OverlayFS는 리눅스 커널에서 제공하는 파일 시스템으로
여러 개의 디렉토리를 하나의 통합된 디렉토리 구조로 합쳐서 보여주는 기능을 제공한다

OverlayFS는 두 개 이상의 디렉토리(혹은 파일 시스템)를 겹쳐서 하나의 단일 디렉토리로 제공하는 파일 시스템이다
이를 통해 서로 다른 디렉토리의 파일과 디렉토리를 하나의 통합된 구조로 볼 수 있다

mount -t overlay overlay -o lowerdir=/lowerdir,upperdir=/upperdir,workdir=/workdir /merged

lowerdir는 읽기 전용 디렉토리
upperdir는 읽기/쓰기 전용 디렉토리
workdirupperdir내부의 임시 작업 디렉토리
/merged로 지정된 경로에서 lowerdirupperdir를 함께 볼 수 있다

여기서 지정되는 모든 디렉토리는 오버레이 전에 생성되어 있어야 한다

사용자는 /merged 디렉토리만 조회하면 되고, /upperdir 디렉토리에 파일을 저장하면 된다
여기서 lowerdir, upperdir는 하나의 마운트 드라이브여도 되고 다른 드라이브여도 된다

아래 명령어로 시스템의 오버레이 모듈을 로드할 수 있다

modprobe overlay

로드 확인

lsmod | grep overlay

아래 명령어로 실패한 로그를 확인할 수 있다

dmesg | tail
$ dmesg | tail
overlayfs: workdir and upperdir must reside under the same mount

오버레이 삭제

$ umount [dir_name]

오버레이 확인

# mount | grep overlay
profile
작은것부터

0개의 댓글