3.10. VDO에서 TRIM 및 DISCARD의 효과 테스트
이 절차에서는 TRIM 및 DISCARD 명령이 VDO 테스트 볼륨에서 삭제된 파일에서 블록을 올바르게 확보할 수 있는지 여부를 테스트합니다. 삭제하면 VDO에 공간이 더 이상 사용되지 않음을 알 수 있습니다.
사전 요구 사항
- 새로 생성된 VDO 테스트 볼륨이 마운트됩니다. 자세한 내용은 3.4절. “VDO 테스트 볼륨 생성” 의 내용을 참조하십시오.
절차
테스트 결과를 기록할 수 있는 테이블을 준비합니다.
Expand Step 사용된 파일 공간 (MB) 사용된 데이터 블록 사용된 논리 블록 초기
1GiB 파일 추가
fstrim실행1GiB 파일 삭제
fstrim실행불필요한 블록을 제거하기 위해 파일 시스템을 줄입니다.
# fstrim /mnt/vdo-test이 명령은 시간이 오래 걸릴 수 있습니다.
파일 시스템에 초기 공간 사용량을 기록합니다.
$ df -m /mnt/vdo-testVDO 볼륨에서 사용하는 물리 및 논리적 데이터 블록 수를 확인하십시오.
# vdostats --verbose | grep "blocks used"VDO 볼륨에서 중복되지 않은 데이터를 사용하여 1GiB 파일을 생성합니다.
$ dd if=/dev/urandom of=/mnt/vdo-test/file bs=1M count=1K공간 사용량을 다시 기록합니다.
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"파일 시스템은 추가 1GiB를 사용해야 합니다. 사용된
데이터 블록과 사용된값의 논리 블록도 마찬가지로 증가해야 합니다.파일 시스템을 다시 줄입니다.
# fstrim /mnt/vdo-test공간 사용량을 다시 검사하여 트림이 물리 볼륨 사용량에 영향을 미치지 않았는지 확인합니다.
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"1GiB 파일을 삭제합니다.
$ rm /mnt/vdo-test/file공간 사용량을 다시 확인하고 기록합니다.
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"파일 시스템은 파일이 삭제되었음을 인식하지만, 파일 삭제가 기본 스토리지에 전송되지 않았기 때문에 실제 또는 논리 블록의 수는 변경되지 않습니다.
파일 시스템을 다시 줄입니다.
# fstrim /mnt/vdo-test공간 사용량을 다시 확인하고 기록합니다.
$ df -m /mnt/vdo-test # vdostats --verbose | grep "blocks used"fstrim유틸리티는 파일 시스템에서 사용 가능한 블록을 찾고,TRIM명령을 사용하지 않은 주소에 대해 VDO 볼륨으로 보냅니다. 이 명령은 관련 논리 블록을 해제합니다. VDO는TRIM명령을 처리하여 기본 물리 블록을 해제합니다.