KenV
Contributor
Contributor

Allocate all disk space vs. allow to grow--pros and cons

Jump to solution

I am creating a standalone VM from my Boot Camp partition using the Converter. The size of my BC partition is 200GB, and the size of the Mac OS partition is 100GB, and the Mac partition is now about half full of Mac files. Obviously, i am converting the BC partition from within BC itself and placing the new VM folder temporarily on an external HD before I delete the BC partition on the Mac HD in order to copy over the VM folder.

If I choose the "allow to grow" option, the VM size is about 97GB. If I choose "allocate all disk space" the new VM size is about 200GB. I opted for maintaining the size of the VM and using the 2GB size files--actually there was no choice about the 2GB files.

I have gone through all the documentation, and think I understand the following: If I choose "allow to grow," the performance will be slower, but there will be more room for a snapshot, and I would be able to use Fusion to defrag the VM. (I still can't figure out what the snapshot accomplishes, or where it goes on the drive, that is, whether on the Mac OS side or within the VM itself.) If, on the other hand, I choose "allocate all disk space," there may not be room for the snapshot, and I will not be able to defrag using Fusion, but the performance will be better.

Can anyone offer an opinion as to the best choice here? Thanks very much.

0 Kudos
1 Solution

Accepted Solutions
rcardona2k
Immortal
Immortal

1) If I choose the dynamic (allow to grow), can I take the middle ground when Converter asks way at the beginning whether I want to use minimum HD size, maintain the original size, or set the size? In other words, can I choose to set, say, a 150 GB size VM for my 200 GB BC partition conversion, but use the dynamic file method?Then, if my data on the VM, which is now about 97 GB of the 200 GB Boot Camp partition, were to go above 150 GB, could the VM disk size still be expanded beyond 150 GB?

You should set the conversion disk capacity very carefully. Your converted disk can dynamically grow or be pre-allocated to the capacity you choose. To increase the capacity beyond that you have to go through a manual process that some users find onerous (involves increasing capacity, then expanding the filesystem - latter can be challenging).

2) When you talk about defrag, do you mean to defrag using Fusion, or to defrag within Windows on the VM, or both? And can you defrag with the split files as well?

For pre-allocated disks I mean on the host. The vmware-vdiskmanager command (or the GUI tool) have a defrag option (-d) to do this. If you use dynamically expanding disks, I don't recommend defragging within the guest virtual disk otherwise this might balloon the file. For dynamically allocating disks, accepting fragmentation comes with the territory. It is possible to Shrink a dynamically allocating disk recovering the difference between the actual allocated space and whatever size the disk has expanded to on the host. You should look into performing Shrink maintenance on dynamically allocating disks regularly.

View solution in original post

0 Kudos
7 Replies
asatoran
Immortal
Immortal

Which is more important to you: Disk space or absolute performance? Me personally, I test with multiple VMs. I am constantly creating new VMs so disk space is a high priority. Thus, growable disks are the norm for me. My VMs don't push the envelope so I do not notice any performance hit with growable disks. YMMV so I would suggest creating two VMs and testing whether your work needs the performance of preallocated disks.


Snapshots are a way for you to save the state of the VM so you can revert back to this state later (if you screw up, for example.) From page 5 of the Fusion Manual:

Take a snapshot of your entire virtual machine in a known good state, and revert to that snapshot when something goes wrong in your virtual machine—for example, when your virtual machine picks up a virus, or when a software upgrade causes problems.


Very useful for testing, but it does take up disk space. (This is disk space on the Mac side since you're making a copy of the virtual machine.) For the way I work, I don't use snapshots since I basically just make copies of the entire Vm directory. This often uses more disk space than a snapshot, but then I don't have to deal with any of the (usually minor) issues of snapshots like VM portability. Again, YMMV depending on what you're doing.

rcardona2k
Immortal
Immortal

There are several factors that go into the choices you make. First off the vmware-vdiskmanager or the GUI version here can convert between the formats so you're not stuck with 2 GB split files or dynamically-allocating. You are however, save for the procedure for expanding a disk, stuck with the capacity you've chosen.

Split files are good for portability, e.g. copying to FAT32 USB drives to move to Windows, Linux, etc.

Pre-allocated are excellent for performance, once defragmented on the host. This can via split or monolithic. Pre-allocated does "rob" you of space on the OS X side and is generally more data to backup if the virtual disk is mostly free. A lot of users choose dynamically expanding for the flexibility without too much loss in performance (depending on fragmentation, etc).

KenV
Contributor
Contributor

Very helpful answers from both rcardona2k and asatoran. Thank you.

Based on what both of you have said, I'm now leaning more toward the dynamic sizing, and will create a new VM with dynamic sizing, but this generates 2 more questions.

1) If I choose the dynamic (allow to grow), can I take the middle ground when Converter asks way at the beginning whether I want to use minimum HD size, maintain the original size, or set the size? In other words, can I choose to set, say, a 150 GB size VM for my 200 GB BC partition conversion, but use the dynamic file method?Then, if my data on the VM, which is now about 97 GB of the 200 GB Boot Camp partition, were to go above 150 GB, could the VM disk size still be expanded beyond 150 GB?

2) When you talk about defrag, do you mean to defrag using Fusion, or to defrag within Windows on the VM, or both? And can you defrag with the split files as well?

BTW, I have been experimenting with a VM, maintain full size disk, split files, allocate all disk space, but leaving it on the firewire external HD. It is still amazingly fast, even running it from the external drive. One interesting thing happened with this VM--my Outlook Express mail and news accounts would not save my passwords. This turns out to be a known "protected storage" issue with VMs, and I found the fix for it here. It worked.

0 Kudos
rcardona2k
Immortal
Immortal

1) If I choose the dynamic (allow to grow), can I take the middle ground when Converter asks way at the beginning whether I want to use minimum HD size, maintain the original size, or set the size? In other words, can I choose to set, say, a 150 GB size VM for my 200 GB BC partition conversion, but use the dynamic file method?Then, if my data on the VM, which is now about 97 GB of the 200 GB Boot Camp partition, were to go above 150 GB, could the VM disk size still be expanded beyond 150 GB?

You should set the conversion disk capacity very carefully. Your converted disk can dynamically grow or be pre-allocated to the capacity you choose. To increase the capacity beyond that you have to go through a manual process that some users find onerous (involves increasing capacity, then expanding the filesystem - latter can be challenging).

2) When you talk about defrag, do you mean to defrag using Fusion, or to defrag within Windows on the VM, or both? And can you defrag with the split files as well?

For pre-allocated disks I mean on the host. The vmware-vdiskmanager command (or the GUI tool) have a defrag option (-d) to do this. If you use dynamically expanding disks, I don't recommend defragging within the guest virtual disk otherwise this might balloon the file. For dynamically allocating disks, accepting fragmentation comes with the territory. It is possible to Shrink a dynamically allocating disk recovering the difference between the actual allocated space and whatever size the disk has expanded to on the host. You should look into performing Shrink maintenance on dynamically allocating disks regularly.

0 Kudos
KenV
Contributor
Contributor

rcardona2k,

Once again, you have clarified these issues for me, and I now understand the options, the pros and cons of each, etc. There does seem to be a fair amount of maintenence involved with the standalone VMs, especiall the dynamic ones.

If I do go with a pure VM, I think now it will be pre-allocated to 200GB, 2GB files, since I still have plenty of space on my Mac HD. As for backups of Windows itself, I use a great program, ShadowProtect, which creates image files, baseline and incremental (or differential, if one prefers that) daily, hourly, or continuous backups to an external drive, and it permits you to retrieve individual Windows files if they become lost or corrupted. I assume I can back up a VM using this method, and avoid using Time Machine to back up the VM files themselves, which would be quite large in the aggregate. I'm not sure, though, in the event of a total loss of the VM, if the Windows backup of the VM could then be restored to a NTFS formatted, HD, but I assume it could be.

That said, I am again somewhat on the fence as to whether I want to give up the advantages of having a Boot Camp drive for the increased (slightly? moderately?) performance of a pre-allocated VM of the same size. The Boot Camp VM works surprisingly well and fast, especially now that the newest Fusion and Mac OS Boot Camp upgrades are in place, and that XP SP3 has been installed. I'm beginning to think that the old adage, "if it ain't broke, don't fix it" may apply here.

Any further comments on your part would be much appreciated but may not be necessary, as I think you have put it all together for me as it is.

Thanks again.

0 Kudos
rcardona2k
Immortal
Immortal

You're welcome to use whatever method to backup your Windows machine. ShadowProtect sounds somewhat like Time Machine but on the Windows side, I'll have to look into it. If you already a have Boot Camp partition moving to a purely file-based, pre-allocated VMDK will give you a moderate boost in disk I/O. It really depends on your needs whether you think that's worth it. I actually have both. I have a Vista Enterprise SP1 Boot Camp partition and native XP SP3 Fusion VM. I use the XP VM when I want a fast machine with minimal RAM (256 MB) usage and rarely when I need something I can't get through Fusion I boot into Boot Camp.

One other backup and Boot Camp resize tool you should look at is Winclone. Winclone will let you backup your Boot Camp partition and restore it to a larger or smaller size if you decide to do that. It's very convenient! Winclone is also very affordable donationware.

0 Kudos
KenV
Contributor
Contributor

ShadowProtect sounds somewhat like Time Machine but on the Windows side, I'll have to look into it>

I just found this in the VMWare Converter docs:

-


VMware Converter imports certain StorageCraft ShadowProtect images

Converter can import ShadowProtect images, with some limitations. These limitations include:

  • Dynamic disks are not supported

  • All images for the backup of a machine should be in a single folder, with no other images placed there

  • For volume-based cloning, all volumes in the disk up to the active and system volumes must have been
    backed up (For instance: a disk has four partitions, 1 - 4, with partition 2 as the active volume and
    partition 3 as the system volume. The backup must include 1 through 3)

  • If it is an incremental image, up to 16 incremental backups are supported

  • Images of systems with logical drives are not supported if the default boot (Windows) partition is on a logical drive.

-


I wonder if this implies that the ShadowProtect images can be reconverted to a smaller sized VM? My ShadowProtect image, uncompressed, is about the same size as the amount of data I have on the disk. So, if you make a backup of 100GB of data on a 200GB VM, delete the VM, then Convert to a new space-allocated VM, that might be a way of decreasing the VM size from what it was originally.

Yes, I do have Winclone, and have backed up the Boot Camp drive to an external HD.Now I have to decide whether to bite the bullet and delete my trusted Boot Camp. Smiley Wink

0 Kudos