Linux tmpfs

김재현·2023년 7월 31일
0
post-thumbnail

Q: tmp 설정을 따로 하지 않을 경우 파일 시스템 내부에 데이터가 삭제될까요?

A: 수동으로 Clear 하지 않을 경우 삭제되지 않습니다.

Linux를 설치할 때 tmpfile clean 데몬의 기본값은 다음과 같다.

# systemctl status systemd-tmpfiles-clean.timer

systemd-tmpfiles-clean.timer - Daily Cleanup of Temporary Directories
   Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-clean.timer; static; vendor preset: disabled)
   Active: active (waiting)

# systemctl status systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.service - Cleanup of Temporary Directories
   Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-clean.service; static; vendor preset: disabled)
   Active: inactive (dead)

위 설정의 경우 기본적으로 수동으로 실행 시 /tmp 파일을 Clear 하도록 설정되어 있다.
그 이유는 해당 데몬을 활성화할 경우 임시로 저장된 공간이 실시간으로 비워지므로 /tmp 영역이
필요한 서비스가 정상 구동되지 않을 수 있다.
/tmp 파일 시스템의 보관 주기는 기본 10일이다.

# cat /usr/lib/tmpfiles.d/tmp.conf | grep -v ^#

v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d

x /tmp/systemd-private-%b-*
X /tmp/systemd-private-%b-*/tmp
x /var/tmp/systemd-private-%b-*
X /var/tmp/systemd-private-%b-*/tmp

따라서 리눅스에서는 다음의 조건을 통해 /tmp 파일 시스템의 데이터를 관리한다.

  1. systemd-tmpfiles 데몬을 통해 /tmp 내 파일을 관리할 때, 3개의 기존 타임 스탬프가 고려된다.
    (atime: 마지막 접근 시간, mtime: 마지막 변경시간, ctime: inode 변경시간)
  2. systemd-tmpfiles 은 tmpwatch --fuser(파일 미리보기)와 유사한 기능을 제공하지 않는다.
  3. systemd-tmpfiles 은 프로세스에서 파일을 열었는지 확인하지 않고, 파일의 타임스탬프만 확인한다.
profile
SRE를 꿈꾸는 3년차 엔지니어

0개의 댓글