Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you organize VMware Workstation images? [closed]

Tags:

vmware

I currently use VMware workstation to create separate workspaces for various clients that I do work for. So for a given client I only install software needed for a specific job, and don't have to worry about software A for client #1 mucking up software B for client #2.

With an adequate sized hard drive this works well but I am not sure I am using VMware to its best advantage. The steps I go through when setting up for a new job are:

  1. Do a windows update on a base VMware image that I have saved away.
  2. Make a full clone of the base image and rename for the new job
  3. Launch the new image and configure/install as necessary.

After doing this for a while I now have a collection of VMware images sitting around that are all at different levels of updates unless I manually go into each image and kick off an update cycle. And if there is some new tool that I want in all of my images I have to also go around and do multiple manual installs. But I feel secure in knowing that each image is self contained (albeit taking 10+Gb at a hit) and that if anything happens to a single image then an issue cannot propagate into any other image. (Note that I do do regular backups of all my images)

So my question is am I doing this the best way, or should I consider linked clones so that I only have to do a windows update or common application install on my base system? What are the pro's and con's of each way of organizing things?

In addition, although I try not to keep data files inside the Image's local disks I find that the share to my local hard drive seems very slow compared to the Images file system, hence I tend to leave work inside the image. Should I force myself to not leave data inside the image? Or put another way, how much corruption can a VMware image take before any single file in the images filesystem becomes inaccessible?

Edit

Some thoughts I have had since posting this question

  • With a full clone I can archive old work away and remove it from my primary hard drive
  • Link clones take up a lot less space than a full clone, but I am concerned about archiving a linked clone away somewhere else.
  • The time taken to make a full clone is not too significant (5-10 mins) and I am generally doing it on a weekly basis.
  • However I also tend to do a lot of "Lets see what happens with a clean install", especially when I am documenting how to install applications for the client.
  • I have found that my VMware images cause a lot of fragmentation on my hard drive, so I also end up doing a lot more defrag that before I used VMware. I am not sure if using linked clones would reduce this.
like image 331
Peter M Avatar asked Oct 28 '08 15:10

Peter M


2 Answers

I'd stick with your current system. In this situation, having isolated images gives you a lot more flexibility. It might cost you some more time doing updates and installs, but it will be worth it. And that's mostly stuff that you can have going in the background while you do other things, so if you manage your time well the time spent on that should be negligible.

Also, it's probably a good idea to keep your images on their own disk or at least on their own partition. If you do that it shouldn't have any effect on fragmentation on the rest of your system.

like image 172
Gerald Avatar answered Oct 02 '22 19:10

Gerald


This is really going to depend on what kind of and how many projects and clients you have. Building a new VM for every client doesn't scale well if you have dozens of clients, since you'll have to be keeping them all up to date.

I'd be wary of keeping files spread between the host and VMs as you mention though. It's better to keep all your dependencies in one place.

I'm interested to see others' VM strategies here too.

like image 41
BQ. Avatar answered Oct 02 '22 21:10

BQ.