Monday, February 15, 2010

Exchange 2010 Backup Product Support Matrix

Well, the #1 recent article here is my Exchange 2007 and Exchange 2010 Backup how to. The reason, of course, is that Exchange 2010 has been out since November 2009 and select few have yet announced or released Exchange 2010 support, and many companies are still trying to find how to backup Exchange 2010 in their production environment.


While I have not used many of these yet, I am hoping to try to demonstrate them all and update this post as new information comes. However, if you have made a significant investment in any of the below (or others, email me!) and are waiting for support, the best thing you can do is ask your vendor. The more input received, the more important you are making it for them!


Here is a chart of my findings thus far:

Vendor

Product

Exchange 2010 Support

Release Date

Version

Commvault

Commvault

Non-DAG in 8.0, DAG in 9.0

9.0 - 2nd 1/2 of 2010

8/9

Symantec

NetBackup

Yes

2/4/2010

7.0

Symantec

Backup Exec 2010

Yes

2/4/2010

2010

CA

Arcserve

Expected

Unknown


v14

EMC

Networker

Expected

May/June 2010


EMC

DataDomain

Unknown

?


EMC

Avamar

Expected

Q2 2010


i365

eVault

Expected

Q2 2010


Microsoft

Data Protection Manager 2010

Expected

?

2010

Microsoft

Windows Server Backup

Yes

11/09/2009

Windows 2008


By the way, if you know of ANY updates, feel free to comment, or email me directly at me@chrislehr.com. If I said Unknown above it's more likely that your web site didn't make this information readily accessible. If I receive emails from the appropriate domain names, I will post it as official, more so if you can provide a link!

Labels: , ,

Tuesday, November 24, 2009

Exchange 2010 High Availability and Disaster Recovery Video

Made this video for Simpler-Webb regarding Exchange 2010 Database Availability Groups and the differences between Exchange 2007 HA/DR planning and Exchange 2010 HA/DR planning - it's a little goofy and embarrassing, but have at it!

Labels: , , ,

Wednesday, October 28, 2009

Exchange 2010 - Recovery Scenario #2 - Recover from a DAG member loss

In this scenario, I have a 3 three server DAG, and I use Windows Server backup to backup my Exchange 2010 Active database. On the server with the active copy, I hit the virtual power button. The Exchange services fail over to another server in the DAG right away.


The Microsoft documentation:

Recover a DAG member Exchange Server


Remove the copy of the Database in a DAG:



This will warn that it cannot communicate with the server. That is expected.


Then, you can remove the server from the DAG:





Reinstall Windows 2008 R2 from DVD (remember, DAG requires Enterprise!)

Reset computer account in Domain (Right click Reset in AD Users and Computers)

Name and IP the server, confirm the date/time is correct (since in a DAG, I also needed to IP my DAG network)

Install Exchange Pre-Requisites

Install Exchange 2010 using:

setup /m:recoverserver




If you skipped the DAG removal steps above, setup will fail with:



Once setup succeeds, you need to reboot the server (at this point, I would also patch as needed - at the time of this writing 2008 R2 and Exchange 2010 RC have no additional patches)


Since I have a DAG, I am able to re-add it to the database availability group and allow the database to reseed. If you were in a single server environment, this is where your backup would come into play. This might be scenario #3


Add the recovered server back to the DAG


Add a mailbox database copy to the recovered server.


Assuming you have a real DAG and you might have 300GB of data to re-seed by adding a copy, this is where the Windows Server Backup may play part. You may be able to restore the Exchange data to an alternate location, and before you add the database copy, move the restored EDB to the folder path for the database. This would allow you to skip time consuming reseeding, as long as your restored EDB was the most recent backup taken of the database.


Optionally, you can activate the database on the recovered server as well.

Labels: , , ,

Tuesday, October 27, 2009

Exchange 2010 - Recovery Scenario #1 - Mailbox or items

In this post I wrote about how you can now backup Exchange 2007 SP2 and Exchange 2010 mailbox databases with Windows Server backup.

Since them, word of Exchange 2010's release has come, and with that, the question of "when will my backup vendor provide updates that are compatible with Exchange 2010" and "what can I do in the meantime"

One of the easiest solutions is using Windows Server backup, and then allow your existing backups to do file level backups of that data. The question once this is in place, of course is how do I recover from that?


So I intend to cover three scenarios:

  1. Single Item or Mailbox recovery - accidental delete, assuming you passed or misconfigured deleted item and deleted mailbox retention.
  2. Loss of a DAG member - How to recover from losing a single member of a DAG.
  3. Entire Server recovery - Building/site failure, need to return to service and restore data from backups. (this will be single server from backup)

Additionally, I am using a database that is in a DAG for this, but am writing it as if it was standalone, as the #2 and #3 scenarios would be addressed by the Database Availability Group.

So, on to scenario #1 - I have disabled my mailbox in the EMC, and run the below powershell to force the database clean:

Clean-MailboxDatabase geodb1

Now I see my mailbox under "Disconnected Mailbox" in a normal scenario, this is what Exchange 2003 and up has offered, where I could right click my mailbox and choose to re-connect it to my user account:



Of course, I want to go to backups so I reset my database to have a 0 day deleted item mailbox retention and refreshed this screen and my mailbox was no more!



Do note, the settings in the above screenshot are NOT recommended. Default is 30 days, and I recommend leaving it there or higher!

Next, we must recover the data "to an alternate location" using Windows Server Backup
Choose your Backup Date, then your recovery type should be "Applications"

Choose Exchange:

(I included the show details, which is the store GUID)

I chose here to recover to another location (Note: c:\RDB1 is NOT where my RDB's EDB/logs/anything are)

Do note that "this option will copy just the application data" - there are additional steps after this!

Finally, launch the recovery.

Once completed, you will have the file structure of the database in the path specified:

Now that we have our data files, the recovery is similar to Exchange 2007 SCR's database portability.

Run ESEUTIL /R from the log file directory

Then we can run:
Eseutil /mh geodb1.edb

And determine the DB is healthy:

Next few steps edited on 11/3/2009 for missing content:

Now we can create our new Recovery mailbox database using:
new-MailboxDatabase -Recovery -Name rdb1 -Server exch2010 -EDBFilePath "c:\rdb1\rdb1.edb" -LogFolderPath "c:\rdb1\"

Then we need to allow Restores:
Set-MailboxDatabase -AllowFileRestore:True

Copy the EDB file to the path EDBFilePath of the RDB1 Database, renamed it appropriately, and then it should mount successfully (NOTE: Logs didn't need to be copied since ESEUTIL /R replayed them into the EDB, however if you do copy them into place, Exchange will see they are replayed and move on)

Once mounted, we can use

get-MailboxStatistics -database rdb1

to see that the data is there:>

Now, in the Exchange documentation, it states that:

Restore-Mailbox -Identity chris -RecoveryDatabase rdb1

would recover the data into the mailbox. The problem is, we don't have a mailbox with that GUID any more. If I re-enable a new mailbox for chris, he will get a new mailbox GUID.

Enable-Mailbox chris
Restore-Mailbox chris -RecoveryDatabase rdb1

I get:

This makes sense, it cannot match GUID's and stops - more on this in a second.

However, you are able to run a recovery operation (similar to Export-Mailbox in Exchange 2007)

Restore-Mailbox -RecoveryMailbox chris -Identity chris -RecoveryDatabase rdb1 -TargetFolder "Recovery"

And the results, all of the content in a subfolder named "Recovery"



I attempted a few other things to see if I could restore directly into the mailbox, but was not able to find any luck.

Important to note - if I was recovering for a user that missed their deleted item retention time, I can use the restore-mailbox to specify by subject, dates, folders and more. Because I mail disabled the user, I am not able to restore directly.

Labels: , , ,

Exchange 2010 Standard to support High Availability DAGs

From the Unified Communications blog, there is this post on 2010 licensing.


From there:
"On the server side, Exchange Server Standard will now support high availability, so all customers can take full advantage of the new database availability group capabilities. Exchange Server Enterprise enables configurations with up to 100 databases per server."

Still looking for some documentation on the maximum number of databases in a DAG that Standard edition will support, but my presumption is 5 (Similar to the 2007 Standard limitation on DB's)

Update: Scott Schnoll has confirmed this is accurate. Exchange 2010 Standard can have up to 5 DAG databases!

This is HUGE news for small customers wanting HA (the difference between $550 per Exchange Standard and $3200 for Enterprise) - for a 3 server DAG, that's $8k in licensing savings on Exchange ALONE.

Awesome news for small businesses wanting HA and DR for Exchange!

Labels: , , ,

Wednesday, October 21, 2009

Exchange 2010 - Database Availability Groups - Part 2

In Part 1 of my DAG coverage, I gave some generic design considerations, and the how to configure a 2 server DAG. In part 2, I will cover adding an additional DAG copy of a database.

Before you begin, you need to rapidly deploy your OS and pre-requisites, and then you can deploy an additional DAG copy, with a few mouse clicks!

First, add your new server to the DAG group:
then, add the server we are adding to the DAG:

Then, add a database copy in the database management section of Organization Management:



And after some time seeding:

Now, let's test that UK server! First, I used OWA to send myself a recent email.

Then activate the EU server:

Choosing a lossless activation:

Now, this being a different AD site, I saw this:


Which was very concerning at first, but after some time (I have my VM's scaled down quite a bit) it synced up:


Confirming via the OWA CAS on EXCH2010EU, my latest email was intact:

That's it. We seeded, and failed to the UK site. Now we can seed back to the main server:

I performed another lossless activation, and it worked perfect:


And before I end part two, let's try and BREAK it � here I am hitting the hard power button on the activated DB server for geodb1.


After re-attaching RDP to the next server, and refreshing the view:


The local server mounted, and the UK site is healthy still. OK, let's plug in the power cord I "tripped" over and see how things go.
Few seconds after boot up:

At which point we can choose to move it back, or let Exchange manage it autonomously.

Labels: , , ,

Tuesday, October 13, 2009

Exchange 2010 - Database Availability Groups - Part 1

This is part one of a two part series on Database Availability Groups, which is the Exchange 2010 High Availability and Disaster Recovery technology.


DAGs are similar to Exchange 2007's SCR and CCR technologies, but mixed together, along with a few key benefits like:


Incremental Deployments - You can start with a single server environment and add hardware later to phase in a DR plan or additional high availability. However, you would need to deploy Exchange 2010 on Windows 2008 R2 Enterprise as DAG's require the Failover Clustering role. In a lab, I wouldn't mind an in place Standard to Enterprise in place upgrade, but your opinion may differ on such an upgrade on a server containing production data.


Automated Cluster Management - In Exchange 2007, CCR Cluster management needed to be pre-configured on server nodes, and there was additional complexity and confusion on what tasks you performed in Cluster Administrator, and which in Exchange Management Console or Shell. In Exchange 2010, this is ALL performed from native Exchange tools, and most can be done from a GUI.


Combined HA and DR plan - In Exchange 2007 CCR was the High Availability solution, while SCR was the Disaster Recovery solution. In order to effectively get both, deploying both was required. There was a combined solution known as "Stretched CCR" where a node would be in a different physical site, but this was fairly complicated and had high bandwidth requirements.


Lower Bandwidth requirements - In Exchange 2007, SCR used SMB (Server Message Block) for transaction log shipping. SMB is well known as being a "fat" network protocol. In Exchange 2010, Exchange Administrators can choose a single TCP port (configurable) for direct TCP connectivity for log shipping.


Less Powershell - If you checked out the Exchange 2007 SCR article I recently published, you see there is a LOT of PowerShell, which is why I wrote the article - there are a lot of steps and places for confusion, mistyping, and mistakes. And in the event of a diaster, that can be pretty harrowing. The Exchange 2010 DAG process, while of course is able to be managed from PowerShell, is not a requirement. Most of the screenshots I will post you will see are done in the GUI.


There is a LOT to be learned about scaling and planning DAG's, and I am leaving this to Microsoft for now. Below are some valuable links on DAGs, DAG planning, and planning disks for your member servers in a DAG.

Planning for High Availability and Site Resilience - the requirements here is pretty much required reading if you are considering implementing Database Availability Groups in your environment.
Mailbox Server Storage Design Recommendations - at the time of this posting, this was marked as "in tech review" - about 1/2 way down you can tell the article is talking about Exchange 2007 more than 2010. There also is still not an Exchange 2010 storage calculator, this will hopefully come soon.
Deploying High Availability and Site Resilience - much of this How to is based on information here.

First off, my environment - Exchange 2010 is ONLY 64 bit, so of course, that is the architecture in play here.

Server

OS

LAN Network

Replication Network

EXCH2010

Windows 2008 R2 Enterprise

192.168.201.62

10.1.1.62

EXCH2010DR

Windows 2008 R2 Enterprise

192.168.201.63

10.1.1.63


Currently, there is one database on EXCH2010 named geodb1 - it contains a single user mailbox. As you can see, I configured this database with non-default paths. While using the default path is fine, if and when you need to specify a path in PowerShell ever, it's easier if its not 50 characters of path to type.



Whatever server is the witness needs to be a member of the Exchange Servers domain group, or you will receive an error message. If you are using a domain controller as your FSW, you need to read this article by Devin Ganger. the DC's computer account to be a member of the Exchange Trusted Subsystem group, and your Exchange Trusted Subsystem group must be a member of your domain's BUILTIN\Administrators group. Thanks to Tom Pacyk for this information! If you receive the warning "Insufficient permissions to access file shares on witness server" please review Tom's article.



Once we create the DAG, we can now add servers to the DAG.


Adding both servers is as simple as right clicking the DAG and choosing "Manage Database Availability Group membership." This process may take a while depending on hardware, as during this step is when Failover Clustering is installed and configured on both servers.


This process also created the DAG networks for me, and now my DAG screen looks like this:



I do not want replication enabled on the 192.168.201.x network, I want it explicitly on the 10.1.1.x network, so I disabled replication for DAGNetwork01, and also told the DAG to ignore the network using Powershell:

Set-DatabaseAvailablityGroupNetwork -Identity GEODAG\DAGNetwork01 -IgnoreNetwork:$true -ReplicationEnabled:$false

Now we can add a database to our DAG!

Then right click the database you want a copy of and choose "Add Mailbox Database copy" and choose the server you want to add a copy on.





This will complete, And then you can see the database re-synchronizing, and then come Healthy:




Here, I decided to reboot the EXCH2010, and refreshed the EMC console on EXCH2010DR:



We can see that EXCH2010 failed, and EXCH2010DR now has my data. I logged into OWA and confirmed.

When EXCH2010 came back up, I waited and refreshed again:



Healthy! Very neat.

At this point, we can manage where the data is with the right click context menu on DB copies:



Choosing which, we have several options:



In an "available" scenario Lossless is the best choice.



We can see the status flip and copy queue stack in the other's favor.

In part two of this, I will add a third Exchange server at a DR location to add some DR planning and also show how this affects DAG network planning. In addition, I will hopefully dig in to more failure scenarios and how to address them. Keep in mind, like I said - this is a pretty basic DAG implementation, and no real planning of physical architecture lying underneath it.

Continue Part Two

Labels: , , ,