ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker) Union file system의 OverlayFS 실습해보기
    Cloud/Docker 2022. 9. 28. 01:41
    실습 환경 : AWS console (2022/09), Visual Studio Code, Xshell7
    실습 목적 : Union file system을 지원하는 OverlayFS 를 알아보고 실습해본다.

    Union file system

     

    • 하나의 디렉토리 위치에 여러개의 디렉토리를 마운트하면, 하나의 통합된 디렉토리처럼 보이게하는 파일 시스템
    • Docker Image와  Docker container가 union file system 기반으로 관리되고 있다.
    • Image layer 특징을 가진다. (마지막 레이어(RW)를  제외하고 다른 레이어들은 Read-only 성격을 갖는다.)
    • Copy-on-write (COW) 특징을 가진다. (변경된 내용만 저장한다.)


    OverlayFS

    Docker에서 사용하는 파일시스템

    • OverlayFS는 하나의 파일시스템을 다른 파일시스템 상단에 overlay한다.
    • 하단 파일시스템에 상관없이 구성가능 (단, RedHat계열 Linux배포판 에서는 XFS만 하단 파일 시스템으로 지원)
    • lowerdir (Image layer) : Read-only 영역으로, 쓰기 불가능한영역이다. Docker Image 파일의 구조이기도 하다.
    • upperdir (Container layer) : Read-Write 영역으로, 쓰기가능 영역이다. Docker container 생성시 Application에 의해 쓰기 되는 영역이다.


    OverlayFS 파일시스템 구성해보기


    1. /tmp 디렉토리에 lower1, lower2, upper, merged, work 디렉토리 생성
    # 여러 디렉토리 생성
    mkdir /tmp/{lower1,lower2,upper,merged,work}​

    2. lower1, lower2 디렉토리에 파일 생성

    echo “lower1 a” /tmp/lower1/a.txt
    echo “lower1 b” /tmp/lower1/b.txt
    echo “lower1 a” /tmp/lower2/a.txt
    echo “lower1 b” /tmp/lower2/b.txt

    3. 읽기 전용 overlay 생성
        -  /tmp/merged 디렉토리는 읽기 전용이므로 새로운 내용을 추가할 수 없다.

    sudo mount -t overlay overlay -o lowerdir=/tmp/lower1:/tmp/lower2 /tmp/merged
    
    # overlay : 마운트 파일 시스템
    # /tmp/merged : 마운트 포인트
    # /tmp/lower1:/tmp/lower2 : lowerdir

    4. merged 마운트 정보 확인

    mount | grep merged


    5. 읽기/쓰기 가능한 overlay 생성
        -  /tmp/merged 디렉토리는 이제 읽기와 쓰기가 모두 가능하다.

    sudo mount -t overlay overlay -o \
    lowerdir=/tmp/lower1:/tmp/lower2,upperdir=/tmp/upper,workdir=/tmp/work \
    /tmp/merged


     

    댓글

Designed by Tistory.