
저는 zfs 파일 시스템으로 새로 설치된 우분투 21.10을 사용하고 있습니다. 일부 파일을 삭제한 다음 휴지통을 비우거나 다른(외부) 드라이브로 이동해도 드라이브 공간이 확보되지 않습니다. 실제로 df는 다음을 보여줍니다: rpool/ROOT/ubuntu_zooqq5 35G 4,5G 31G 13% / 여기서 35GB는 드라이브 크기입니다.
디스크에 파일을 추가할 때마다 드라이브 크기가 줄어듭니다.
스크립트로 zfs 스냅샷을 삭제하여 공간을 복구하고(드라이브 크기도 늘림) 그런데 이것이 어떻게 맞을 수 있습니까?
어쩌면 버그일까요?
답변1
제거된 파일은 여전히 과거 스냅샷에서 참조되므로 설명하신 내용은 예상되는 동작입니다.
이미 관찰한 것처럼 스냅샷으로 인해 공간이 계속 사용됩니다. 삭제된 파일을 참조하는 마지막 스냅샷을 삭제한 후에만 해당 공간을 새 파일에 다시 사용할 수 있습니다.
참고하세요df
ZFS 파일 시스템의 여유 공간에 대한 정확한 값을 제공하지 않습니다.. ZFS는 하나 이상의 디스크(또는 파티션)를 사용하여 하나 이상의 데이터 세트( df
파일 시스템으로 해석됨)를 포함할 수 있는 풀을 저장하며, 모든 데이터 세트는 풀의 여유 공간을 공유합니다. 또한 스냅샷은 풀(데이터세트의 일부로)을 채워 df
개별 파일 시스템의 '크기' 보고서에 추가 영향을 미칩니다. ZFS는 파일 시스템이자 볼륨 관리자이며 선택적으로 RAID 어레이를 관리합니다. 예를 들어, 선택적으로 RAID의 LVM의 ext4와 유사합니다.
풀이 디스크나 파티션에 어떻게 대응하는지 확인하려면 를 사용할 수 있습니다 zpool status
. Ubuntu에서는 /dev/disk/by-uuid/
및 아래에서 각각 나열된 디스크 또는 파티션을 찾을 수 있습니다 /dev/disk/by-partuuid/
. 풀의 여유 공간을 보려면 를 통해 모든 풀을 나열할 수 있습니다 zpool list
. 를 통해 모든 ZFS 데이터 세트("파일 시스템")를 나열할 수 있습니다. zfs list
여기서 USED
열은 특정 데이터 세트에 속하는 파일, 하위 데이터 세트 및 스냅샷을 포함하는 데이터 세트에서 사용하는 공간을 나타냅니다. AVAIL
풀의 남은 공간을 나타내며, REFER
스냅샷이나 하위 파일 시스템이 아닌 이 파일 시스템과 관련된 파일의 크기를 나타냅니다.