LabHub

스토리지와 마운트 · 바인드 마운트와 tmpfs · 퀴즈

퀴즈: 바인드 마운트와 tmpfs

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. `/proc/self/mountinfo` 에만 있고 `mount` 출력에는 없는 중요한 정보는?

    1. 전파 방식(shared/slave/private)
    2. 각 마운트 지점의 파일시스템 타입
    3. 실제로 적용된 마운트 옵션 목록
    4. 마운트에 쓰인 장치 이름과 경로
  2. tmpfs 를 만들 때 `size=` 를 반드시 지정해야 하는 이유는?

    1. 기본값이 물리 메모리의 절반이라 큰 파일을 쓰면 시스템이 메모리 압박을 받는다
    2. size 를 빼면 마운트 자체가 실패해 뜨지 않는다
    3. size 가 없으면 내용이 스왑으로 나가지 않는다
    4. size 가 없으면 sticky bit 가 걸리지 않는다
  3. 컨테이너를 삭제했는데 호스트에 마운트가 남아 있습니다. 가장 유력한 원인은?

    1. 컨테이너 런타임이 정리 단계에서 버그를 냈다
    2. 마운트 전파가 shared 여서 컨테이너가 만든 마운트가 호스트 네임스페이스로 전파됐다
    3. 볼륨 드라이버가 언마운트를 수행하지 않았다
    4. SELinux 라벨이 맞지 않아 해제가 거부됐다
  4. systemd 의 `.mount` 유닛 이름 규칙은?

    1. 이름 규칙이 없어 원하는 대로 정할 수 있다
    2. 마운트 지점 경로를 이스케이프한 이름이어야 하며 다르면 유닛이 거부된다
    3. 장치 이름을 그대로 유닛 이름으로 쓴다
    4. 파일시스템 UUID 를 유닛 이름으로 쓴다
  5. 바인드 마운트를 mountinfo 에서 식별하는 방법은?

    1. 타입이 bind 로 적힌다
    2. 소스가 none 이다
    3. 4번 필드(원본 안에서의 루트)가 / 가 아니라 하위 경로로 적힌다
    4. 전파 방식이 항상 private 이다
  6. 심볼릭 링크 대신 바인드 마운트를 써야 하는 대표 상황은?

    1. 같은 파일을 두 번 저장하지 않아 용량을 아껴야 할 때
    2. 네트워크를 경유해 원격 데이터를 붙여야 할 때
    3. chroot 나 컨테이너 안에서도 그 경로가 제대로 해석되어야 할 때
    4. 경로마다 접근 권한을 사용자별로 나눠야 할 때