250GB ext4 파티션을 200GB로 축소하고 싶습니다.resize2fs.
도구 df
에 따르면 파티션이 약 40% 정도 차 있는 것으로 나타났습니다. 그래서 최소한 파티션을 그 수준으로 축소할 수 있다고 생각했습니다.
그러나 Shrink partition을 사용하려고 하면 resize2fs
실패합니다. 이는 축소된 파티션 크기가 "최소값보다 작음"을 의미합니다.
이는 파티션에 이전에 삭제된 파일의 흔적이 여전히 남아 있기 때문에 resize2fs
해당 파일이 여전히 파티션에 있다고 생각하고 축소하면 해당 데이터가 손실되어 파티션 축소를 거부할 수 있기 때문이라고 생각합니다.
그래서 내 질문은 다음과 같습니다
resize2fs
파티션을 축소할 수 있도록 파티션이 실제로 60% 비어 있다는 것을 어떻게 알 수 있습니까 ?- 사용된 블록 등을 재할당할 수 있는 방법이 있나요?
노트:저는 숙련된 Xubuntu 사용자입니다.
답변1
resize2fs
삭제한 데이터에는 관심이 없습니다. 파일 시스템을 200GiB로 축소하는 것을 거부하는 경우 크기가 조정된 파일 시스템 구조를 저장하거나 크기 조정 작업 자체를 수행하는 데 더 많은 공간이 필요하다고 생각하기 때문입니다. 너는 볼 수있어자세한 내용은 여기(C를 읽을 수 있다고 가정);
- inode 수를 고려할 때 파일 시스템에는 필요한 수의 그룹 설명자를 저장하는 데 충분한 공간이 필요합니다.
- 파일에 데이터를 저장하려면 충분한 공간이 필요합니다.
- 크기 조정 작업에는 크기 조정이 성공적으로 완료되도록 하려면 백그라운드 작업을 위한 추가 inode 테이블이 필요합니다.
- 각 인덱스 노드 그룹에는 고려해야 할 일부 오버헤드가 발생합니다(그리고 데이터가 그룹 간에 분할되는 방식에 영향을 미쳐 더 많은 그룹이 필요하므로 더 많은 오버헤드가 발생할 수 있음).
- 필요한 경우 범위 트리가 커질 수 있도록 공간을 예약해야 합니다. 이로 인해 상당한 오버헤드가 발생할 수 있습니다(특히 파일 시스템 섹션에 지워야 하는 데이터가 많은 경우 크기를 조정할 때).
또한 약간의 퍼지 오버헤드를 추가합니다(파일 시스템 도구는 매우 안전한 경향이 있습니다).
를 실행하면 파일 시스템이 얼마나 작아질 수 있는지 확인할 수 있습니다 resize2fs -P
. resize2fs -M
자동으로 가능한 한 작게 만듭니다.
답변2
제 경우에는 블록 장치가 사용 중이었지만 보고되지 않은 이유로 파일 시스템을 마운트 해제한 다음 이를 사용하고 있던 libvirt-lxc VM을 종료한 후 오류 메시지가 변경되어 마침내 크기를 조정할 수 있다는 것이 문제였습니다.