게스트에서 파일이 삭제될 때 희소 이미지 파일에 구멍을 뚫도록 QEMU/KVM+OCFS2를 구성할 수 있습니까?

게스트에서 파일이 삭제될 때 희소 이미지 파일에 구멍을 뚫도록 QEMU/KVM+OCFS2를 구성할 수 있습니까?

이 기능을 구현하기 위해 호스트의 게스트 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=virtioCentOS 6.2 호스트 사용).

답변1

virtio-scsi 장치를 사용하고 디스크의 libvirt 정의에 waste=unmap을 지정하여 공간을 복구할 수 있어야 합니다.

아직 CentOS/RHEL에서는 이것을 시도하지 않았지만 이후 버전의 Fedora에서는 작동하게 되었습니다. 나는 썼다그것에 대한 블로그 게시물.

나는 그것을 시도해보고 그것이 작동하는지 확인한다고 말하고 싶습니다.

관련 정보