필요에 따라 (최대 한도까지) 동적으로 커지는 루트 파일 시스템으로 반복되는 파일을 만들고 싶습니다.
일반적으로 인용되는 해결책은 제가 원하는 스파스 파일을 사용하는 것입니다. 하지만 저는 fat32/exfat(교차 OS 호환성을 위해)를 호스트 파일 시스템으로 사용하고 싶습니다. 어느 쪽도 스파스 파일을 지원하지 않습니다.
자체 파일 시스템/루프 드라이버를 롤링하지 않고 이 작업을 수행할 수 있는 자동화/반자동 방법이 있습니까?
답변1
qemu-nbdqemu 이미지(요구에 따라 증가하는 qcow2 이미지)를 블록 장치에 바인딩하는 데 사용할 수 있으며, 그런 다음 선택한 파일 시스템으로 마운트할 수 있습니다.
그러나 이 방법을 사용하면 루트 파일 시스템으로서의 성능이 매우 열악하고, 단기간 사용하면 생성되는 이미지가 동등한 squashfs보다 6~7배 더 커집니다.
qcow2 이미지(파티션되지 않음, ext4)는 다음을 통해 설치할 수 있습니다.
# qemu-nbd --connect=/dev/nbd0 --persistent /path/to/image.qcow2
# mount -t ext4 /dev/nbd0 /path/to/mountpoint/