나는 정기적으로 dd
압축된 백업 이미지를 사용하고 생성합니다 . 과거에는 삭제된 파일을 제거하기 위해 0(xxG는 사용 가능한 빈 공간)이 lzop
있는 대용량 파일을 미리 생성했습니다 . head -c xxG /dev/zero > zeros.tmp && rm zeros.tmp
이렇게 하면 시간과 백업 디스크 공간이 많이 절약되지만, 빈 공간을 모두 차지하므로 SSD에 불필요한 마모가 발생하므로 비효율적이기도 합니다.
fstrim은 할당되지 않은 파일 블록도 0으로 만드나요? 아니면 나중에 이러한 블록과 삭제된 내용을 반환합니까? 할당되지 않은 파일이 있는 블록을 압축하고 싶지 않습니다.
답변1
fstrim
트리밍 후( 또는 다른 도구나 옵션을 사용하여) 읽을 때 반환되는 데이터는 mount
장치에 따라 다릅니다. 일부는 임의의 데이터를 반환하고, 일부는 변경되지 않은 0이 아닌 데이터를 반환하고, 일부는 0을 반환합니다. ATA 장치에서 실행하여 적용할 옵션을 결정할 수 있습니다 hdparm -I
. 두 번째 옵션에는 "TRIM 후 결정적으로 데이터 읽기"가 표시되고, 세 번째 옵션에는 "TRIM 후 결정적으로 0 읽기"가 표시되며, 그렇지 않으면 첫 번째 옵션이 적용됩니다.
특정 사용 사례의 경우 다른 도구가 더 적합할 수 있습니다. 예를 들어 Ext2/3/4 파일 시스템을 상상하는 경우 e2image -ra
사용 중인 블록만 포함하는 백업 이미지가 생성되고 e2image -Qa
QCOW2 이미지가 생성됩니다. 사용 중인 블록만 포함됩니다.