36.3. 사용되지 않는 블록 삭제
이를 지원하는 블록 장치에서 삭제 작업을 수행하거나 예약할 수 있습니다. 블록 삭제 작업은 마운트된 파일 시스템에서 더 이상 사용되지 않는 기본 스토리지와 통신합니다. 블록 삭제 작업을 통해 SSD는 가비지 컬렉션 루틴을 최적화할 수 있으며 씬 프로비저닝된 스토리지에 사용되지 않는 물리적 블록을 다시 사용하도록 알릴 수 있습니다.
요구 사항
파일 시스템의 기본 블록 장치는 물리적 삭제 작업을 지원해야 합니다.
/sys/block/ <device> /queue/discard_max_bytes
파일의 값이 0이 아닌 경우 물리적 삭제 작업이 지원됩니다.
36.3.1. 블록 삭제 작업 유형 링크 복사링크가 클립보드에 복사되었습니다!
다른 방법을 사용하여 삭제 작업을 실행할 수 있습니다.
- 배치 삭제
- 사용자에 의해 명시적으로 트리거되고 선택한 파일 시스템에서 사용되지 않는 모든 블록을 삭제합니다.
- 온라인 삭제
-
마운트 시 지정되며 사용자 개입 없이 실시간으로 트리거됩니다. 온라인 삭제 작업은
사용된
상태에서free
상태로 전환되는 블록만 삭제합니다. - 주기적 삭제
-
systemd
서비스에서 정기적으로 실행되는 배치 작업입니다.
모든 유형은 XFS 및 ext4 파일 시스템에서 지원됩니다.
권장 사항
일괄 처리 또는 주기적 삭제 사용을 권장합니다.
온라인 삭제는 다음 경우에만 사용하십시오.
- 시스템의 워크로드는 배치 삭제가 불가능하거나
- 성능을 유지하려면 온라인 삭제 작업이 필요합니다.
36.3.2. 배치 블록 삭제 수행 링크 복사링크가 클립보드에 복사되었습니다!
배치 블록 삭제 작업을 수행하여 마운트된 파일 시스템에서 사용되지 않는 블록을 삭제할 수 있습니다.
사전 요구 사항
- 파일 시스템이 마운트되었습니다.
- 파일 시스템의 기본 블록 장치는 물리적 삭제 작업을 지원합니다.
프로세스
fstrim
유틸리티를 사용합니다.선택한 파일 시스템에서만 삭제 작업을 수행하려면 다음을 사용합니다.
fstrim mount-point
# fstrim mount-point
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 마운트된 모든 파일 시스템에서 삭제 작업을 수행하려면 다음을 사용합니다.
fstrim --all
# fstrim --all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음에서 fstrim
명령을 실행하는 경우:
- 삭제 작업을 지원하지 않는 장치, 또는
- 장치 중 하나가 삭제 작업을 지원하지 않는 여러 장치로 구성된 논리 장치(LVM 또는 MD)
다음 메시지가 표시됩니다.
fstrim /mnt/non_discard
# fstrim /mnt/non_discard
fstrim: /mnt/non_discard: the discard operation is not supported
36.3.3. 온라인 블록 삭제 활성화 링크 복사링크가 클립보드에 복사되었습니다!
온라인 블록 삭제 작업을 수행하여 지원되는 모든 파일 시스템에서 사용되지 않는 블록을 자동으로 삭제할 수 있습니다.
프로세스
마운트 시 온라인 삭제 활성화:
파일 시스템을 수동으로 마운트할 때
-o discard
마운트 옵션을 추가합니다.mount -o discard device mount-point
# mount -o discard device mount-point
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
파일 시스템을 영구적으로 마운트하는 경우
/etc/fstab
파일의 마운트 항목에삭제
옵션을 추가합니다.
36.3.4. 스토리지 RHEL 시스템 역할을 사용하여 온라인 블록 삭제 활성화 링크 복사링크가 클립보드에 복사되었습니다!
온라인 블록 삭제 옵션으로 XFS 파일 시스템을 마운트하여 사용되지 않는 블록을 자동으로 삭제할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
온라인 블록 삭제 옵션이 활성화되어 있는지 확인합니다.
ansible managed-node-01.example.com -m command -a 'findmnt /mnt/data'
# ansible managed-node-01.example.com -m command -a 'findmnt /mnt/data'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
36.3.5. 주기적인 블록 삭제 활성화 링크 복사링크가 클립보드에 복사되었습니다!
systemd
타이머를 활성화하여 지원되는 모든 파일 시스템에서 사용되지 않는 블록을 정기적으로 삭제할 수 있습니다.
프로세스
systemd
타이머를 활성화하고 시작합니다.systemctl enable --now fstrim.timer
# systemctl enable --now fstrim.timer Created symlink /etc/systemd/system/timers.target.wants/fstrim.timer
/usr/lib/systemd/system/fstrim.timer. Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
타이머 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow