On Wed, Jan 19, 2011 at 11:21:07AM -0500, Chunqiang Tang wrote: > Yes, a fundamental and optimal solution would be changing guest file > systems, but it would take a much much longer route to introduce > virtualization awareness into all guest file systems and its also requires > changing the interface between the guest and the host.
Actually current filesystems do pretty well on thinly provisioned storage, as long as your extent size is not too small. Starting from extent size in the 64M to 256M range there's almost no difference to non-virtualized storage. > Preallocation is not a universal solution here, because it just defeats > the other goal: thin provisioning. Moreover, if preallocation is used, it > works best for RAW images and makes it unnecessary to use a compact image, > which is exactly one goal of FVD, i.e., allowing optionally disabling a > compact image data layout without giving up other features, e.g., > copy-on-write. Again, sparse images with a large enough allocation size give you almost the same numbers as preallocated images. I've been doing quite a lot of work on TP support in QEMU. Using an XFS filesystem to back the image with an extent size hint in the above mentioned range gives performance withing 1% of fully preallocated images. With the added benefit of allowing to deallocate the space again through the SCSI WRITE_SAME or ATA TRIM commands.