Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

As we all know, we can create various disk types in VMWare:

  • 0 : single growable virtual disk
  • 1 : growable virtual disk split in 2GB files
  • 2 : preallocated virtual disk
  • 3 : preallocated virtual disk split in 2GB files
  • 4 : preallocated ESX-type virtual disk
  • 5 : compressed disk optimized for streaming

I'm interested in advantages/disadvantages of various types? For instance: why would you want to split disks in 2G chunks if you don't need portability? Are there any advantages in terms of fragmentation and disk management based on host disk format type (like NTFS/etc.)?

share|improve this question

2 Answers 2

up vote 5 down vote accepted

0 : single growable virtual disk

The default most people choose. Does not chew up as much space unless it needs to but performs less well than a fixed size vdisk file. Growable vdisks allow you to "oversell" your physical drive space.

1 : growable virtual disk split in 2GB files

The only real difference is that these vdisks can be used on filesystems that have trouble with files larger than 2Gb (or 4Gb in the case of FAT32). If you always use NTFS, ext2/3, or something else modern this is not an issue. May also make a difference to your backup procedures.

2 : preallocated virtual disk

Disadvantages (over option 0): takes all the space it needs immediately and for as long as it exists, and takes longer to create.

Advantages: you know the VM is never going to fall over because it can't grow the vdisk file later because the host filesystem is full and performance is better on average as there isn't the extra overhead of managing the files that host the disk (gowning them when needed, maintaining an index of which virtual blocks are where in the physical file, and needing to use that index when reading a block). Also less prone to fragmentation in the host filesystem as it will only fragment at creation time.

3 : preallocated virtual disk split in 2GB files

Just the portability difference, as with 1.

4 : preallocated ESX-type virtual disk
5 : compressed disk optimized for streaming

Unsure - I've not seen these options (or if I have, I've not paid attention to them!).

On host filesystem formats:

With growable disks there will be a small but measurable write performance drop if you use a filesystem that performs meta-data journalling (NTFS, ext3/4 with default options).

With both (growable and fixed) there will be a larger write performance difference if the host fs does full journalling (ext3/4 with certain options, and a number of other filesystems (again, usually not by default)).

FAT32 is likely to fragment badly with growable disks, more intelligent filesystems (ext2/3/4, NTFS, and anything else modern) will have far less hassle in this regard.

If you use fixed vdiscs then something like ext2 (or ext3 with journalling fully off) will perform better than something that does journal. There are some caveats depending on your write patterns here though: you might not notice the difference at all and there are some (probably rare) write patterns where a full journal could actually boost performance (due to write reordering caused by the full journalling process reducing disk head movements).

Your choice of filesystem in the VM will interact with the choice on the host. If you set both to full journal then every block written in the VM can potentially become four physical block writes, more if you are using growable disks.

share|improve this answer
    
Nice explanation for 1. I didn't think about file system limits for file sizes. –  user3914 Sep 11 '09 at 14:13
    
I have experienced VirtualBox crash on type1, but never on type0, if you want to consider product compatibility. –  user27465 Jan 11 '12 at 19:06

0: This is my choice.

1: Splitting into chunks and storing those chunks on the same platter
doesn't make sense, so I wouldn't see any advantage there.

2: Preallocated reduces chance of fragmentation.

3: See 1 above.

4: Not had the pleasure of this, but apparently it works quite well.

5: If your hardware can handle the throughput (including CPU), but it
seems pointless in my opinion.

NTFS is slower than FAT32. exFAT is apparently very quick.

share|improve this answer
    
His is a bulleted list with numbers after the bullets...try and edit it that way so others can understand your post easier. –  TheCleaner Sep 11 '09 at 13:40
    
An addendum - I've noticed reduced fragmentation since I've moved to Windows 7. This might be my imagination. –  user3914 Sep 11 '09 at 13:41
    
@TheCleaner I changed it :) –  user3914 Sep 11 '09 at 13:41
    
I'd not thought of separating files for split vdisks over different drives. If VMWare respects symlinks it could be made to work. Though just setting up a RAID0 array would be a more more efficient way to get the same or better performance gain. –  David Spillett Sep 11 '09 at 14:35
    
I'd steer clear of RAID 0 on principle. I'm involved in another thread where the guy is asking how to recover his data. –  user3914 Sep 11 '09 at 15:04

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.