What's the best file-system for storing virtual machine images?
I'm planning how to partition my hard drive.
I want to have 2 partitions - one for Ubuntu, the main operating system, and the other for virtual machine images, as I want to run virtual machines of Windows and MacOS through VirtualBox.
My question is - what's the best file-system for the virtual machines partition?
Are there any advantages performance-wise to using a file-system other than, say, FAT32 or NTFS?
I would put your VM images on a seperate spindle. Having them on a seperate disk with a large cache is likely to yield a much larger performance boost than which filesystem you use.
Given that a corruption in a VM image could be catastrophic, I would be looking at robustness of filesystem over performance. Is it likely to survive a power failure, for example? So (to use the examples you've cited) I would certainly use NTFS over FAT32, regardless of performance characteristics, simply because it is a journaling filesystem and therefore much more fault tolerant.
If possible, I would highly recommend putting your virtual machine images on another hard drive and not on the same drive (even if it is on a different partition). Save your main hard drive for OS tasks and running Virtualbox, and let the second drive handle the data, because there will be a lot of it going back and forth, and it will slow down your system considerable as the hard drive becomes the bottleneck.
If you have to keep it on the same drive, make sure you use large blocks when formatting it. Since large chunks of data are moved, I believe that this will help performance (someone please correct me if I am wrong here). I am not sure if there is a better fs for the images or not. This post from Sun points towards ZFS as being pretty nice to use.
You should NOT use FAT32 - FAT32 has a limit of 4 GB in file size (Technically, 4 GB - 2 bytes if I'm not mistaken).
For host based VMs, it doesn't really matter. You'll want to use something that easily works with larger files though, so stay away from file systems like reiserfs which handles smaller files faster than larger ones. Most of my linux installs go with jfs for journaling speed and B+ Tree. See wiki link
Well, I dont know the best, but I can maybe help you rule out NTFS
..and you may already be aware of this. Ubuntu doesnt natively read NTFS. This requires the installation of a separate package, which is very simple, but I have noticed that performance on the NTFS partition, when read by Ubuntu, is noticeably slow.