Thursday, April 2, 2009

How to resize a Windows guest vm boot partition in ESX Part II: manual method

In one of my previous posts I showed how to resize a Windows virtual machine's C: (boot) drive using VMware Converter. In this post I will show how to do it without the Converter, instead utlizing widely available tools and command line.

First I need to putty over to my ESX host and expand the disk here using the vmkfstools utility:

I picked a test machine called VCBTest to perform this procedure on.
The disk expansion takes place immediately:

Once the disk is resized, I need to use a 3rd party utility called gparted to resize the boot partition in Windows. I downloaded gparted from http://gparted.sourceforge.net/download.php
and copied it to my Data Store. I then configured the VCBTest vm to boot from that gparted iso:


gparted iso is based on a Linux distro:


Once gparted boots , I can modify the size of the partition:


After the resize is done, I boot up that vm and when it comes up, the boot drive is properly re-sized to 12 Gb:

How to ThinApp Internet Explorer 8.0

One of my customers was asking if it was possible to ThinApp Internet Explorer 8. He was not ready to roll out IE8 to all his users just now, but wanted to give his users a taste of the new browser, without the risk of interrupting how their systems operate. Currently, all their machines have IE 6 installed on them:

My answer to him was YES - it can be done. I performed the following demonstration to him:

I reverted my thinapp capture WinXP system to the clean state snapshot. Once reverted, I went to microsoft.com and downloaded the IE8 setup to the capture system:

I then started the ThinApp capture and let it do its pre-setup Scan. Once the scan was done, I minimized the ThinApp Capture and kicked off the IE8 install:


Internet Explorer setup went without a hitch. Once it completed, it asked for a reboot... No worries there. ThinApp handles a situation like that without a problem. You just need to let the setup reboot the system. Once the system comes back up, the ThinApp Capture will start automatically and give you the choice to continue:


I asked it to continue the installation process. Once it performed its post-setup scan I told it to make IE8 available to all Domain Users:


Afterwards, it completed the build process and I copied the package (I called it Internet Explorer.exe) to a network location. I asked my test user to run it from their typical desktop (with IE6 only). They could run IE8 without any issues. Also, running IE8 alongside IE6 was without any problems:


The screenshot below demonstrates how IE6 and IE8 are run alongside on the Adobe Flash website. Note: IE8 has Flash installed, and IE6 does not have the Flash plug-in installed:


This further demonstrates application management power and flexibility that comes with ThinApp. 

Wednesday, April 1, 2009

How to resize a Windows guest vm disk in ESX Part I: VMware Converter

A couple of days ago one of my customers asked me if it was possible to increase the size of the C partition on one of his Windows 2003 servers. He did not size that vm's (and a few others, as it turned out) disk large enough and was running out of space.

There are a few ways to resize a Windows vm disk. In this post, I am going to look at how it  is done with VMware Converter. In another post I will tackle a more advanced/challenging method without Converter. Let's take a look:

In order to use the VMware Converter, I would select my vm in the Virtual Center Inventory and choose the "export" option:


Let's try making the disk smaller first:


In this example, I changed the size of the disk from 6 GB to 5 GB.
Upon completion of the Export wizard, the Converter goes off to build the new disk:


Once the new vm is created, I boot it up and the disk reflects the new size:

I can also use Converter to increase the size of my disk:


After the machine is exported, the new disk reflects the bigger size:


NOTE: As readily observable, export/import with decreasing the disk size takes roughly 3 times longer then increasing the size of the disk. The reason being that if you do not change the disk size or increase it, then it does a block level clone of the drive. If you reduce the size of your original disks it instead does a file level clone of the drive (much slower).

Tuesday, March 31, 2009

Intel releases Nehalem

Yesterday Intel unveiled the Xeon 5500 chip, which is the server version of the chip codenamed Nehalem. According to Intel, this new chip will have 9 times the performance of the previous chip. It also includes great virtualization-friendly features such as Quickpath interconnect (supposedly 4 times the memory access bandwidth of the Front Side Bus), 10 GigE NICs on board and new virtualization-specific instruction set.

Does this sound like at least quadrupling the # of VM's one can run on a box?? I think it is an awesome development that will help spread the virtualization revolution. According to Intel, by the end of this year this chip will come with 8 cores. Just for the fun of it... One will be able to build a system with 4 sockets, 8 cores each making a 32-core system. Each core should be able to run 7-10 desktop machines... WOW this would potentially mean awesome consolidation of 300+ desktops on a single piece of hardware. Mind boggling. I think the ROI of VDI is going to get pretty attractive.

Btw - here is a great VMware article on the benefits of Intel Xeon 5500 hardware assist technologies as utilized by ESX: http://www.vmware.com/pdf/Perf_ESX_Intel-EPT-eval.pdf

Monday, March 30, 2009

ThinApp Part I - Introduction / easy app example

VMware ThinApp is a pretty powerful addition to any VDI environment.
With VMware View VDI you can cut down the maintenance costs of your desktop environment pretty drastically, and provide a more manageable solution with many benefits to your business in the long run. However, the question of application delivery itself presents a challenge that VDI itself does not really address.  ThinApp fills that gap by virtualizing applications. In this post I would like to present how ThinApp works. I will also demo delivery of a single application (Adobe Reader). Stay tuned for a follow-up post tackling a more challenging situation.

ThinApp is part of the Premier edition of VMware View (along with Composer). In essence, it allows any application to be virtualized - i.e. delivered and run on any desktop (virtual or physical) without actually being installed. The process of making an application available (ThinApp'd) consists of the following:
  • An administrator prepares the application package ("thinapps" the app) by performing a typical install of an app on a desktop machine (virtual or physical).  In the background, while the application is being installed, the ThinApp process records any changes and additions the app setup makes to the OS.
  • These changes (the recording) are then "packaged" into an executable file. That file contains all the files, settings, registry settings, etc., that the app needs to run.
  • The administrator then places that package (the executable) on the network - somewhere where it can be accessed by the intended users of that application
  • The end user can browse to that executable and launch it. When it is launched, the application streams to the end user's machine, starts up and behaves as if it was actually installed. 
  • However, the application is never installed - it runs in a "virtual bubble" - which eliminates any application conflicts and removes the effort/challenges typically associated with the addition and removal of applications (the application lifecycle). The application can run on any system for any user.
In this demo, I will thinapp Adobe Acrobat Reader 9.1.

I have two WindowsXP virtual machines in my lab. They are both "fresh" - no software has been installed on them other then what typically comes with WinXP. The first machine (Packager) will be used to prepare the thinapp application packages. The second machine will be the end-user computer that the thinapp'ed Acrobat Reader will be delivered to and launched.

Before I can package an application, I need to install ThinApp recording engine. ThinApp itself is tiny - about 10 MB. I created a snapshot on my packager vm before I kicked off the ThinApp install. The install itself is super simple. Just kick it off and supply the license number:


Once ThinApp is installed, I immediately create another snapshot. That new snapshot will be the "base" I will always revert to before packaging (thinapping) an app so that I always have a "clean" OS to build a package on:


I called the "base" snapshot "TA base"

It is important to start with such "clean" image because some application setups will not install files that are already present and thus will not be captured by ThinApp recorder. Once users attempt to stream such app, it will fail because their base OS may not have these files on it.

Now I am ready to package Acrobat Reader. I start the ThinApp recorder:


After hitting Next it scans the vm to record its state before Adobe Reader is installed:

Now I am going to minimize ThinApp and install Acrobat Reader:


The install is now done. I can maximize the ThinApp window and click Next to have it re-scan the vm to detect and record all the changes and additions done by Acrobat setup (One other thing I did before re-scanning is I launched the Reader to accept the Adobe EULA and change Acrobat properties to Never check for Updates - so that the end users are not annoyed by any popups. The changes I made will be recorded as part of the package):


Once the Rescan is complete, I tell ThinApp what executables in the package are to be "launchable":


Now I am ready to tell ThinApp to Build the package (actually, there were three other screens with options I did not include/explain on purpose - they will be covered in another "advanced knowledge" post in the ThinApp series):



I can now launch the packaged Adobe Reader from my test workstation (on which Adobe was never installed) and experience the delivery of a ThinApp'd application. Note that I have a pdf document saved on my desktop. The document type (pdf) is not recognized by the OS and tso the icon is missing:

On that workstation, I am going to execute the following command:
  • c:\thinreg.exe "\\192.168.0.160\ta\Adobe Reader 9.exe"
thinreg is a Command-Line utility that registers the package and any associated file associations. It gets installed with ThinApp. In a production environment, the registration using thinreg.exe would be done as part of a logon script or similar automatic mechanism.

Once I register Adobe Reader, its shortcut appears on the desktop. Also, the pdf file now has the proper icon (registration of the package was successful):


I can now double-click the pdf file (in this example, the VMware View Admin Guide), and it launches right away with Adobe Reader. Above the system tray there is a momentary pop-up informing about the Reader being launched:

It is followed by Adobe Reader launching with the document I double-clicked on:


Now I can use this procedure to make Adobe Reader available to any of my users.

Stay tuned for ThinApp article Part II - more advanced management and applications.