안녕하세요!
오늘은 fstrim에 대하여 알아보겠습니다.
1. fstrim 개념
리눅스 시스템에서 사용하지 않는 디스크 블록을 스토리지 장치에 알려주는 명령어
SSD와 같은 스토리지 장치에서 공간을 효율적으로 관리하고 성능을 유지하기 위해 사용
일반적으로 리눅스에서 파일을 삭제하면 파일의 데이터는 실제로 디스크에서 완전히 제거되지 않고, 단순히 파일 시스템에서 해당 파일의 레퍼런스만 제거
이로 인해 스토리지 장치에서는 여전히 해당 공간을 사용 중으로 인식할 수 있음.
SSD는 데이터를 페이지 단위로 읽고 쓰지만, 삭제나 덮어쓰기는 블록 단위로 이루어짐.
페이지(page)
SSD에서 데이터를 저장할 수 있는 가장 작은 단위, 일반적으로 4KB
데이터를 읽고 쓰는 작업은 페이지 단위로 수행
SSD의 셀(cell)에 직접 데이터를 저장, 여러 페이지가 모여서 하나의 블록을 형성
블록(block)
여러 페이지가 모인 더 큰 데이터 저장 단위, 일반적으로 128KB~256KB 정도의 크기
데이터를 삭제할 때는 블록 단위로 삭제
하나의 블록은 여러 페이지(예: 32개~64개의 페이지)로 구성
SSD는 한 번 데이터를 썼던 블록을 덮어 쓰기 전에 초기화하는 과정이 필요하기 때문에 사용되지 않는 공간을 정리하지 않으면 성능 저하가 발생할 수 있음
또한, Thin Provisioning을 사용하는 스토리지 시스템에서는 논리적으로 할당된 공간이 실제로 해제 되지 않기 때문에, 삭제된 파일의 공간이 시스템 상에서 즉시 회수 되지 않음.
이럴 때 fstrim 명령어를 사용하면 실제 사용하지 않는 공간을 스토리지 장치에 알려주어 물리적 공간이 해제.
2. use
[root@node1 ~]# fstrim --help
Usage:
fstrim [options] <mount point>
Discard unused blocks on a mounted filesystem.
Options:
-a, --all trim mounted filesystems
-A, --fstab trim filesystems from /etc/fstab
-I, --listed-in <list> trim filesystems listed in specified files
-o, --offset <num> the offset in bytes to start discarding from
-l, --length <num> the number of bytes to discard
-m, --minimum <num> the minimum extent length to discard
-v, --verbose print number of discarded bytes
--quiet-unsupported suppress error messages if trim unsupported
-n, --dry-run does everything, but trim
-h, --help display this help
-V, --version display version
Arguments:
<num> arguments may be followed by the suffixes for
GiB, TiB, PiB, EiB, ZiB, and YiB (the "iB" is optional)
For more details see fstrim(8).
fstrim 명령어는 루트 파일 시스템 또는 특정 파티션에 대해 실행할 수 있음
fstrim -v /
-a 옵션을 통한 모든 마운트 파일 시스템에 fstrim 실행
주기적인 수행
systemctl status fstrim.service
systemctl status fstrim.timer
대부분 최신 리눅스 배포판에서는 timer가 설정되어 있음.
nutanix에서는 vm 설치 시 기본적으로 fstrim이 stop 상태.
3. 제한 사항
HDD(하드 디스크 드라이브)보다는 SSD에서 유용.
HDD는 SSD와 달리 공간을 초기화하지 않아도 되므로 fstrim이 큰 도움이 되지 않음.
모든 스토리지 시스템이 fstrim을 지원하는 것은 아님.
이상입니다.
감사합니다!
천사불여일행(千思不如一行) : 천번 생각하는 것보다 한번 행동하는 것이 더 중요하다.
기기일약 불능십보 노마십가 공재불사(騏驥一躍 不能十步 駑馬十駕 功在不舍): 천리마가 한번 크게 뛴다고 하더라도 열 걸음을 나아갈 수 없고 노둔한 말일지라도 열흘 달리면 역시 거기에 미칠 수가 있다.
일의 성과는 멈추지 않고 계속하는 데 있다. (순자, 권학편)
'Linux(리눅스)' 카테고리의 다른 글
Mock Server (3) | 2024.11.15 |
---|---|
nmcli 명령어 정리 (2) | 2024.11.14 |
Rocky 9.3 NFS (1) | 2024.03.18 |
Rocky 9.3 NTP (0) | 2024.03.12 |
Rocky 9.3 ssh 허용 (0) | 2024.03.08 |