저는 LVM 씬볼륨을 사용하여 iSCSI를 통해 여러 대의 컴퓨터를 네트워크 부팅합니다. 때때로 나는 해당 컴퓨터의 공간을 확보합니다. 불행히도 해당 공간은 얇은 볼륨에서 해제되지 않습니다. 그래서 partclone
공간을 확보하기 위해 가끔씩 파티션을 나누어 놓습니다. 가상화에서는 사용되지 않는 공간을 없애는 도구를 사용하여 공간을 확보할 수 있습니다. LVM 씬 풀/씬 볼륨을 사용하여 공간을 회수하는 유사하거나 더 나은 방법이 있습니까?
미리 감사드립니다
답변1
LVM 씬은 TRIM으로 더 널리 알려진 DISCARD를 지원합니다. 이론적으로는 iSCSI를 사용하여 이 작업을 수행하는 것이 가능해야 합니다(동등한 UNMAP 명령이 있음). 그러나 이에 대해서는 아무것도 찾지 못했습니다.
해당 볼륨을 호스팅하는 머신에서 fstrim
여유 공간을 해제하는 데 사용할 수 있습니다. 매뉴얼 페이지에는 명시적으로 언급되어 있습니다.
fstrim은 마운트된 파일 시스템에서 파일 시스템에서 사용하지 않는 블록을 삭제(또는 "트림")하는 데 사용됩니다. 이는 SSD(Solid-State Drive) 및 씬 프로비저닝된 스토리지에 유용합니다.
이것이 작동하려면 Linux는 파일 시스템에 대한 지원이 필요하며 해당 지원에는 TRIM이 포함되어야 합니다. 네트워크로 부팅된 컴퓨터에서 Windows를 실행하는 경우 NTFS일 가능성이 높습니다. 분명히 NTFS-3G는 TRIM을 지원합니다.
fstrim
마운트된 파일 시스템에서만 작동합니다.
다음과 같이 보일 것입니다:
업데이트: 의견에서 설명한 대로 Linux SCSI Target은 SSD를 식별하는 블록 백스토어에 플래그를 제공합니다 is_nonrot
. UNMAP SCSI 명령도 지원합니다. Windows(최소 Windows 10)는 iSCSI를 통해 SSD를 올바르게 감지하고 UNMAP 명령을 실행하여 사용되지 않은 공간을 즉시 확보합니다.