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
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
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 Cloud Developer Stories
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 ...
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, an...
SYS-CON Events announced today that Conference Guru has been named “Media Sponsor” of the 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. A valuable conference experience generates new contacts, sales leads, potentia...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily own their code into production, but want to use platforms instead of raw automation. That’s changing the landscape that we understand as DevOps with both architecture concepts (Clo...
In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, led attendees through the exciting evolution of the cloud. He looked at this major disruption from the perspective of technology, business models, and what this means for enter...
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