![게스트에서 파일이 삭제될 때 희소 이미지 파일에 구멍을 뚫도록 QEMU/KVM+OCFS2를 구성할 수 있습니까?](https://linux55.com/image/27538/%EA%B2%8C%EC%8A%A4%ED%8A%B8%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EC%82%AD%EC%A0%9C%EB%90%A0%20%EB%95%8C%20%ED%9D%AC%EC%86%8C%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EA%B5%AC%EB%A9%8D%EC%9D%84%20%EB%9A%AB%EB%8F%84%EB%A1%9D%20QEMU%2FKVM%2BOCFS2%EB%A5%BC%20%EA%B5%AC%EC%84%B1%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
이 기능을 구현하기 위해 호스트의 게스트 VM 및 OCFS2(로컬 전용, 비클러스터형)에 대해 희소 원시 이미지 파일을 사용합니다 reflink
. 인터넷 검색을 통해 OCFS2가구멍을 뚫을 수 있는 파일 시스템 중 하나스파스 파일로 돌아갑니다.
내가 올바르게 이해했다면어쩌면 가능할지도 몰라(확실히이는 XFS를 사용하여 달성할 수 있습니다.)는 이 기능을 게스트 시스템의 TRIM/삭제 지원과 결합하여 게스트 시스템의 파일이 삭제되면 호스트 시스템의 공간이 자동으로 회수됩니다. 그러나 광범위한 실험에도 불구하고 이 접근 방식이 효과가 있다는 것을 증명할 수 없었습니다.
가능합니까? 커널 및/또는 QEMU 버전에 따라 달라지는 경우 필요한 최소 버전은 무엇입니까? 구성에서 제가 놓친 다른 것이 있나요? 나는 가지고있다:
discard
다음 옵션을 사용하여 (ext4) 게스트 파일 시스템을 설치합니다./etc/fstab
- 호스트 및 게스트용 Debian Wheezy의 현재 베타 버전과 호스트용 CentOS 6.2를 사용해 보았습니다.
- 게스트에서 실행해 보세요
fstrim
. (알겠습니다.FITRIM ioctl failed: Operation not supported
하지만 관련성이 있는지 100% 확신할 수는 없습니다.) - 시도해 보았습니다
bus=ide
(bus=virtio
CentOS 6.2 호스트 사용).
답변1
virtio-scsi 장치를 사용하고 디스크의 libvirt 정의에 waste=unmap을 지정하여 공간을 복구할 수 있어야 합니다.
아직 CentOS/RHEL에서는 이것을 시도하지 않았지만 이후 버전의 Fedora에서는 작동하게 되었습니다. 나는 썼다그것에 대한 블로그 게시물.
나는 그것을 시도해보고 그것이 작동하는지 확인한다고 말하고 싶습니다.