자르기 확장이 작동하지 않는 것 같습니다.

자르기 확장이 작동하지 않는 것 같습니다.

방금 1GB /home/user의 "메인 파일"을 truncate -s +1G homefile. df내가 뭐 놓친 거 없니? mkfs.etx4를 다시 사용할 필요는 없겠죠? ..이것은 데이터를 지우고 fallocate보다 truncate를 사용하려는 목적을 무효화하기 때문에 확장 후에 resize2fs를 사용해야 하지만 데이터는 변경되지 않습니다. 잘린 후 resize2fs를 사용해 보았지만 파일 시스템 유형이 잘못되었습니다(해당하는 경우 VM을 다시 시작해야 합니다).

truncate를 사용하여 확장할 수 없는 경우 동적으로 확장된 파일을 마운트할 수 있는 다른 방법이 있습니까? 나는 qcow2가 이것을 할 수 있다는 것을 알고 있지만 약간 투박해 보입니다. 나는 squashfs가 PuppyOS 및 PorteuOS와 같은 제품에서 사용 가능하다는 것을 알고 있지만, 내가 이해한 바에 따르면 설정하려면 더 많은 단계가 필요합니다. 나는 그것이 작동한다면 자르기의 단순함을 좋아합니다.

답변1

파일 시스템이 아닌 기본 스토리지의 크기만 조정하는 것입니다. 그래서 이것은 완전히 예상됩니다!

resize2fs당신에게 필요한 도구입니다;resize2fs homefile 아직 작동하지 않음(아직 수행하지 마세요) 먼저 기본 저장소가 변경되었음을 통해 마운트된 루프 장치에 알려야 하기 때문입니다.

따라서 전체 과정은 다음과 같습니다.

  1. 이미지 크기 늘리기( truncate/ fallocate...)
  2. loopdev에 크기가 변경되었음을 알립니다.losetup -c $(losetup -j homefile)
  3. 파일 시스템 크기를 조정합니다.resize2fs $(losetup -j homefile)

관련 정보