If you’re like me, you still support legacy Windows operating systems from time to time. Let’s face it, Windows Server 2003 was a great server operating system and will probably remain in some environments for quite a while. I won’t at all be surprised if the Windows Server 2003 legacy outlasts that of Windows XP. To that point, even the VCAP5-DCA exam I sat a few weeks ago used Windows Server 2003 guests in the lab.
All of that being said in what is almost the year 2014, hopefully you are not still deploying Windows Server 2003 as a platform to deliver applications and services in a production environment. However, if you are and you’re using VMware vCloud Director 5.5, you should be aware of subtle changes which I noticed while reading through the documentation. Page 31 of the vCloud Director 5.5 Installation and Upgrade Guide to be exact.
In previous versions of vCloud Director including 5.1, Microsoft Sysprep files were placed in a temporary directory within operating system specific folders on the first cloud cell server in the cluster. The next step was to invoke the /opt/vmware/vcloud-director/deploymentPackageCreator/createSysprepPackage.sh script which bundled all of the Sysprep files into a /opt/vmware/vcloud-director/guestcustomization/windows_deployment_package_sysprep.cab file. At this point, Sysprep was installed and configured on the first cell server. It could then optionally be distributed by way of copying the .cab file and the vcloud_sysprep.properties file to the guestcustomization directory of the other cell servers in the cluster. I call this step optional because not all vCloud deployments will have multiple cell servers. If multiple cell servers did exist, you’d likely want all of them to be able to perform guest customization duties for legacy Windows operating systems in the catalog and thus this optional step would be required.
So a few things have changed now in 5.5. First, the Windows operating system specific folder names have changed to match the folder names which vCenter Server has always used historically (see VMware KB 1005593) and on this note, Windows 2000 Server support has been put out to pasture in vCD 5.5.
|Version||pre-vCD 5.5||vCD 5.5|
|Windows Server 2003 (32-bit)||/win2k3||/svr2003|
|Windows Server 2003 (64-bit)||/win2k3_64||/svr2003-64|
|Windows XP (32-bit)||/winxp||/xp|
|Windows XP (64-bit)||/winxp_64||/xp-64|
Next, the method to create the Sysprep package and distribute it to the other cell servers has changed. The createSysprepPackage.sh script no longer exists and as a result, a bundled .cab file is not created. Instead, the Sysprep files are copied in their entirety to their new directory names within the directory /opt/vmware/vcloud-director/guestcustomization/default/windows/sysprep. So what you need to do here is create the directory structure under $VCLOUD_HOME and SCP the Sysprep files to each of the cell servers. I’ve provided the directory creation commands below:
mkdir -p /opt/vmware/vcloud-director/guestcustomization/default/windows/sysprep/svr2003
mkdir -p /opt/vmware/vcloud-director/guestcustomization/default/windows/sysprep/sv42003-64
mkdir -p /opt/vmware/vcloud-director/guestcustomization/default/windows/sysprep/xp
mkdir -p /opt/vmware/vcloud-director/guestcustomization/default/windows/sysprep/xp-64
As the documentation reminds us, the Sysprep files must be readable by the user vcloud.vcloud (this user is created on each cell server during the initial vCloud Director installation) and that can be ensured by running the following command:
chown -R vcloud.vcloud $VCLOUD_HOME/guestcustomization
These installation changes are important to note if you’re deploying a net new vCloud Director 5.5 environment and there is a need for legacy Windows OS vAPP guest customization. A vCloud Director 5.5 upgrade from previous versions will perform the necessary Sysprep migration steps automatically. Lastly, Sysprep won’t be needed in vCloud environments where guest customization isn’t required or legacy versions of Windows aren’t being deployed and customized (Beginning with Windows Vista and Windows Server 2008, Sysprep is bundled within the operating system).