cookieme
Enthusiast
Enthusiast

Poor man's VMware View

I've been looking at VMware View because I'm interested in learning more about desktop virtualisation. It seems that the ideal setup is to use View to create non-persistent desktops and use Thinapp to stream the necessary apps on a per user basis. If I understand the virtual desktop creation process, you start with a base image with a snapshot and then when a user logs in to View, a linked VM is created from the base snapshot. So, basically you only have one VM (the base image) to maintain with regards to Microsoft updates etc.

Now my question and why I've posted in here rather than over in the View community.

I searched here and in the classic ESX 4 communities, but I only found a handful of posts related to linked clones. I also found a ghetto script for linked clones but it only refers to ESXi 3.5+ (http://communities.vmware.com/docs/DOC-9202) and I found a newer version (http://engineering.ucsb.edu/~duonglt/vmware/vGhettoLinkedClone.html). The latter script seems to require vCenter which I don't have, so I guess I can't use either script.

What I'm asking is whether it is possible to create a Windows XP Pro base image and create two non-persistent VMs that are linked to this base, so that I only need to maintain and update the base image. A ghetto VMware View for a small production environment.

Thanks

0 Kudos
13 Replies
cookieme
Enthusiast
Enthusiast

Hi thanks for your reply! I just want to clarify how you did this, so the steps are:

1. Create base image and power off

2. Create a snapshot

3. Create a new virtual machine

4. Use existing vmdk and point to base image vmdk.

5. Repeat 3 and 4 for number of virtual desktops required.

Not sure about which vmdk to point to in the base VM? I re-read your blog post and you state that the new VMs should point to the base vmdk.

If you point to the base vmdk and set it to be non-persistent on the child VMs, then what is the snapshot for?

Can this be used for small production <5 users? Are there any problems with Windows SIDs, network ID conflicts or anything else I need to be aware of?

This is very simple compared to the ghetto scripts does this mean that I'll miss some functionality compared to using the scripts?

Sorry for all my questions. I want to make sure that I understand how this works and that it is a viable solution before I implement it.

Thank you

EDIT: Re-read your blog post and found part of my answer.

0 Kudos
cookieme
Enthusiast
Enthusiast

Hi esloof,

Can you please help me with my questions before I actually implement this in a production environment?

Thanks

0 Kudos
esloof
Expert
Expert

I don't think its supported in production, I only did a few tests with it. But you're right on the steps to take. Just try it out.

0 Kudos
cookieme
Enthusiast
Enthusiast

Hi again. Yeah, I did try it, but I don't understand the purpose of the snapshot on the base image. Also, I ran into an issue with Windows activation. When I power on a second VM using the base vmdk, I get error message shown in the attached picture.

0 Kudos
VMmatty
Virtuoso
Virtuoso

Don't forget about Microsoft licensing for your environment. Microsoft has different licensing procedures for licensing desktop operating systems in virtual machines. You cannot simply re-use your OEM or volume license key in a VM. Instead, you have to purchase Virtual Enterprise Centralized Desktop (VECD), which is a device based subscription license. The cost depends on whether or not you have Software Assurance on your existing Windows licenses.

You can get more information here:

http://www.microsoft.com/windows/enterprise/solutions/virtualization/licensing.aspx

Matt | http://www.thelowercasew.com | @mattliebowitz
0 Kudos
DSTAVERT
Immortal
Immortal

Hi again. Yeah, I did try it, but I don't understand the purpose of the snapshot on the base image.

The snapshot ends up being each users "profile" (the changes from the base image). Your individual XP workstations will be referring to their own snapshot file and each snapshot refers back to the base disk. Each time a workstation reads from the disk it reads both the base disk and the changes that were applied to that base disk - the snapshot. When a workstation writes information to the disk it writes to the snapshot only. A change to a file will in fact be a combination of what is in the base disk and the modifications that are stored in the snapshot. You could edit the same file as stored in the base disk from both workstations since the original file never changes and each workstation stores their own individual changes to that file. The file will be different from the perspective of each workstation.

-- David -- VMware Communities Moderator
0 Kudos
cookieme
Enthusiast
Enthusiast

Ok, thanks for the link. I guess I was a little surprised that I got the error while testing, as the two child vms are identical and both point to the base vmdk, i.e. no hardware changes were made.

0 Kudos
DSTAVERT
Immortal
Immortal

The question "I Copied it" or "I Moved it" determine whether Windows sees a change in hardware. "I copied it" generates a new MAC address, UUID etc. which means "new computer" to Windows.

-- David -- VMware Communities Moderator
0 Kudos
cookieme
Enthusiast
Enthusiast

The question "I Copied it" or "I Moved it" determine whether Windows sees a change in hardware. "I copied it" generates a new MAC address, UUID etc. which means "new computer" to Windows.

Yeah, but this is not a question that I got when i powered on the second VM pointing to the base vmdk. Hence, why I was surprised by the message.

0 Kudos
cookieme
Enthusiast
Enthusiast

I haven't found a solution for my "Poor Man's View", but I think I have a better grasp of how it works after looking at the following link provided by William Lam: http://rodos.haywood.org/2008/12/storage-analysis-of-vmware-view.html

William your vGhettoLinkedClone script (http://engineering.ucsb.edu/~duonglt/vmware/vGhettoLinkedClone.html) seems to use the new APIs in vSphere as documented by VMware in this pdf (http://www.vmware.com/support/developer/vc-sdk/linked_vms_note.pdf), but as I have a standalone ESXi host and no vCenter I cannot use this. Is this correct? Is there a way of using the new APIs without needing vCenter?

If I can't use vGhettoLinkedClone is it possible to use your linked clones script for ESXi ? It hasn't been updated since ESXi 4 was released. Are you planning an update or is it EOL as you have the newer script for vSphere?

Thanks

0 Kudos
cookieme
Enthusiast
Enthusiast

I haven't found a solution for my "Poor Man's View", but I think I have a better grasp of how it works after looking at the following link provided by William Lam: http://rodos.haywood.org/2008/12/storage-analysis-of-vmware-view.html

William your vGhettoLinkedClone script (http://engineering.ucsb.edu/~duonglt/vmware/vGhettoLinkedClone.html) seems to use the new APIs in vSphere as documented by VMware in this pdf (http://www.vmware.com/support/developer/vc-sdk/linked_vms_note.pdf), but as I have a standalone ESXi host and no vCenter I cannot use this. Is this correct? Is there a way of using the new APIs without needing vCenter?

If I can't use vGhettoLinkedClone is it possible to use your linked clones script for ESXi ? It hasn't been updated since ESXi 4 was released. Are you planning an update or is it EOL as you have the newer script for vSphere?

Thanks

Mr. Lam any chance you can have a look at this please and clarify the situation for me? Thanks

0 Kudos
AlbertWT
Virtuoso
Virtuoso

Hi All,

Out of curiosity, if somehow the base image got corrupted or deleted accidentally, what happened to the cloned VM ?

what if somehow the base image got updated (eg. Office 2007 updated into 2010) while one of the user still using it ?

Kind Regards,

AWT

/* Any kind of comment or input would be greatly appreciated */
0 Kudos