Exchange Server 2013 CU2 Service Templates for Virtual Machine Manager
Welcome to the latest blog post about System Center service templates!
When we asked our field what needed to be developed next, a very common ask was for a service template to deploy Exchange. This blog post is intended to teach you how to use System Center Virtual Machine Manager and a feature named Service Templates to deploy VM's and automatically install Exchange Server 2013 CU2, with minimal post-installation tasks left to complete to configure the unique settings for your environment.
If you are “the Exchange person” and you want to have the ability to easily provision a live environment to validate change management work such as Security Updates, then I have just the solution for you. If you are a hoster and among all the 1,000’s of things you are thinking about, provisioning Exchange for new tenants is one of them, I have a solution for you. If you are a developer and you need to manage a virtual sandbox environment based on Exchange for testing your latest innovation, I have a great solution for you. If you are “on the server team” and your round table discussion on DR uncovered that rebuilding from scratch takes too long, or you want to provision 20 additional HA servers at a departmental scope on VM’s as a “just in case”, do I ever have a solution for you!
… and best of all we are going to use new features of System Center Virtual Machine Manager 2012 R2.
|Blog Series: Table of Contents|
Part 1 – Philosophy/Overview – Define scope and assumptions.
Part 2 - Prerequisites – Document any unique pre-work and link to all downloads that should be ready before getting started.
Part 3 - Setup the Service Templates in VMM and Best Practices – Document the process to setup and configure the service templates in VMM.
Exchange Server 2013 Service Templates for System Center Virtual Machine Manager
Quick Video Demo
I really want to motivate you to complete the walk through, which is not totally simple. Here is a 120 second “TV commercial” style video to explain what results this effort will yield using Single Server Architecture as an example. This gives you an idea of the big picture.
You might notice, I added the option to choose your network on the fly after this was created. To review this and other technical details, check out the full length walk-through at the very bottom of the post.
If you are really serious, read this first!
I mean it. This is a very thorough overview that documents more than I could begin to in a blog post. Virtualization best practices, why and how to use System Center, and much, much more. I highly recommend it. Store it on your Windows Phone device now and read it at your convenience! There are 3 pages of links to more information!
Best Practices for Virtualizing and Managing Exchange 2013
|If this topic is of interest to you also consider:|
Let’s define scope before we get started. This is a case where it becomes tempting to keep adding on. “We can automate it all!” Well yes, you can, but for the sake of sanity I think we should componentize. Let’s start off with the assumption that we already have an environment where we utilize System Center Virtual Machine Manager as a provisioning engine either by itself or together with additional tools. We will define the prerequisite work separately and link to more information where detail is not given. Then walk through each template architecture setup and I will even do a detailed video walk-through for each.
The first question, I know, will be how many users. That is a bit like saying how much wind does it take to push over a building without providing any more detail. You need to know a LOT more information. Hardware, networking, storage, co-location of other VM’s, activity profile of the user, etc, etc. In the end you have to validate your environment. I highly recommend Jeff Mealiffe’s post on Exchange capacity planning and doing more to guestimate performance rather than me making an off-the-cuff blog remark.
Sizing Exchange 2013 Deployments http://blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx
I am including service templates for both “Single Server Architecture” and “Multiple Server Architecture” in the download. As you might expect by their names, SSA is for a single server multi-role design and MSA is a two-tier design with options for scale-out using VMM. It is up to you which design better fits your environment. There is nothing at all wrong with using them together so you might as well load them both.
The second question will be what we are doing special to make Exchange a service template. There is no magic going on here. We are simply staging the prerequisites and the CU2 installation bits then running setup using the documented parameters for unattended installation. There is purposefully no scripting magic at all so it should be very easy for you to make changes according to your goals. Just for reference, here is the command we run to install Exchange in the single server architecture:
setup.exe /mode:Install /OrganizationName:@Organization@ /role:ClientAccess,Mailbox /Iacceptexchangeserverlicenseterms /MDBName:%ComputerName%_Default /DbFilePath: D:\DB\%ComputerName%_Default.edb /LogFolderPath: D:\Logs /UpdatesDir:".\Updates"
You might think of additional customizations. This is your template to customize as you see fit. There is a page on TechNet providing all the unattended parameters and how they are used.
Install Exchange 2013 Using Unattended Mode
Use Case Scenarios
There are many scenarios you could consider for deploying Exchange via service template. Let’s face it, there are only a limited number where you really NEED automation. If you are building 1 server and will probably never build another, then you probably don’t need to automate it. If you are considering this scenario as it relates to deployment of Exchange in a streamlined and repeatable process then a service template is definitely something to consider.
New or existing forests, isolated or not isolated? Answer is all of the above! This is not a result of anything I had to do in the service template itself, it is a KUDOS to the Exchange team for having a great design. Exchange stores information about the Exchange org in Active Directory. If you are provisioning the first server in the forest you have decisions to make, but you don’t have to change the Setup.exe parameters. Same goes for existing forests. Setup will identify the Org and add to it as long as you provide the right name. Building isolated or not is another KUDOS but to the Virtual Machine Manager team. VMM can handle either scenario and will make sure the custom resources you create will be available to the VM even in isolated virtual networks.
At the beginning of the post I listed a few scenarios. To add some additional thinking about why you might use a service template:
- Test labs (aka Sandbox aka Dev/Test) – For Exchange admins, a service template would give you the ability to quickly replicate a functional dev/test environment where you could validate changes before introducing them in to production. This is also perfect for software development projects that integrate with Exchange to test against.
- Disaster Recovery Planning – In the worst of worst scenarios, you might someday need to rebuild your environment from scratch. Having a service template ready would give you the ability to create a new Exchange environment where you could restore from off site backup, even if it is only a temporary solution to get up and running until you can completely restore service.
- High Availability Options – It could be that you already have an Organization but you are thinking about extending a Database Availability Group to include additional standalone servers, potentially offsite, in case the platform where your existing servers are running has an issue.
- Quickly Adding Remote Sites – If you need the ability to provision server nodes across a high number of remote sites, you could automate the installation using service templates.
- Hosting – Whether you are a large enterprise thinking about isolating departments or a service provider, you have a lot to think about. Unattended installation does not a service provider make, but a service template provides one additional step you can include in automating creation of a new tenant.
A similar scenario I can see is the case of a consultant who wants to automate setup so he or she can go from environment to environment and reduce the total amount of clicks and eliminate the chances of human error. For that case, there is a lot to be learned by going through the motion of building a service template but there is a detailed post in the TechNet Gallery that I recommend reading through on scripting an install specifically focused on that scenario.
Exchange 2013 Unattended Installation Script
Michel de Rooij who posted the script has a full step by step walkthrough here:
Exchange 2013 Unattended Installation Script (Updated)
Always read and test a script of course but he covers so many aspects of the process, I would be remiss not to link him up.
Please proceed to the next part in the blog series to setup your prerequisites! Thank you for sticking with the entire walkthrough. I know it is a lengthy post but details count. If you feel lost, I have recorded a full length walk-through. I would recommend you skip to the place where you would like a visual aid. I have included bookmarks to help.