Use of SYSPREP to duplicate windows image with new SIDs

From past some time I am trying to create windows domain in home computer with bunch of VMs using Windows Server 2008 R2 for “educational” purposes Open-mouthed smile … my ultimate goal was to setup clustered windows system and have SQL Server in that environment. I want to lean about how SQL Server behaves in clustered systems and what are ups ‘n downs of any clustered system … like OS updates, SQL Server updates, SSIS – SSRS behavior in failover, system crashes etc … I mean you can always lean by reading but I think it gives better idea when you can actually test those theories on some kind of test system Nerd smile

So, by following few blogs, MSDN helps and forums … I was finally able to install and configure everything properly … I had working domain too … but when you try to setup windows cluster, it is recommended by MSFT to validate cluster before setting it up. Which basically runs bunch of tests like check all nodes, their hardware, their compatibility, storage system, network settings etc … and if any test fails then you have to fix that issue before setting up cluster. And if you are not too savvy about these items then it is really painful experience.

So when I tried to run this test .. it failed at one particular point where it validates system configuration. Unfortunately I don’t have screenshot of this error so I can’t show detailed message but it had something to do with system settings. I tried to look for this error and I was not able to find any definitive answer until I found an answer in stackoverflow which mentioned that it could be because of SIDs !

If you are using virtual machines which are just a simple copy of existing virtual machine image then in all likely hood they will have same SIDs (Security Identifiers … read definition on Wikipedia). And that could be an issue if you want to setup a cluster using same machines ! So to avoid the only option you have is to use SysPrep to create an image of existing OS and use that image to setup any new OS installation. (It appears that there used to be a tool to change SIDs, but in it’s all great wisdom MSFT decided to discontinue it… just like many other great tools … but it’s different conversation Open-mouthed smile)

Ok … enough babbling about my experience. It is actually very simple to use SysPrep. First setup a virtual machine that you want to use as a base image for all other VMs in future. Located sysprep.exe at C:\Windows\System32\Sysprep. Start exe and you should see a very simple form which has only three options … “System Cleanup Action” , “Generalize” and “Shutdown Options”. Since we want to use this image to create new system, select “Enter System Out-Of-Box Experience(OOBE)check “Generalize” check box and select “Shutdown” in Shutdown options. Once that is done, machine will shutdown … and save this whole virtual machine to be used as a base machine.

Sysprep Sysprep2

As a side note, once I did that and used those VMs to re-setup domain … I was able to create 2 node active-passive cluster without any issue … yayy … Party smile … But I guess, I will post that “How To” some other time because I think it will take more than one post … because honestly, I really had hard time finding steps about setting up whole thing … and none of posts had everything from beginning to end (from creating VM … to setting up domain …. to setting up network … to setting up shared storage for Cluster … to setting/configuring clusters). So I wanted to combine everything and create a series of posts to I can (and others too) can see them at one place.

That’s it for now ….

It’s Just A Thought … Peace

Gaurang Sign

Leave a Reply

Your email address will not be published. Required fields are marked *