Few months ago we did a bakeoff between Vmware VDI and Citrix Xendesktop solution.
Few things that are worth a mention for differences between these:
1. Citrix ICA protocol for remote desktop connectivity is better with multimedia apps than RDP 5.x.
2. Both RDP and ICA are bandwidth hogs, ICA might be slightly better over low latency link. Average bandwidth usage over WAN without any policing/acceleration technology was 300kbps with both ICA and RDP.
3. Citrix Presentation server has a great option of saving the disk space for multiple cloned desktops and also upgrading/patching only one master image and refreshing all desktops from it.
4. Citrix Access gateway for secure connectivity from outside seems like a separate purchase.(didn’t test it)
We didn't go ahead with the whole project at that time.
Now Vmware has announced availability for VMware view that addresses point # 1,3 and 4 above. We are currently doing a bake off of vmware view and I will soon post how it went.
Here you will find few tips and tricks I picked along the way and some how tos in the world of Storage, Unix/Linux, Networking/Security and Virtualization technologies.
Showing posts with label vmware. Show all posts
Showing posts with label vmware. Show all posts
Monday, January 12, 2009
Tuesday, April 8, 2008
Host vs Guest Memory in VMware esx server
After watching a video for high level concepts of memory management for guests, this is a summary of what I understood:
Host memory shows the total memory assigned to that guest by the host.
Guest memory means what host sees as active memory usage on the guest, this might differ from what you see from guest’s point of view. And that’s OK.
Now why do they differ and is it okay if Host memory is much higher than guest memory?
In a traditional model where there is no virtualization, Operating system get the memory directly from underlying hardware and manages the used and free memory by itself.
In a Virtualized model, OS assumes that traditional model for memory and thus doesn’t(or should I say can’t) inform the Virtualization layer about the free memory. For example, if you assign 1G to a guest and at some point guest uses, say, 800M of the memory and after some time frees say 600M of the memory. So guest is using 200M but virtualization layer is not aware of this memory being free on the guest.
Now how does host know how to free memory? This is achieved by memory balooning. Baloon driver is part of the vmware tools and it keeps marking or pinning the free memory on the guest OS and informs the host about it.
There are other ways for host to find out about free memory and it can do swapping for guest too. But host is not very eager all the time to get the exact free memory stats from the guest to free up that memory. Only when the free memory on guest OS falls below a certain threshold, ballooning or swapping is done and host frees up that memory. This is the reason lots of time host memory is higher than guest memory. And its normal if you see that.
Host memory shows the total memory assigned to that guest by the host.
Guest memory means what host sees as active memory usage on the guest, this might differ from what you see from guest’s point of view. And that’s OK.
Now why do they differ and is it okay if Host memory is much higher than guest memory?
In a traditional model where there is no virtualization, Operating system get the memory directly from underlying hardware and manages the used and free memory by itself.
In a Virtualized model, OS assumes that traditional model for memory and thus doesn’t(or should I say can’t) inform the Virtualization layer about the free memory. For example, if you assign 1G to a guest and at some point guest uses, say, 800M of the memory and after some time frees say 600M of the memory. So guest is using 200M but virtualization layer is not aware of this memory being free on the guest.
Now how does host know how to free memory? This is achieved by memory balooning. Baloon driver is part of the vmware tools and it keeps marking or pinning the free memory on the guest OS and informs the host about it.
There are other ways for host to find out about free memory and it can do swapping for guest too. But host is not very eager all the time to get the exact free memory stats from the guest to free up that memory. Only when the free memory on guest OS falls below a certain threshold, ballooning or swapping is done and host frees up that memory. This is the reason lots of time host memory is higher than guest memory. And its normal if you see that.
Labels:
esx memory management,
guest memory,
host memory,
vmware
Wednesday, February 20, 2008
Intalling VMware tools in linux when guest CD doesn't mount
Incase you can't get the VMware tools install mounted as cdrom using the Virtual Center GUI, there is a easy workaround you can use.
From the guest virtual machine, sftp to the ESX server host and for default install paths go to /vmimages/tools-isoimages.
Get linux.iso from here and quit from sftp.
On the guest linux, su and then create a tmp folder(or whatever you want to call it).
mkdir tmp
Mount the iso by using the following command:
mount -o loop linux.iso tmp
then you can "cd tmp"
Run the rpm installer from here and for other linux, copy the .gz file to your home folder.
From their you should be able to install the vmware tools.
From the guest virtual machine, sftp to the ESX server host and for default install paths go to /vmimages/tools-isoimages.
Get linux.iso from here and quit from sftp.
On the guest linux, su and then create a tmp folder(or whatever you want to call it).
mkdir tmp
Mount the iso by using the following command:
mount -o loop linux.iso tmp
then you can "cd tmp"
Run the rpm installer from here and for other linux, copy the .gz file to your home folder.
From their you should be able to install the vmware tools.
Friday, February 15, 2008
Extend the windows disk under VMware
Few of the earlier windows installations we did with 5G or 10G OS partition started filling up and we constantly needed to juggle files around to keep it alive.
There is option available though to extend these disks, as long as the disks are basic disks and not dynamic disks(I haven't tried working with dynamic disks yet).
Another thing, there are other methods available to do the same also like using other disk partition software or ny using VMware converter, please evaluate what best suites your needs.
What would you need:
1. Downtime for the virtual machine which needs its disk extended.
2. Another Windows 2003 server virtual machine(on same vmware host or able to see the disk of 1st virtual machine) which you can power off twice.
3. ssh or telnet to the vmware esx host server.
Basically, it requires following steps:
1. Shutdown the virtual machine whose disk has to be extended.
2. Increase the disk size by ssh(or telnet) to vmware server host and using the vmkfstools command.
3. Present the disk to another Windows 2003 virtual machine.
4. Extend the disk in question.
5. Shut down the extending machine, remove the disk from this machine's resources.
6. Boot up your virtual machine in question and you should have an OS drive with more space now.
Please make sure you do a backup of the original file incase something doesn't go as expected.
Lets dive deep into these steps now:
1. Shutdown the Virtual machine in question: You have to schedule downtime for the virtual machine to extend its disk.
2. Login to vmware esx server using ssh(or telnet), whatever you use.
Issue the following command to extend the disk in question:
vmkfstools -X 15g /path/VMtest.vmdk
Replace 15g with whatever the new size you want, 10g, 20g etc.
and /path/VMtest.vmdk with the full path and vmdk file name for that host.
(Should be under /vmfs/volumes/[storage_name]/[Virtual Machine Name]/)
3. Through the virtual center now, Shut down the Windows 2003 server we are going to use to extend the disk in question. Edit settings > Click on Add, then Hard Disk, Next, Use and existing disk, Browse to the disk in question and add this. After this disk shows up the resources(or hardware), boot up this machine.
4. Through the disk manager, you should be able to see this new disk with new unpartitioned disk space. Go to command line and enter diskpart.exe.
On the prompt, type list disks.
Select the disk in question by using select disk 2, for example.
Then type List volumes and it would show you all the volumes. select the volume in question by using select volume 1, for example.
Now type "extend". This would extend the volume.
Disk Manager, should show you the disk now with extended capacity.
5. Now shut down this server, Edit settings again and remove this disk(do not delete)
6. Boot up the original virtual machine now and you should have an extended OS disk now.
There is option available though to extend these disks, as long as the disks are basic disks and not dynamic disks(I haven't tried working with dynamic disks yet).
Another thing, there are other methods available to do the same also like using other disk partition software or ny using VMware converter, please evaluate what best suites your needs.
What would you need:
1. Downtime for the virtual machine which needs its disk extended.
2. Another Windows 2003 server virtual machine(on same vmware host or able to see the disk of 1st virtual machine) which you can power off twice.
3. ssh or telnet to the vmware esx host server.
Basically, it requires following steps:
1. Shutdown the virtual machine whose disk has to be extended.
2. Increase the disk size by ssh(or telnet) to vmware server host and using the vmkfstools command.
3. Present the disk to another Windows 2003 virtual machine.
4. Extend the disk in question.
5. Shut down the extending machine, remove the disk from this machine's resources.
6. Boot up your virtual machine in question and you should have an OS drive with more space now.
Please make sure you do a backup of the original file incase something doesn't go as expected.
Lets dive deep into these steps now:
1. Shutdown the Virtual machine in question: You have to schedule downtime for the virtual machine to extend its disk.
2. Login to vmware esx server using ssh(or telnet), whatever you use.
Issue the following command to extend the disk in question:
vmkfstools -X 15g /path/VMtest.vmdk
Replace 15g with whatever the new size you want, 10g, 20g etc.
and /path/VMtest.vmdk with the full path and vmdk file name for that host.
(Should be under /vmfs/volumes/[storage_name]/[Virtual Machine Name]/)
3. Through the virtual center now, Shut down the Windows 2003 server we are going to use to extend the disk in question. Edit settings > Click on Add, then Hard Disk, Next, Use and existing disk, Browse to the disk in question and add this. After this disk shows up the resources(or hardware), boot up this machine.
4. Through the disk manager, you should be able to see this new disk with new unpartitioned disk space. Go to command line and enter diskpart.exe.
On the prompt, type list disks.
Select the disk in question by using select disk 2, for example.
Then type List volumes and it would show you all the volumes. select the volume in question by using select volume 1, for example.
Now type "extend". This would extend the volume.
Disk Manager, should show you the disk now with extended capacity.
5. Now shut down this server, Edit settings again and remove this disk(do not delete)
6. Boot up the original virtual machine now and you should have an extended OS disk now.
Subscribe to:
Posts (Atom)