Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News
SYS-CON.TV

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
Safely Cloning Virtualized Domain Controllers with Windows Server 2012
VM-Generation-ID and New Config Files provide ability to rapidly deploy Active Directory

When virtualizing Active Directory Domain Controllers in the past, we've needed to be very careful that we don't invoke any steps, such as applying an old snapshot, that could possibly cause USN rollback to occur in the state of a Domain Controller's replica of the AD database and risk AD corruption.  Beginning with Windows Server 2012, we've incorporated a new VM-Generation-ID unique identifier as an additional attribute of a Domain Controller's AD computer object as well as the VM container that is running the virtualized DC instance.  When a virtualized DC starts up, Windows Server 2012 checks for a match between the VM-Generation-ID recorded on the VM instance and the VM-Generation-ID recorded on the DC's computer object in AD.  If there's a mismatch, Windows Server knows that a possible virtualization snapshot or imaging event has occurred and it dumps the current RID pool and USN for fresh information to protect the state of AD.

NOTE: The VM-Generation-ID attribute must be supported by the underlying Hypervisor being using to virtualize a Domain Controller instance for the scenarios in this article to be functional.  VM-Generation-ID support is included with Hyper-V v3 in Windows Server 2012, and we're also working with VMware and Citrix to help them provide this support in future versions of their Hypervisors.

CAUTION: Improperly cloning domain controllers in a production environment can result in issues that are difficult to resolve.  I recommend that you test the below steps in an isolated lab environment to make sure that you are comfortable with the process and expected results before attempting to perform these steps in a production environment.

This is pretty cool stuff to protect our Active Directories, but how does this tie into Cloning a Domain Controller?

When attempting to clone a virtualized Domain Controller, the same mismatch in VM-Generation-ID described above will occur.  We can use this as an opportunity to supply additional instructions to the new cloned copy of a Windows Server 2012 DC so that, when it first starts up, it configures itself as an additional Domain Controller in the same Active Directory forest and domain, rather than merely starting up as a raw copy of the original DC.

Why would I want to Clone a Domain Controller?

In large Active Directories, the process of adding a replica domain controller via DCPromo or Server Manager can take a considerably long period of time, due to the need for replicating the entire AD domain database (DIT) to the new Domain Controller.  The newly introduced safe cloning process in Windows Server 2012 can speed this process dramatically when using virtualized Domain Controllers by allowing an IT Pro to safely clone an already replicated Domain Controller to a new virtualized instance.  This can save provisioning time as well as save a great deal of time when recovering from certain disaster scenarios.

Important! Note that you cannot clone the Domain Controller that is running the Primary Domain Controller (PDC) FSMO role - As a best practice, I recommend setting up your first two Domain Controllers as you would normally do for any AD installation and distribute your FSMO roles between them.  Then, setup a third virtualized Domain Controller with no FSMO roles that you will use as the source DC for the cloning process.

Cool!  How do I Clone a Domain Controller with Windows Server 2012?

  1. Ensure that you are using a Hypervisor that supports the new VM-Generation-ID functionality, as described in my note above.
  2. Authorize the original source Domain Controller to be used as the source for cloning by adding it's computer object into the new "Cloneable Domain Controllers" Active Directory group
  3. Confirm clone compatibility with the services running on the original source Domain Controller by running the following PowerShell commmand:

    Get-ADDCCloningExcludedApplicationList

    Review the list of returned services and installed programs with your software vendors to determine if any of these software components will be affected by a change in computer name or computer SID.  You must remove incompatible software from the original source DC prior to cloning, or the process will fail.  For the remaining software, if it is compatible with the cloning process, run the following PowerShell command to update the compatible list of programs to include this additional software:

    Get-ADDCCloningExcludedApplicationList -GenerateXml
  4. Configure the original source Domain Controller with the instructions for configuring the new clone DC by running the below PowerShell command.  This command will record these settings in a file named DCCloneConfig.xml in the NTDS DIT folder ( C:\Windows\NTDS, by default ).  You can find a sample of this file located on your original source Windows Server 2012 domain controller at C:\Windows\System32\SampleDCCloneConfig.xml.

    New-ADDCCloneConfigFile
    -CloneComputerName "Name_of_New_DC"
    -SiteName "Name_of_AD_Site"
    -Static -IPv4Address "IP_Address_of_New_DC"
    -IPv4SubnetMask "Subnet_Mask_for_New_DC"
    -IPv4DefaultGateway "Gateway_For_New_DC"
    -IPv4DNSResolver "IP_Address_of_DNS_Server"
    -PreferredWINSServer "IP_Address_of_WINS_Server"

    For example, the command syntax for the configuration of a new DC named "VirtualDC2" in AD Site "ADSite01" with an IP address of "10.0.1.2" might look like:

    New-ADDCCloneConfigFile
    -CloneComputerName "VirtualDC2"
    -SiteName "ADSite01"
    -Static -IPv4Address "10.0.1.2"
    -IPv4SubnetMask "255.255.255.0"
    -IPv4DefaultGateway "10.0.1.1"
    -IPv4DNSResolver "10.0.0.2"
    -PreferredWINSServer "10.0.0.3"
  5. Shutdown the virtual machine of the original source Domain Controller to prepare it for cloning.  On Hyper-V v3, you can use the following PowerShell command to perform this task:

    Stop-VM  -Name "VirtualDC1" - ComputerName "HyperV1"
  6. Export the virtual machine of the original source Domain Controller to a folder.  On Hyper-V v3, you can use the following PowerShell command to perform this task:

    Export-VM -Name "VirtualDC1" - ComputerName "HyperV1" -Path "D:\VMExport"
  7. Copy the folder contents to a new Hyper-V host server where you will import the D:\VMExport folder to a new cloned VM.  Using your file copy tool of choice - I recommend ROBOCOPY which is included with Windows Server 2012.
  8. Import the VM on the new Hyper-V host and create a new VM-Generation-ID for the newly cloned VM copy:

    $vm = Import-VM -Path "D:\VMExport\VirtualDC1\Virtual Machines" -Copy -GenerateNewId

    NOTE:
    If Importing the VM to the same Hyper-V host as the original source Domain Controller or importing the same exported VM multiple times, you'll also need to specify new unique folder locations for each imported VM using the following command-line switches on the Import-VM command:

    -VhdDestinationPath
    -SnapshotFilePath
    -SmartPagingFilePath
    -VirtualMachinePath
  9. Rename the newly cloned copy of the VM

    Rename-VM -VM $vm -New-Name "VirtualDC2"
  10. Delete any VM snapshots that may have been present in the original source VM prior to exporting

    Get-VMSnapshot -VMName "VirtualDC2" | Remove-VMSnapshot -IncludeAllChildSnapshots
  11. Start your original source Domain Controller VM and your newly cloned Domain Controller VM.  As part of the initial startup process, your newly cloned Domain Controller VM will process the instructions recorded in the DCCloneConfig.xml file to configure itself with a new computername and new IP Address information.

Want to Learn More About Windows Server 2012?

Join the Windows Server 2012 "Early Experts" Challenge at http://aka.ms/earlyexpert to learn more about Windows Server 2012 and begin preparing for the new Windows Server 2012 certification exams.

HTH,

Keith

 

About Keith Mayer
Keith Mayer is a Technical Evangelist at Microsoft focused on Windows Infrastructure, Data Center Virtualization, Systems Management and Private Cloud. Keith has over 17 years of experience as a technical leader of complex IT projects, in diverse roles, such as Network Engineer, IT Manager, Technical Instructor and Consultant. He has consulted and trained thousands of IT professionals worldwide on the design and implementation of enterprise technology solutions.

Keith is currently certified on several Microsoft technologies, including System Center, Hyper-V, Windows, Windows Server, SharePoint and Exchange. He also holds other industry certifications from IBM, Cisco, Citrix, HP, CheckPoint, CompTIA and Interwoven.

Keith is the author of the IT Pros ROCK! Blog on Microsoft TechNet, voted as one of the Top 50 "Must Read" IT Blogs.

Keith also manages the Windows Server 2012 "Early Experts" Challenge - a FREE online study group for IT Pros interested in studying and preparing for certification on Windows Server 2012. Join us and become the next "Early Expert"!

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest AJAXWorld RIA Stories
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicat...
In his session at 21st Cloud Expo, Raju Shreewastava, founder of Big Data Trunk, provided a fun and simple way to introduce Machine Leaning to anyone and everyone. He solved a machine learning problem and demonstrated an easy way to be able to do machine learning without even cod...
The question before companies today is not whether to become intelligent, it’s a question of how and how fast. The key is to adopt and deploy an intelligent application strategy while simultaneously preparing to scale that intelligence. In her session at 21st Cloud Expo, Sangeeta...
Bert Loomis was a visionary. This general session will highlight how Bert Loomis and people like him inspire us to build great things with small inventions. In their general session at 19th Cloud Expo, Harold Hannon, Architect at IBM Bluemix, and Michael O'Neill, Strategic Busin...
DX World EXPO, LLC, a Lighthouse Point, Florida-based startup trade show producer and the creator of "DXWorldEXPO® - Digital Transformation Conference & Expo" has announced its executive management team. The team is headed by Levent Selamoglu, who has been named CEO. "Now is the ...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE